From de3d71c14322bda7ad14211e1592a42c102160f5 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Tue, 3 Sep 2024 10:13:28 +0800 Subject: [PATCH] =?UTF-8?q?wms=E8=BF=87=E8=B4=A6=E4=BF=AE=E6=94=B92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/sap/service/impl/SapItemSyncImpl.java | 4 +- .../controller/WmsRawOrderInController.java | 10 +- .../op/wms/mapper/OdsProcureOrderMapper.java | 2 + .../wms/service/IOdsProcureOrderService.java | 2 + .../impl/OdsProcureOrderServiceImpl.java | 168 ++++++++++++------ .../mapper/wms/OdsProcureOrderMapper.xml | 6 +- 6 files changed, 133 insertions(+), 59 deletions(-) diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java index 1f8bc9b47..ffb59abdc 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java @@ -761,9 +761,9 @@ public class SapItemSyncImpl implements SapItemSyncService { L_ITEM.setValue("LFBNR",mblnr);//参考凭证的凭证号 L_ITEM.setValue("LFPOS",zeile);//参考凭证项目 L_ITEM.setValue("BSTNR", ebeln);//采购订单编号 - L_ITEM.setValue("EBELP", ebelp);//采购凭证的项目编号 + L_ITEM.setValue("EBELP",map.get("ebelp") );//采购凭证的项目编号 L_ITEM.setValue("WERKS", werks);//工厂 - L_ITEM.setValue("LGORT", lgort);//库存地点 + L_ITEM.setValue("LGORT", "0001");//库存地点 L_ITEM.setValue("QUANTITY",menge);//数量 L_ITEM.setValue("BATCH", map.get("incomeBatchNo"));//批号 L_ITEM.setValue("HSDAT","");//生产日期 diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java index e0c2d1689..07b833bb5 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsRawOrderInController.java @@ -101,9 +101,9 @@ public class WmsRawOrderInController extends BaseController { public AjaxResult remove(@PathVariable String[] rawOrderInIds) { return toAjax(wmsRawOrderInService.deleteWmsRawOrderInByRawOrderInIds(rawOrderInIds)); } -// @PostMapping("/sap105temporarilyCollected") -// public AjaxResult sap105temporarilyCollected(@RequestBody List odsProcureOrder) { -// String result = odsProcureOrderService.sap105temporarilyCollected(odsProcureOrder); -// return success(result); -// } + @PostMapping("/sap105temporarilyCollected") + public AjaxResult sap105temporarilyCollected(@RequestBody List odsProcureOrder) { + String result = odsProcureOrderService.sap105temporarilyCollected(odsProcureOrder); + return success(result); + } } 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 b5d3c3205..cb18b0b5c 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 @@ -79,4 +79,6 @@ public interface OdsProcureOrderMapper { OdsProcureOrder selectOdsProcureOrderCard(OdsProcureOrder odsProcureOrder); void updateodsProcureOrderCard(OdsProcureOrder order1); + + OdsProcureOrder selectOdsProcureOrderByIDAndSap(String id); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java index f81dcc856..be934c9d9 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java @@ -119,4 +119,6 @@ public interface IOdsProcureOrderService { OdsProcureOrder selectOrderCard(OdsProcureOrder odsProcureOrder); String addOrderCard(OdsProcureOrder odsProcureOrder); + + String sap105temporarilyCollected(List odsProcureOrder); } 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 5c0997841..c624a7899 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 @@ -83,6 +83,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { private RemoteOpenService remoteOpenService; @Autowired private BaseProductAttachedMapper baseProductAttachedMapper; + + @Value("${dayin.url1}") private String dayinUrl1; /** @@ -1223,6 +1225,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { //--receiptNoCode收货单号 OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); //查询出对应的采购单 + List orderList= odsProcureOrder.getList(); //对应采购单的标识卡 @@ -1230,51 +1233,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { BigDecimal Tme=new BigDecimal("0"); for (OdsProcureOrder order1: orderList) { - //标识卡信息 - //wms_raw_order_in_sn - WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn(); - wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID()); - wmsRawOrderInSn.setUserDefined1("2");//1是收货,2是入库 - wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次 - wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号 - wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode()); - wmsRawOrderInSn.setWlCode(order1.getSn());//库位设置为托盘 - wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号 - wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目 - wmsRawOrderInSn.setMaterialCode(order1.getMaterialCode()); - wmsRawOrderInSn.setMaterialDesc(order1.getMaterialDesc()); - wmsRawOrderInSn.setAmount(order1.getPlanNumber());//实际输入数量 - wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); - wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy()); - wmsRawOrderInSn.setGmtCreate(new Date()); - wmsRawOrderInSn.setActiveFlag("1"); - wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位 - wmsRawOrderInSn.setSn(order1.getSn());//托盘号 - wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); - wmsRawOrderInSn.setUserDefined3(order.getID()); - wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode()); - wmsRawOrderInSn.setUserDefined6(order1.getUserDefined6());//标识码绑定 - wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn); - //标识码绑定 - if (order1.getUserDefined6()!=null){ - WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable(); - wmsLogotypeTable.setId(IdUtils.fastSimpleUUID()); - wmsLogotypeTable.setLogotype(order1.getUserDefined6()); - wmsLogotypeTable.setSn(order1.getSn()); - wmsLogotypeTable.setActiveFlag("1"); - wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable); - } - //插入收货记录 - //如果收货完成了的话,就插入信息收货完成 - odsProcureOrder.setPlanNumber(order1.getPlanNumber());//操作数量 - odsProcureOrder.setOrderStatus("1"); - BigDecimal result = order.getRealityNumber().add(order1.getPlanNumber()); - if (result.equals(order.getPlanNumber())) { - odsProcureOrder.setOrderStatus("2");// - } - odsProcureOrderMapper.updateRealityNuById(odsProcureOrder); - - odsProcureOrderMapper.updateodsProcureOrderCard(order1); Tme= Tme.add(order1.getPlanNumber()); //单据修改完成 } @@ -1291,8 +1249,62 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { mapList.add(paramMap); R result2 = remoteSapService.temporarilyCollected(mapList); int code = result2.getCode(); - OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); if (code == 200){ + //对应采购单的标识卡 + for (OdsProcureOrder order1k: + orderList) { + //标识卡信息 + //wms_raw_order_in_sn + WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn(); + wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID()); + wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库 + wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次 + wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号 + wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode()); + wmsRawOrderInSn.setWlCode(order1k.getSn());//库位设置为托盘 + wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号 + wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目 + wmsRawOrderInSn.setMaterialCode(order1k.getMaterialCode()); + wmsRawOrderInSn.setMaterialDesc(order1k.getMaterialDesc()); + wmsRawOrderInSn.setAmount(order1k.getPlanNumber());//实际输入数量 + wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy()); + wmsRawOrderInSn.setGmtCreate(new Date()); + wmsRawOrderInSn.setActiveFlag("1"); + wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位 + wmsRawOrderInSn.setSn(order1k.getSn());//托盘号 + wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderInSn.setUserDefined3(order.getID()); + wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode()); + 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); + } + //插入收货记录 + //如果收货完成了的话,就插入信息收货完成 + odsProcureOrder.setPlanNumber(order1k.getPlanNumber());//操作数量 + odsProcureOrder.setOrderStatus("1"); + BigDecimal result = order.getRealityNumber().add(order1k.getPlanNumber()); + System.out.println(result); + if (result.equals(order.getPlanNumber())) { + odsProcureOrder.setOrderStatus("2");// + } + + odsProcureOrderMapper.updateRealityNuById(odsProcureOrder); + + odsProcureOrderMapper.updateodsProcureOrderCard(order1k); + Tme= Tme.add(order1k.getPlanNumber()); + //单据修改完成 + } + //标识卡记录已经录入,订单已经修改完成 + OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); Map map = new HashMap(); map = (Map) result2.getData(); String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); @@ -1322,9 +1334,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy()); wmsRawOrderIn.setGmtCreate(new Date()); wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn); - order1.setSapTempStatus("1");//0是失败。1是成功 - odsProcureOrderMapper.updateOdsProcureOrder(order1); for (OdsProcureOrder odsProcureOrder1:orderList){ //收货 @@ -1340,6 +1350,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder.getCreateBy()); wmsOdsMateStorageNewsSn.setGmtCreate(new Date()); wmsOdsMateStorageNewsSn.setUserDefined2(order.getUserDefined7());//批次 + wmsOdsMateStorageNewsSn.setUserDefined1("RK"); + wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收,1是真收 wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder.getFactoryCode()); wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder.getFactoryCode()); wmsOdsMateStorageNewsSn.setActiveFlag("1"); @@ -1379,15 +1391,69 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { // wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库 } }else {////失败| + OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); result1="暂收失败"; - order.setSapTempInfor(result2.getMsg()); - order.setSapTempStatus("0");//0是失败。1是成功 - odsProcureOrderMapper.updateOdsProcureOrder(order); + order2.setSapTempInfor(result2.getMsg()); + order2.setSapTempStatus("0");//0是失败。1是成功 + odsProcureOrderMapper.updateOdsProcureOrder(order2); return result1; } return result1; } + @Override + @DS("#header.poolName") + public String sap105temporarilyCollected(List odsProcureOrders) { + OdsProcureOrder odsProcureOrder = odsProcureOrders.get(0); + WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdTWO(odsProcureOrder.getID()); + Map paramMap=new HashMap<>(); + List mapList = new ArrayList<>(); + paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1()); + paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2()); + paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode()); + paramMap.put("incomeBatchNo",wmsRawOrderIn.getReturnName()); //批次 + paramMap.put("ebelp",wmsRawOrderIn.getPoLine()); + mapList.add(paramMap); + R result2 = remoteSapService.sap105temporarilyCollected(mapList); + if (result2.getCode()==200){ + //成功了--成功了,根据 + WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn(); + wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo()); + wmsRawOrderInSn.setUserDefined1("1");//暂收 + List wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn); + for (WmsRawOrderInSn wmsRawOrderInSn1: + wmsRawOrderInSnList) { + WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn(); + wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode()); + wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode()); + wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode()); + wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode()); + wmsRawOrderInNewsSn.setUserDefined3("1"); + wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsRawOrderInNewsSn); + wmsRawOrderInSn1.setUserDefined1("2"); + wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1); + WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews(); + wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode()); + wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode()); + wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode()); + wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode()); + wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount()); + wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews); + } + wmsRawOrderIn.setOrderStatus("1"); + wmsRawOrderIn.setAccountingTime(new Date()); + wmsRawOrderIn.setAccountingMessage(result2.getMsg()); + wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); + return result2.getMsg(); + }else { + //失败了 + wmsRawOrderIn.setAccountingTime(new Date()); + wmsRawOrderIn.setAccountingMessage(result2.getMsg()); + wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); + return result2.getMsg(); + } + } + public String dayin( List orderList) { // 定义请求的URL地址 String url = dayinUrl1; 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 45e3d9374..eb9218fe8 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 @@ -90,7 +90,11 @@ where ID = #{ID} - + insert into ods_procure_order