From cc87add6d2f31105b33a836004cc57b6fc33f9f5 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Fri, 30 Aug 2024 17:55:03 +0800 Subject: [PATCH] =?UTF-8?q?sap105=E9=83=A8=E5=88=86=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/sap/controller/SapController.java | 8 ++++ .../op/sap/service/impl/SapItemSyncImpl.java | 45 +++++++++++++++++++ 2 files changed, 53 insertions(+) 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 0984f878..93baa8d5 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 @@ -514,6 +514,14 @@ public class SapController extends BaseController { public R incomingConversion(@RequestBody(required = false) Map mapList) { return sapItemSyncService.incomingConversion(mapList); } + + //sap105过账功能--这个功能是有两个sap接口组成的,要先调用ZMES_MSEG获取物料凭证数据,再根据获取的信息,调用ZMES_MIGO_105 + @PostMapping("/sap105temporarilyCollected") + @Log(title = "sap105过账接口", businessType = BusinessType.SAP) + public R sap105temporarilyCollected(@RequestBody(required = false) List mapList) { + return sapItemSyncService.sap105temporarilyCollected(mapList); + } + @PostMapping("/addDatasource") public R addDatasource(@RequestBody DataSourcePropertyDTO dto){ DataSourceProperty dataSourceProperty = new DataSourceProperty(); 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 6f12c417..93955ca8 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 @@ -650,5 +650,50 @@ public class SapItemSyncImpl implements SapItemSyncService { } } + @Override + public R sap105temporarilyCollected(List mapList) { + try { + JCoRepository repository = dest.getRepository(); + JCoFunction func = repository.getFunction("ZMES_103_MIGO"); + if (func == null) { + throw new RuntimeException("Function does not exist in SAP"); + } + log.info("来料暂收参数-------" + mapList.toString()); + JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM"); + System.out.println(L_ITEM); + for (Map map : mapList) { + L_ITEM.appendRow(); + L_ITEM.setValue("EBELN", map.get("EBELN")); + L_ITEM.setValue("EBELP", map.get("EBELP")); + L_ITEM.setValue("MATNR", map.get("MATNR")); + L_ITEM.setValue("WERKS", map.get("WERKS")); + L_ITEM.setValue("QUANTITY", map.get("QUANTITY")); + } + System.out.println(L_ITEM); + func.execute(dest);//执行调用函数 + /** + * RETCODE CHAR3 返回值:200-没有错误,500-有错误 + * L_MSG CHAR220 返回消息文本 + * MATERIALDOCUMENT CHAR10 物料凭证编号 + * MATDOCUMENTYEAR NUMC4 物料凭证年度 + */ + String RETCODE = func.getExportParameterList().getString("RETCODE"); + String MESSAGE = func.getExportParameterList().getString("L_MSG"); + String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT"); + String MATDOCUMENTYEAR = func.getExportParameterList().getString("MATDOCUMENTYEAR"); + log.info("暂收结果结果-----" + RETCODE+"/" +MESSAGE+"/" +MATERIALDOCUMENT+"/" +MATDOCUMENTYEAR); + if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){ + return R.fail(MESSAGE); + } + Map Resmap = new HashMap(); + Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT); + Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR); + return R.ok(Resmap, MESSAGE); + } catch (Exception e) { + log.error(e.getMessage()); + return R.fail(e.getMessage()); + } + } + }