From d82e6f365b2bbc7cafbbf69379fdf6f4f0ff3f8d Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 26 八月 2025 12:28:10 +0800
Subject: [PATCH] art: 物料拉动提供WMS回调接口定义

---
 src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java                 |   32 ++++++++++++++-
 src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java         |    7 +++
 src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java                       |    2 
 src/main/resources/application-prod.yml                                                     |    6 +-
 src/main/java/org/jeecg/modules/wms/WMSWebService.java                                      |    3 -
 src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java |   18 ++++++++-
 6 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java
index 45886e1..ea52b2c 100644
--- a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java
+++ b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialTransferRequestService.java
@@ -33,4 +33,11 @@
      * @return
      */
     boolean request(String id);
+
+    /**
+     * 鏍规嵁棰勭暀鍙疯幏鍙栫墿鏂欐媺鍔ㄤ俊鎭�
+     * @param reservationCode
+     * @return
+     */
+    MesMaterialTransferRequest queryByReservationCode(String reservationCode);
 }
diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java
index 6c20944..118e09f 100644
--- a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java
+++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialTransferRequestServiceImpl.java
@@ -1,5 +1,7 @@
 package org.jeecg.modules.mes.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
@@ -115,8 +117,8 @@
         request.setReservationOrder(entity.getReservationCode());
         request.setTotal(entity.getSpecifiedQuantity());
         Map<String, Object> resultMap = wmsWebServiceClient.receiveReservation(request);
-        WSResponse result = (WSResponse)resultMap.get("result");
-        if("Y".equals(result.getErrorCode())) {
+        WSResponse result = (WSResponse) resultMap.get("result");
+        if ("Y".equals(result.getErrorCode())) {
             entity.setRequestStatus(MaterialTransferRequestStatus.REQUESTED.name());
             entity.setRequestTime(new Date());
             super.updateById(entity);
@@ -124,4 +126,16 @@
         }
         return false;
     }
+
+    @Override
+    public MesMaterialTransferRequest queryByReservationCode(String reservationCode) {
+        LambdaQueryWrapper<MesMaterialTransferRequest> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(MesMaterialTransferRequest::getReservationCode, reservationCode);
+        queryWrapper.eq(MesMaterialTransferRequest::getDelFlag, CommonConstant.DEL_FLAG_0);
+        List<MesMaterialTransferRequest> list = super.list(queryWrapper);
+        if (CollectionUtil.isNotEmpty(list)) {
+            return list.get(0);
+        }
+        return null;
+    }
 }
diff --git a/src/main/java/org/jeecg/modules/wms/WMSWebService.java b/src/main/java/org/jeecg/modules/wms/WMSWebService.java
index d66b206..e5d0be3 100644
--- a/src/main/java/org/jeecg/modules/wms/WMSWebService.java
+++ b/src/main/java/org/jeecg/modules/wms/WMSWebService.java
@@ -64,9 +64,6 @@
         super(wsdlLocation, serviceName, features);
     }
 
-
-
-
     /**
      *
      * @return
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 9732f55..2e3eaad 100644
--- a/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
+++ b/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
@@ -23,7 +23,7 @@
     @Autowired
     private WMSWebServiceClient webServiceClient;
 
-    private final static String localUrl = "http://localhost:9989/ebservice/ReceiveWMSScanItemList?wsdl";
+    private final static String localUrl = "http://localhost:9989/webservice/MESWebService?wsdl";
 
 
     @ApiOperation(value = "WMS闆嗘垚娴嬭瘯-鎺ユ敹WMS绉诲簱缁撴灉", notes = "WMS闆嗘垚娴嬭瘯-鎺ユ敹WMS绉诲簱缁撴灉")
diff --git a/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java b/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java
index b3a7987..ff68abc 100644
--- a/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java
+++ b/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java
@@ -1,12 +1,19 @@
 package org.jeecg.modules.wms.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.aspect.annotation.ApiLog;
 import org.jeecg.common.constant.ApiLogCategoryEnum;
+import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
+import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService;
 import org.jeecg.modules.wms.dto.WSResponse;
 import org.jeecg.modules.wms.request.ReceiveWMSScanItemList;
+import org.jeecg.modules.wms.request.WMSWebServiceSendItem;
 import org.jeecg.modules.wms.service.MESWebServiceSoap;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
@@ -21,17 +28,36 @@
 @WebService(name = "MESWebServiceSoap", targetNamespace = "http://xhj008.server.webservice.com", endpointInterface = "org.jeecg.modules.wms.service.MESWebServiceSoap")
 public class MESWebServiceSoapImpl implements MESWebServiceSoap {
 
+    @Autowired
+    private IMesMaterialTransferRequestService materialTransferRequestService;
+
     @Override
+    @Transactional(rollbackFor = Exception.class)
     @WebMethod(operationName = "ReceiveWMSScanItemList", action = "http://xhj008.server.webservice.com/ReceiveWMSScanItemList")
     @RequestWrapper(localName = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemList")
     @ResponseWrapper(localName = "ReceiveWMSScanItemListResponse", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemListResponse")
     @WebResult(name = "ReceiveWMSScanItemListResult", targetNamespace = "http://xhj008.server.webservice.com/")
     @ApiLog(apiName = "鎺ユ敹WMS鐨勭Щ搴撲俊鎭�(ReceiveWMSScanItemList(MES)", apiCategory = ApiLogCategoryEnum.WMS)
     public WSResponse receiveWMSScanItemList(@WebParam(name = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/") ReceiveWMSScanItemList request) {
-        log.error("11111111111");
         WSResponse response = new WSResponse();
-        response.setErrorCode("-1");
-        response.setErrorDesc("鎴戞椂缁撴灉闆�");
+        if (request == null || CollectionUtil.isEmpty(request.getWmsWebServiceSendItemList())) {
+            response.setErrorCode("N");
+            response.setErrorDesc("浼犲叆鐨勫弬鏁颁负绌猴紒");
+            return response;
+        }
+        for(WMSWebServiceSendItem item : request.getWmsWebServiceSendItemList()) {
+            if(StringUtils.isNotBlank(item.getReservationOrder())) {
+                //鐗╂枡鎷夊姩鍥炶皟
+                MesMaterialTransferRequest transferRequest = materialTransferRequestService.queryByReservationCode(item.getReservationOrder());
+                if(transferRequest == null) {
+                    response.setErrorCode("N");
+                    response.setErrorDesc("鏍规嵁棰勭暀鍙锋湭鎵惧埌鐗╂枡鎷夊姩鍗曪紒");
+                    return response;
+                }
+            }else if(StringUtils.isNotBlank(item.getAlign())){
+                //绉诲簱鍗曞洖璋�
+            }
+        }
         return response;
     }
 }
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index e28975a..ecd52bc 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -132,16 +132,16 @@
         connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
       datasource:
         master:
-          url: jdbc:sqlserver://localhost:1433;databasename=LXZN_TEST_XHJ
+          url: jdbc:sqlserver://10.210.199.2:1433;databasename=LXZN_MDC_XHJ
           username: sa
-          password: 123
+          password: Lxzn1688
           driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
   #redis 閰嶇疆
   redis:
     database: 0
     host: 127.0.0.1
     port: 6379
-    password:
+    password: '1qaz@WSX'
 #mybatis plus 璁剧疆
 mybatis-plus:
   mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml

--
Gitblit v1.9.3