diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java index 7b7f07f0d..277ea5c1a 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java @@ -118,7 +118,9 @@ public interface OdsProcureOrderMapper { public List selectCardList(OdsProcureOrder odsProcureOrder); public List selectCardListSH(OdsProcureOrder odsProcureOrder); - OdsProcureOrder selectOdsProcureOrderCardByUserDefined1new(OdsProcureOrder order); + public OdsProcureOrder selectOdsProcureOrderCardByUserDefined1new(OdsProcureOrder order); public void updateodsProcureOrderCardTemNumber(OdsProcureOrder order); + + public void updateodsProcureOrderCardByu1(OdsProcureOrder order1); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java index 24dd9a86f..21f0fb243 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java @@ -1306,8 +1306,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { result1="生成的标识卡已经暂收完成"; return result1; } - - //到货单生成 LocalDateTime now = LocalDateTime.now(); // 获取当前时间 @@ -1349,10 +1347,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { for ( OdsProcureOrder order : orderList) { if (order.getID().equals(odsProcureOrder.getID())){ - czNumber=czNumber.add(order.getPlanNumber()); + czNumber=czNumber.add(order.getPlanNumber());//累计操作数量 } } - odsProcureOrder.setCzNumber(czNumber);//累计数量 + odsProcureOrder.setCzNumber(czNumber);//累计的操作数量 } List mapList = new ArrayList<>(); @@ -1398,18 +1396,35 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsRawOrderInSn.setUserDefined5(order1k.getReceiptNoCode()); //wmsRawOrderInSn.setd wmsRawOrderInSn.setUserDefined6(order1k.getUserDefined6());//标识码绑定 - wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn); - //标识码绑定 - if (order1k.getUserDefined6()!=null){ - WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable(); - wmsLogotypeTable.setId(IdUtils.fastSimpleUUID()); - wmsLogotypeTable.setLogotype(order1k.getUserDefined6()); - wmsLogotypeTable.setSn(order1k.getSn()); - wmsLogotypeTable.setActiveFlag("1"); - wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable); - } + wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);//入库库明细记录 + //标识码绑定----这个托盘绑定标识卡的用不上了已经--因为操作里面没有托盘 +// if (order1k.getUserDefined6()!=null){ +// WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable(); +// wmsLogotypeTable.setId(IdUtils.fastSimpleUUID()); +// wmsLogotypeTable.setLogotype(order1k.getUserDefined6()); +// wmsLogotypeTable.setSn(order1k.getSn()); +// wmsLogotypeTable.setActiveFlag("1"); +// wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable); +// } + OdsProcureOrder order=new OdsProcureOrder(); + order.setUserDefined1(order1k.getSn()); + OdsProcureOrder order1= odsProcureOrderMapper.selectOdsProcureOrderCard(order); + //判断状态, + BigDecimal realityNumber1 = order1.getRealityNumber();//累出库数 + BigDecimal realityNumber = order1.getPlanNumber();//计划 + BigDecimal planNumber = order1k.getPlanNumber();//本次实际数量 + BigDecimal tem = realityNumber1.add(planNumber); + if (tem.compareTo(realityNumber)>= 0) { - odsProcureOrderMapper.updateodsProcureOrderCard(order1k);//更新标识卡。状态为1 + order1.setRealityNumber(tem); + order1.setTemNumber(new BigDecimal("0")); + order1.setOrderStatus("1");//完全收货 + } else { + order1.setRealityNumber(tem); + order1.setTemNumber(realityNumber.subtract(tem)); + order1.setOrderStatus("2");//部分收货 + } + odsProcureOrderMapper.updateodsProcureOrderCardByu1(order1);//更新标识卡。状态为1 } Map map = new HashMap(); map = (Map) result2.getData(); @@ -1457,33 +1472,40 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsRawOrderIn.setSapFactoryCode(factoryCode); wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy()); wmsRawOrderIn.setGmtCreate(new Date()); - wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn); + wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn);//到货单 order1.setSapTempStatus("1");//0是失败。1是成功 - odsProcureOrderMapper.updateOdsProcureOrder(order1); + odsProcureOrderMapper.updateOdsProcureOrder(order1);//采购单秀改 } for (OdsProcureOrder odsProcureOrder1:orderList){ //收货 WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn(); - wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID()); + wmsOdsMateStorageNewsSn.setWhCode(odsProcureOrder1.getWhCode());//仓库编码 wmsOdsMateStorageNewsSn.setWaCode(odsProcureOrder1.getWaCode()); wmsOdsMateStorageNewsSn.setWlCode(odsProcureOrder1.getSn());//库位编码- wmsOdsMateStorageNewsSn.setMaterialCode(odsProcureOrder1.getMaterialCode()); wmsOdsMateStorageNewsSn.setMaterialDesc(odsProcureOrder1.getMaterialDesc()); wmsOdsMateStorageNewsSn.setSn(odsProcureOrder1.getSn()); - wmsOdsMateStorageNewsSn.setAmount(odsProcureOrder1.getPlanNumber()); wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder1.getCreateBy()); wmsOdsMateStorageNewsSn.setGmtCreate(new Date()); wmsOdsMateStorageNewsSn.setUserDefined2(odsProcureOrder1.getUserDefined7());//批次 wmsOdsMateStorageNewsSn.setUserDefined1("RK"); - wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收,1是真收 wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder1.getFactoryCode()); wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder1.getFactoryCode()); wmsOdsMateStorageNewsSn.setActiveFlag("1"); - wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn); - //修改库存 + List wmsOdsMateStorageNewsSnList= wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnList(wmsOdsMateStorageNewsSn); + if (wmsOdsMateStorageNewsSnList.size()>0){//更新 + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn1= wmsOdsMateStorageNewsSnList.get(0); + wmsOdsMateStorageNewsSn1.setAmount(wmsOdsMateStorageNewsSn1.getAmount().add(odsProcureOrder1.getPlanNumber())); + wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn1); + }else {//插入 + wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收,1是真收 + wmsOdsMateStorageNewsSn.setAmount(odsProcureOrder1.getPlanNumber()); + wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID()); + wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);//插入库存 + } //2,修改库存---/加库存数量-/-冻结数量 WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews(); wmsOdsEmStorageNews.setWhCode(odsProcureOrder1.getWhCode());//仓库编码 diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml index 7e605d64c..645033ca3 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml @@ -567,6 +567,7 @@ card.Material_Code , card.Material_Desc , card.User_Defined3 , + COALESCE ( card.Reality_Number, 0 ) Reality_Number, card.User_Defined4 , card.User_Defined1 sn, card.Plan_Number , @@ -680,6 +681,13 @@ SET User_Defined10 = '1' where User_Defined1 = #{userDefined6} + + update ods_procure_order_card + SET User_Defined10 = #{orderStatus}, + Reality_Number=#{realityNumber}, + tem_number = #{temNumber} + where User_Defined1 = #{userDefined1} + update ods_procure_order_card SET tem_number = #{temNumber} @@ -881,7 +889,7 @@ ods_procure_order_card.Procure_Code, ods_procure_order_card.Material_Code, ods_procure_order_card.Material_Desc, - ods_procure_order_card.Plan_Number, + ods_procure_order_card.tem_number Plan_Number, ods_procure_order_card.User_Defined1 User_Defined6, ods_procure_order_card.User_Defined1 sn, ods_procure_order_card.User_Defined5 whCode,