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");