采购单审核后,等待供应商送货到仓库
货到仓库后,进行采购入库操作
1.采购入库
@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. 入库明细
商品入库后,可以看到入库的数量,时间,操作人
@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='入库单明细表'