天天看點

java進銷存系統--采購入庫

 采購單稽核後,等待供應商送貨到倉庫

貨到倉庫後,進行采購入庫操作

1.采購入庫

java進銷存系統--采購入庫
@RequestMapping("/inbound")
    @ResponseBody
    public ResponseData inbound(@RequestParam("id") long id,
                                      @RequestParam("num") BigDecimal num

    ) {

         PmsOrderPurchaseDetail pmsOrderPurchaseDetail=pmsOrderPurchaseDetailService.getById(id);
         if (pmsOrderPurchaseDetail==null)
         {
             return ResponseData.error("查詢不到明細");
         }
         if (num.compareTo(new BigDecimal(0))<=0)
         {
             return ResponseData.error("入庫數量不能小于0");
         }
         BigDecimal curNum=pmsOrderPurchaseDetail.getRealityNum().add(num);
         if (curNum.compareTo(pmsOrderPurchaseDetail.getPlanNum())==1)
         {
             return ResponseData.error("入庫數量不能大于計劃數量");
         }

        pmsOrderPurchaseDetail.setRealityNum(num);
        pmsOrderPurchaseDetail.setUpdateTime(new Date());
        pmsOrderPurchaseDetail.setUpdateUser(LoginContextHolder.getContext().getUser().getUsername());
        inBoundDetailService.updateInboundNum(pmsOrderPurchaseDetail);

        return ResponseData.success();
    }
           

 2. 入庫明細

    商品入庫後,可以看到入庫的數量,時間,操作人

java進銷存系統--采購入庫
@ResponseBody
    @RequestMapping("/list")
    public LayuiPageInfo list(InBoundDetailParam inBoundDetailParam) {
        //return this.inBoundDetailService.findPageBySpec(inBoundDetailParam);
        return this.inBoundDetailService.selectPage(inBoundDetailParam);
    }
           

 3.表設計

入庫單表

CREATE TABLE `in_bound` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `warehouse_code` varchar(100) NOT NULL COMMENT '倉庫編碼',
  `warehouse_name` varchar(100) DEFAULT NULL COMMENT '倉庫名稱',
  `inbound_task_code` varchar(100) DEFAULT NULL COMMENT '入庫單号',
  `order_no` varchar(100) NOT NULL COMMENT '采購訂單編碼',
  `partner_code` varchar(100) DEFAULT NULL COMMENT '供應商編碼',
  `partner_name` varchar(100) DEFAULT NULL COMMENT '供應商名稱',
  `order_type` smallint(6) NOT NULL DEFAULT '0' COMMENT '單據類型0:采購入庫',
  `order_state` smallint(6) NOT NULL DEFAULT '0' COMMENT '狀态',
  `remark` varchar(1000) DEFAULT NULL COMMENT '備注',
  `create_user` varchar(50) DEFAULT NULL COMMENT '建立人',
  `create_time` datetime DEFAULT NULL COMMENT '建立時間',
  `update_user` varchar(50) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新時間',
  `yn` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='入庫單'
           

入庫單明細表

CREATE TABLE `in_bound_detail` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `inbound_task_code` varchar(100) DEFAULT NULL COMMENT '入庫單号',
  `sku_code` varchar(100) NOT NULL COMMENT '商品編碼',
  `goods_name` varchar(100) DEFAULT NULL COMMENT '商品名稱',
  `goods_model` varchar(100) DEFAULT NULL COMMENT '規格',
  `unit_name` varchar(100) DEFAULT NULL COMMENT '機關',
  `is_fresh` smallint(6) NOT NULL DEFAULT '0' COMMENT '0:否 1:是',
  `reality_num` decimal(18,3) NOT NULL DEFAULT '0.000' COMMENT '入庫數量',
  `tax_rate` decimal(18,3) NOT NULL DEFAULT '0.000' COMMENT '稅率',
  `tax_price` decimal(18,3) NOT NULL DEFAULT '0.000' COMMENT '單價',
  `create_user` varchar(50) DEFAULT NULL COMMENT '建立人',
  `create_time` datetime DEFAULT NULL COMMENT '建立時間',
  `update_user` varchar(50) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新時間',
  `yn` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='入庫單明細表'