From bfaca7703dea9a0bb2db61184f944534d02fd8b4 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 15 八月 2025 14:47:36 +0800
Subject: [PATCH] art: 生产订单同步任务,同时插入物料基本信息

---
 src/main/java/org/jeecg/modules/wms/service/WMSWebService.java                          |   13 +++++++++++++
 src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java                   |   14 ++++++++++++--
 src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java            |    9 +++++----
 src/main/java/org/jeecg/modules/wms/service/impl/ReceiveWMSScanItemListServiceImpl.java |    2 --
 4 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java
index 35b111b..3590878 100644
--- a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java
+++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java
@@ -88,7 +88,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean saveOrUpdateMaterial(Map<String, MesProductionOrder> orderMap, List<OrderBomDTO> orderBomDTOList) {
-        List<LswMaterial> addList = new ArrayList<>();
+        Map<String, LswMaterial> addMap = new HashMap<>();
         for (Map.Entry<String, MesProductionOrder> entry : orderMap.entrySet()) {
             MesProductionOrder order = entry.getValue();
             LswMaterial material = queryByMaterialNumber(order.getMaterialNumber());
@@ -100,7 +100,7 @@
                 material.setMaterialName(order.getMaterialName());
                 material.setMaterialUnit(order.getProductionUnit());
                 material.setDelFlag(CommonConstant.DEL_FLAG_0);
-                addList.add(material);
+                addMap.put(material.getMaterialNumber(), material);
             }
         }
         for (OrderBomDTO bomDTO : orderBomDTOList) {
@@ -113,10 +113,11 @@
                 material.setMaterialName(bomDTO.getMAKTX());
                 material.setMaterialUnit(bomDTO.getMEINS());
                 material.setDelFlag(CommonConstant.DEL_FLAG_0);
-                addList.add(material);
+                addMap.put(material.getMaterialNumber(), material);
             }
         }
-        if (CollectionUtil.isEmpty(addList)) {
+        if (CollectionUtil.isNotEmpty(addMap)) {
+            Collection<LswMaterial> addList = addMap.values();
             super.saveBatch(addList);
         }
         return true;
diff --git a/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java b/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
index 71e1995..5aa73af 100644
--- a/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
+++ b/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
@@ -8,6 +8,7 @@
 import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse;
 import org.jeecg.modules.wms.request.ReceiveMESScanItemList;
 import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService;
+import org.jeecg.modules.wms.service.WMSWebService;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,8 +21,6 @@
 public class WMSTestController {
     @Value("${webservice.url}")
     private String url;
-    @Value("${webservice.namespace}")
-    private String namespace;
 
     @ApiOperation(value = "WMS闆嗘垚娴嬭瘯-鎺ユ敹WMS绉诲簱缁撴灉", notes = "WMS闆嗘垚娴嬭瘯-鎺ユ敹WMS绉诲簱缁撴灉")
     @PostMapping("/testReceiveWMSScanItemList")
@@ -34,4 +33,15 @@
         ReceiveMESScanItemListResponse response = service.receiveWMSScanItemList(request);
         return Result.ok(response);
     }
+
+    @ApiOperation(value = "WMS闆嗘垚娴嬭瘯-HelloWord娴嬭瘯", notes = "WMS闆嗘垚娴嬭瘯-HelloWord娴嬭瘯")
+    @PostMapping("/testHelloWorld")
+    public Result<?> testHelloWorld() {
+        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
+        factory.setAddress(url);
+        factory.setServiceClass(WMSWebService.class);
+        WMSWebService service = (WMSWebService) factory.create();
+        String response = service.helloWorld();
+        return Result.ok(response);
+    }
 }
diff --git a/src/main/java/org/jeecg/modules/wms/service/WMSWebService.java b/src/main/java/org/jeecg/modules/wms/service/WMSWebService.java
new file mode 100644
index 0000000..0d1ee5d
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/service/WMSWebService.java
@@ -0,0 +1,13 @@
+package org.jeecg.modules.wms.service;
+
+import javax.jws.WebMethod;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+
+@WebService(name = "WebService", targetNamespace = "http://tempuri.org")
+public interface WMSWebService {
+
+    @WebMethod(operationName = "HelloWorld")
+    @WebResult(name = "HelloWorldResponse")
+    String helloWorld();
+}
diff --git a/src/main/java/org/jeecg/modules/wms/service/impl/ReceiveWMSScanItemListServiceImpl.java b/src/main/java/org/jeecg/modules/wms/service/impl/ReceiveWMSScanItemListServiceImpl.java
index f8b405e..12e4d51 100644
--- a/src/main/java/org/jeecg/modules/wms/service/impl/ReceiveWMSScanItemListServiceImpl.java
+++ b/src/main/java/org/jeecg/modules/wms/service/impl/ReceiveWMSScanItemListServiceImpl.java
@@ -6,13 +6,11 @@
 import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse;
 import org.jeecg.modules.wms.request.ReceiveMESScanItemList;
 import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService;
-import org.springframework.stereotype.Service;
 
 import javax.jws.WebService;
 
 
 @Slf4j
-//@Service
 @WebService(name = "ReceiveWMSScanItemListService",  targetNamespace = "http://xhj008.server.webservice.com", endpointInterface = "org.jeecg.modules.wms.service.ReceiveWMSScanItemListService")
 public class ReceiveWMSScanItemListServiceImpl implements ReceiveWMSScanItemListService {
 

--
Gitblit v1.9.3