From d59af9f9f69dd6cd7ef4f0da9c9eb4ddf0fe5a5a Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Wed, 1 Nov 2023 15:49:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0SAP=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- op-modules/op-sap/pom.xml | 6 ++--- .../com/op/sap/controller/SapController.java | 7 ++++++ .../op/sap/service/SapItemSyncService.java | 9 ++++++++ .../op/sap/service/impl/SapItemSyncImpl.java | 23 +++++++++++++++++++ .../sap/service/impl/SapOrderServiceImpl.java | 2 +- 5 files changed, 43 insertions(+), 4 deletions(-) diff --git a/op-modules/op-sap/pom.xml b/op-modules/op-sap/pom.xml index cec3f9b6..fb482226 100644 --- a/op-modules/op-sap/pom.xml +++ b/op-modules/op-sap/pom.xml @@ -90,9 +90,9 @@ - com.sap - sapjco3 - 1.0.0 + com.sap.conn + sapjco + 3.0.8 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 8d949d06..dd009b4b 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 @@ -175,6 +175,13 @@ public class SapController extends BaseController { return sapMaterialPreparationService.MaterialPreparation(shopOrder); } + @PostMapping("/sapMaterialPosting") + @Log(title = "订单物料领料过账、原材料补料、订单物料退料过账接口(MB1A)", businessType = BusinessType.SAP) + public R sapMaterialPosting(@RequestBody SapMaterialPosting sapMaterialPosting){ + return sapItemSyncService.sapMaterialPosting(sapMaterialPosting); + } + + /** * 生产订单创建接口 * @param sapCreateOrderList 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 406aeeb1..5f7975d6 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 @@ -2,6 +2,7 @@ package com.op.sap.service; import com.op.common.core.domain.R; import com.op.sap.domain.vo.SapItemQuery; +import com.op.sap.domain.vo.SapMaterialPosting; import com.op.system.api.domain.sap.SapBaseProduct; import java.util.List; @@ -16,4 +17,12 @@ public interface SapItemSyncService { * @return */ R itemSync(SapItemQuery sapItemQuery); + + /** + * 订单物料领料过账、原材料补料、订单物料退料过账接口(MB1A) + * @param sapMaterialPosting + * @return + */ + + R sapMaterialPosting(SapMaterialPosting sapMaterialPosting); } 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 60aa9336..264492cd 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 @@ -9,6 +9,7 @@ import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.bean.BeanValidators; import com.op.common.security.utils.SecurityUtils; import com.op.sap.domain.vo.SapItemQuery; +import com.op.sap.domain.vo.SapMaterialPosting; import com.op.sap.mapper.SapBaseProductMapper; import com.op.sap.service.SapItemSyncService; import com.op.sap.util.SAPConnUtils; @@ -191,6 +192,28 @@ public class SapItemSyncImpl implements SapItemSyncService { } } + @Override + public R sapMaterialPosting(SapMaterialPosting sapMaterialPosting) { + + try { + // 获取调用 RFC 函数对象 + //获取连接 + JCoDestination dest = SAPConnUtils.connect(); + JCoRepository repository = dest.getRepository(); + JCoFunction func = repository.getFunction("ZPPR_MES_GOODSMVT_CREATE"); + // 配置传入参数 + JCoTable jCoTable = func.getTableParameterList().getTable("L_ITEM"); + System.out.println(jCoTable); + + if (func == null) { + throw new RuntimeException("Function does not exist in SAP"); + } + return R.ok(); + }catch (Exception e){ + return R.fail(e.getMessage()); + } + } + public String importProducts(List sapBaseProductList){ if (StringUtils.isNull(sapBaseProductList) || sapBaseProductList.size() == 0) { diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java index bb90b2ab..571903d5 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java @@ -47,7 +47,7 @@ public class SapOrderServiceImpl implements SapOrderService { // S_WERKS(工厂) S_AUFNR(订单号) S_MATNR(物料号) S_ERDAT(创建日期) 例如:20230923 if (!StringUtils.isNull(sapShopOrderQuery.getWerk())){ - JCoTable S_WERKS = func.getTableParameterList().getTable("S_WERKS"); + JCoTable S_WERKS = func.getTableParameterList().getTable("S_PWERK"); S_WERKS.appendRow(); S_WERKS.setValue(Constants.SIGN, "I"); S_WERKS.setValue(Constants.OPTION, "EQ");