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..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 @@ -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("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")); + + + + 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..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,61 +1279,46 @@ 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) { 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){ -// 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); + 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"); + String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR"); + //成功了--成功了,根据 + WmsProductPut wmsProductPut2=new WmsProductPut();//成品生产入库对象 + +// List wmsRawOrderInSnList= wmsProductPutMapper.selectWmsProductPutList(wmsProductPut2); // for (WmsRawOrderInSn wmsRawOrderInSn1: // wmsRawOrderInSnList) { // WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn(); @@ -1353,20 +1338,27 @@ 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); -// -// }else { -// //失败了 -// wmsRawOrderIn.setAccountingTime(new Date()); -// wmsRawOrderIn.setAccountingMessage(result2.getMsg()); -// 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 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); + + } } return result; }