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