From 255677abf4e9b0938b340cf2a474da5c3e0fae85 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Mon, 30 Dec 2024 13:28:48 +0800 Subject: [PATCH 1/2] =?UTF-8?q?wms=E5=86=B2=E9=94=80bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/system/api/RemoteSapService.java | 2 +- .../com/op/sap/controller/SapController.java | 6 +- .../op/sap/service/SapItemSyncService.java | 2 + .../op/sap/service/impl/SapItemSyncImpl.java | 46 +++++++++++++ .../impl/WmsProductPutServiceImpl.java | 64 +++++++++---------- 5 files changed, 86 insertions(+), 34 deletions(-) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java index 5db2c3ced..b9aabb874 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java @@ -145,7 +145,7 @@ public interface RemoteSapService { @PostMapping("/sap/handleUpdateSAP105") public R handleUpdateSAP105(@RequestBody(required = false)List mapList); @PostMapping("/sap/handleUpdateSAP102") - R handleUpdateSAP102(List mapList); + public R handleUpdateSAP102(@RequestBody(required = false)List mapList); } diff --git a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java index 1561c94f7..f77b74506 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java @@ -548,7 +548,11 @@ public class SapController extends BaseController { public R handleUpdateSAP105(@RequestBody(required = false) List mapList) { return sapItemSyncService.handleUpdateSAP105(mapList); } - + @PostMapping("/handleUpdateSAP102") + @Log(title = "sap102冲销接口", businessType = BusinessType.SAP) + public R handleUpdateSAP102(@RequestBody(required = false) List mapList) { + return sapItemSyncService.handleUpdateSAP102(mapList); + } /*******************设备*****************/ @PostMapping("/sapZmesAnlaGet") @Log(title = "设备同步接口", businessType = BusinessType.SAP) diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java b/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java index b4a061878..16cfc39ed 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java @@ -46,4 +46,6 @@ public interface SapItemSyncService { R handleUpdateSAP103(List mapList); R handleUpdateSAP105(List mapList); + + R handleUpdateSAP102(List mapList); } 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 ea72ddad3..79486b465 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 @@ -1162,4 +1162,50 @@ public class SapItemSyncImpl implements SapItemSyncService { return R.fail(e.getMessage()); } } + + @Override + public R handleUpdateSAP102(List mapList) { + + try { + JCoRepository repository = dest.getRepository(); + JCoFunction func = repository.getFunction("ZMES_102_MB31"); + if (func == null) { + throw new RuntimeException("Function does not exist in SAP"); + } + JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM"); + log.info("生产订单收货冲销接口开始----------------------------------------"); + Map map= mapList.get(0); + L_ITEM.appendRow(); + L_ITEM.setValue("AUFNR", map.get("AUFNR")); + L_ITEM.setValue("WERKS", map.get("WERKS")); + L_ITEM.setValue("LGORT", map.get("LGORT")); + L_ITEM.setValue("MATNR", map.get("MATNR")); + L_ITEM.setValue("QUANTITY", map.get("QUANTITY")); + L_ITEM.setValue("ERFME", map.get("ERFME")); + L_ITEM.setValue("BATCH", map.get("BATCH")); + L_ITEM.setValue("STCK_TYPE", ""); + + + System.out.println(L_ITEM); + func.execute(dest); + + String L_MSG = func.getExportParameterList().getString("L_MSG"); + String RETCODE = func.getExportParameterList().getString("RETCODE"); + String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT"); + String MATDOCUMENTYEAR = func.getExportParameterList().getString("MATDOCUMENTYEAR"); + System.out.println("L_MSG" + L_MSG); + System.out.println("返回值:0-没有错误,1-有错误:" + RETCODE); + System.out.println("物料凭证编号" + MATERIALDOCUMENT); + System.out.println("物料凭证年度" + MATDOCUMENTYEAR); + if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){ + return R.fail(L_MSG); + } + Map Resmap = new HashMap(); + Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT); + Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR); + return R.ok(Resmap, L_MSG); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index d7a3cd81f..6220194a6 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1298,31 +1298,31 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { String result="操作成功"; for (WmsProductPut wmsProductPut: wmsProductPutList){ -// WmsProductPut wmsProductPut1= wmsProductPutMapper.selectWmsProductPutByIdANDStatus(wmsProductPut.getId()); -// //LFBJA -// //LFBNR -// //LFPOS -// //EBELN -// //EBELP -// //MATNR -// //QUANTITY -// //WERKS -// //LGORT -// //这个地方 -// Map paramMap=new HashMap<>(); -// List mapList = new ArrayList<>(); -// paramMap.put("LFBJA",wmsProductPut1.getAttr10());//参考凭证会计年度 -// paramMap.put("LFBNR",wmsProductPut1.getSapProof());//参考凭证的凭证号 -// //paramMap.put("LFPOS",wmsProductPut1.get());//参考凭证项目 -// paramMap.put("EBELN",wmsProductPut1.getProductCode());//采购凭证号 -// paramMap.put("EBELP",wmsProductPut1.getPoLine());//采购凭证的项目编号 -// paramMap.put("MATNR",wmsProductPut1.getPoNo());//物料号 -// paramMap.put("QUANTITY",wmsProductPut1.getPoNo());//数量 -// paramMap.put("WERKS",wmsProductPut1.getPoNo());//工厂 -// paramMap.put("LGORT",wmsProductPut1.getPoNo());//库存地点 -// mapList.add(paramMap); -// R result2 = remoteSapService.handleUpdateSAP102(mapList); -// if (result2.getCode()==200){ + WmsProductPut wmsProductPut1= wmsProductPutMapper.selectWmsProductPutByIdANDStatus(wmsProductPut.getId()); + //LFBJA + //LFBNR + //LFPOS + //EBELN + //EBELP + //MATNR + //QUANTITY + //WERKS + //LGORT + //这个地方 + Map paramMap=new HashMap<>(); + List mapList = new ArrayList<>(); + paramMap.put("AUFNR",wmsProductPut1.getProductOrder());//单号 + paramMap.put("WERKS",wmsProductPut1.getFactoryCode());//工厂 + paramMap.put("LGORT",wmsProductPut1.getWhCode());//库存地点 + // paramMap.put("STCK_TYPE",wmsProductPut1.getPoLine());//采购凭证的项目编号 + paramMap.put("MATNR",wmsProductPut1.getProductCode());//物料号 + paramMap.put("QUANTITY",wmsProductPut1.getPlanQuantity());//数量 + paramMap.put("ERFME",wmsProductPut1.getUnitOfMeasure());//条目单位 + paramMap.put("BATCH",wmsProductPut1.getAttr4());//批号 + mapList.add(paramMap); + R result2 = remoteSapService.handleUpdateSAP102(mapList); + if (result2.getCode()==200){ +// //应该是修改订单,然后修改库存 // Map map = new HashMap(); // map = (Map) result2.getData(); // String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); @@ -1359,14 +1359,14 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { // wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT); // wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR); // wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); -// -// }else { + + }else { // //失败了 -// wmsRawOrderIn.setAccountingTime(new Date()); -// wmsRawOrderIn.setAccountingMessage(result2.getMsg()); -// wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); -// -// } +// wmsProductPut.set(new Date()); +// wmsProductPut.setAccountingMessage(result2.getMsg()); +// wmsProductPutMapper.updateWmsRawOrderIn(wmsProductPut); + + } } return result; } From b195472f0dcb5a2fba0a8e158ef1411a8902db9e Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Mon, 30 Dec 2024 15:59:26 +0800 Subject: [PATCH 2/2] =?UTF-8?q?wms=E5=86=B2=E9=94=80bug2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/sap/service/impl/SapItemSyncImpl.java | 6 +- .../impl/WmsProductPutServiceImpl.java | 60 ++++++++----------- 2 files changed, 29 insertions(+), 37 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 79486b465..b49b2ff7c 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 @@ -1179,16 +1179,16 @@ public class SapItemSyncImpl implements SapItemSyncService { L_ITEM.setValue("AUFNR", map.get("AUFNR")); L_ITEM.setValue("WERKS", map.get("WERKS")); L_ITEM.setValue("LGORT", map.get("LGORT")); - L_ITEM.setValue("MATNR", map.get("MATNR")); + L_ITEM.setValue("STCK_TYPE", ""); +// L_ITEM.setValue("MATNR", map.get("MATNR")); L_ITEM.setValue("QUANTITY", map.get("QUANTITY")); L_ITEM.setValue("ERFME", map.get("ERFME")); L_ITEM.setValue("BATCH", map.get("BATCH")); - L_ITEM.setValue("STCK_TYPE", ""); + System.out.println(L_ITEM); func.execute(dest); - String L_MSG = func.getExportParameterList().getString("L_MSG"); String RETCODE = func.getExportParameterList().getString("RETCODE"); String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT"); diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index 6220194a6..baafad3c6 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1279,19 +1279,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { return wmsSellOutEmbryoList; } - /** - * LFBJA NUMC 4 0 参考凭证会计年度 必填 - * LFBNR CHAR 10 0 参考凭证的凭证号 必填 - * LFPOS NUMC 4 0 参考凭证项目 必填 - * EBELN CHAR 10 0 采购凭证号 必填 - * EBELP NUMC 5 0 采购凭证的项目编号 必填 - * MATNR CHAR 18 0 物料号 必填 - * QUANTITY QUAN 13 3 数量 必填 - * WERKS CHAR 4 0 工厂 必填 - * LGORT CHAR 4 0 库存地点 必填 - * @param wmsProductPutList - * @return - */ + @Override @DS("#header.poolName") public String handleUpdateSAP102(List wmsProductPutList) { @@ -1323,17 +1311,14 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { R result2 = remoteSapService.handleUpdateSAP102(mapList); if (result2.getCode()==200){ // //应该是修改订单,然后修改库存 -// Map map = new HashMap(); -// map = (Map) result2.getData(); -// String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); -// String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR"); -// //成功了--成功了,根据 -// WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn(); -// wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo()); -// wmsRawOrderInSn.setUserDefined1("1");//暂收 -// -// wmsRawOrderInSn.setUserDefined3(wmsRawOrderIn.getKem()); -// List wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn); + Map map = new HashMap(); + map = (Map) result2.getData(); + String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); + String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR"); + //成功了--成功了,根据 + WmsProductPut wmsProductPut2=new WmsProductPut();//成品生产入库对象 + +// List wmsRawOrderInSnList= wmsProductPutMapper.selectWmsProductPutList(wmsProductPut2); // for (WmsRawOrderInSn wmsRawOrderInSn1: // wmsRawOrderInSnList) { // WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn(); @@ -1353,18 +1338,25 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { // wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount()); // wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews); // } -// wmsRawOrderIn.setOrderStatus("1"); -// wmsRawOrderIn.setAccountingTime(new Date()); -// wmsRawOrderIn.setAccountingMessage(result2.getMsg()); -// wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT); -// wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR); -// wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); + wmsProductPut2= wmsProductPut1; +// wmsProductPut2.setPutQuantity(new BigDecimal("0")); + wmsProductPut2.setSapStatus("0");//暂收 + wmsProductPut2.setAttr5(MATERIALDOCUMENT); + wmsProductPut2.setAttr6(MATDOCUMENTYEAR); + wmsProductPut2.setAttr7(result2.getMsg()); + + wmsProductPutMapper.updateWmsProductPut(wmsProductPut2); }else { -// //失败了 -// wmsProductPut.set(new Date()); -// wmsProductPut.setAccountingMessage(result2.getMsg()); -// wmsProductPutMapper.updateWmsRawOrderIn(wmsProductPut); + //失败了 + WmsProductPut wmsProductPut2=new WmsProductPut();//成品生产入库对象 + wmsProductPut2= wmsProductPut1; +// wmsProductPut2.setPutQuantity(new BigDecimal("0")); + //wmsProductPut2.setSapStatus("0");//暂收 +// wmsProductPut2.setAttr5(MATERIALDOCUMENT); +// wmsProductPut2.setAttr6(MATDOCUMENTYEAR); + wmsProductPut2.setAttr7(result2.getMsg()); + wmsProductPutMapper.updateWmsProductPut(wmsProductPut2); } }