From 30f750d98beccae02b87f5f97d114d030fbccd83 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 06 九月 2025 10:11:13 +0800 Subject: [PATCH] art: WebService接口修改, --- src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 91 insertions(+), 23 deletions(-) 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 8e69a64..d80623a 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 @@ -7,12 +7,21 @@ import org.jeecg.common.constant.ApiLogCategoryEnum; import org.jeecg.modules.base.entity.LineSideWarehouse; import org.jeecg.modules.base.service.ILineSideWarehouseService; +import org.jeecg.modules.lsw.entity.LswMaterial; import org.jeecg.modules.lsw.entity.LswMaterialInbound; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.entity.LswMaterialOutbound; import org.jeecg.modules.lsw.service.ILswMaterialInboundService; +import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; +import org.jeecg.modules.lsw.service.ILswMaterialService; import org.jeecg.modules.mes.entity.MesMaterialTransferRequest; +import org.jeecg.modules.mes.entity.MesTransferOrderPrint; import org.jeecg.modules.mes.enums.MaterialTransferRequestStatus; +import org.jeecg.modules.mes.enums.TransferOrderStatusEnum; import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService; -import org.jeecg.modules.wms.dto.WSResponse; +import org.jeecg.modules.mes.service.IMesTransferOrderPrintService; +import org.jeecg.modules.wms.dto.MESResponse; import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; import org.jeecg.modules.wms.request.WMSWebServiceSendItem; import org.jeecg.modules.wms.service.MESWebServiceSoap; @@ -20,17 +29,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebResult; import javax.jws.WebService; -import javax.xml.ws.RequestWrapper; -import javax.xml.ws.ResponseWrapper; import java.math.BigDecimal; @Slf4j -@Service +@Service("MESWebServiceSoap") @WebService(name = "MESWebServiceSoap", targetNamespace = "http://xhj008.server.webservice.com", endpointInterface = "org.jeecg.modules.wms.service.MESWebServiceSoap") public class MESWebServiceSoapImpl implements MESWebServiceSoap { @@ -40,22 +44,25 @@ private ILineSideWarehouseService lineSideWarehouseService; @Autowired private ILswMaterialInboundService materialInboundService; + @Autowired + private IMesTransferOrderPrintService transferOrderPrintService; + @Autowired + private ILswMaterialOutboundService materialOutboundService; + @Autowired + private ILswMaterialInventoryService materialInventoryService; + @Autowired + private ILswMaterialService materialService; @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) { - WSResponse response = new WSResponse(); + public MESResponse receiveWMSScanItemList(ReceiveWMSScanItemList request) { + MESResponse response = new MESResponse(); if (request == null || CollectionUtil.isEmpty(request.getWmsWebServiceSendItemList())) { response.setErrorCode("N"); response.setErrorDesc("浼犲叆鐨勫弬鏁颁负绌猴紒"); return response; } - String errorCode = "N"; int errorCount = 0; int successCount = 0; StringBuilder errorMsg = new StringBuilder(); @@ -65,23 +72,23 @@ MesMaterialTransferRequest transferRequest = materialTransferRequestService.queryByReservationCode(item.getReservationOrder()); if (transferRequest == null) { errorCount++; - errorMsg.append("鏍规嵁棰勭暀鍙穂").append(item.getReservationOrder()).append("]鏈壘鍒扮墿鏂欐媺鍔ㄥ崟锛�"); + errorMsg.append("鏍规嵁棰勭暀鍙穂").append(item.getReservationOrder()).append("]鏈壘鍒扮墿鏂欐媺鍔ㄥ崟锛乗n"); continue; } LineSideWarehouse warehouse = lineSideWarehouseService.getById(transferRequest.getTargetWarehouseId()); - if(warehouse == null || !warehouse.getWarehouseCode().equals(item.getDestSection())) { + if (warehouse == null || !warehouse.getWarehouseCode().equals(item.getDestSection())) { errorCount++; - errorMsg.append("绾胯竟搴揫").append(item.getDestSection()).append("]鏈壘鍒帮紒"); + errorMsg.append("绾胯竟搴揫").append(item.getDestSection()).append("]鏈壘鍒帮紒\n"); continue; } - if(!transferRequest.getMaterialNumber().equals(item.getSkuCode())) { + if (!transferRequest.getMaterialNumber().equals(item.getSkuCode())) { errorCount++; - errorMsg.append("鐗╂枡缂栧彿[").append(item.getSkuCode()).append("]涓嶅尮閰嶏紒"); + errorMsg.append("鐗╂枡缂栧彿[").append(item.getSkuCode()).append("]涓嶅尮閰嶏紒\n"); continue; } - if(StringUtils.isBlank(item.getTrackLot())) { + if (StringUtils.isBlank(item.getTrackLot())) { errorCount++; - errorMsg.append("鎵规鍙穂").append(item.getTrackLot()).append("]涓嶈兘涓虹┖锛�"); + errorMsg.append("鎵规鍙穂").append(item.getTrackLot()).append("]涓嶈兘涓虹┖锛乗n"); continue; } transferRequest.setRequestStatus(MaterialTransferRequestStatus.CHECKED_IN.name()); @@ -99,17 +106,78 @@ inbound.setQuantity(item.getQuantity()); inbound.setFactoryId(warehouse.getFactoryId()); boolean b = materialInboundService.inboundMaterial(inbound); - if(!b) { + if (!b) { errorCount++; - errorMsg.append("棰勭暀鍙穂").append(item.getReservationOrder()).append("]鍏ュ簱澶辫触锛�"); + errorMsg.append("棰勭暀鍙穂").append(item.getReservationOrder()).append("]鍏ュ簱澶辫触锛乗n"); continue; } //鏇存柊鐗╂枡鎷夊姩鍗� materialTransferRequestService.updateById(transferRequest); + successCount++; } else if (StringUtils.isNotBlank(item.getAlign())) { //绉诲簱鍗曞洖璋� + MesTransferOrderPrint transferOrder = transferOrderPrintService.queryByOrderCode(item.getAlign()); + if (transferOrder == null) { + errorCount++; + errorMsg.append("绉诲簱鍗昜").append(item.getAlign()).append("]涓嶅瓨鍦紒\n"); + continue; + } + LswMaterialInventory inventory = materialInventoryService.getById(item.getMesStockID()); + if (inventory == null) { + errorCount++; + errorMsg.append("搴撳瓨淇℃伅[").append(item.getMesStockID()).append("]涓嶅瓨鍦紒\n"); + continue; + } + LswMaterial material = materialService.queryByMaterialNumber(item.getSkuCode()); + if(material == null) { + errorCount++; + errorMsg.append("鐗╂枡缂栧彿[").append(item.getSkuCode()).append("]涓嶅瓨鍦紒\n"); + continue; + } + LineSideWarehouse warehouse = lineSideWarehouseService.getById(transferOrder.getOriginalWarehouseId()); + if (warehouse == null || !warehouse.getWarehouseCode().equals(item.getDestSection())) { + errorCount++; + errorMsg.append("绾胯竟搴揫").append(item.getDestSection()).append("]鏈壘鍒帮紒\n"); + continue; + } + //绉诲簱鍗曟洿鏀� + transferOrder.setOrderStatus(TransferOrderStatusEnum.COMPLETED.name()); + //鎴愬搧鍑哄簱 + LswMaterialOutbound outbound = new LswMaterialOutbound(); + outbound.setBatchNumber(inventory.getBatchNumber()); + outbound.setQuantity(item.getQuantity()); + outbound.setMaterialNumber(material.getMaterialNumber()); + outbound.setMaterialName(material.getMaterialName()); + outbound.setInventoryId(inventory.getId()); + outbound.setWarehouseId(transferOrder.getOriginalWarehouseId()); + outbound.setFactoryId(warehouse.getFactoryId()); + outbound.setOutboundStaff("WMS"); + boolean b = materialOutboundService.outboundMaterial(outbound); + if (!b) { + errorCount++; + errorMsg.append("绉诲簱鍗昜").append(item.getAlign()).append("]鍑哄簱澶辫触锛乗n"); + continue; + } + transferOrderPrintService.updateById(transferOrder); + successCount++; } } + //澶勭悊杩斿洖缁撴灉 + if (errorCount > 0) { + response.setErrorCode("N"); + if (successCount > 0) { + String msg = "鎴愬姛鎵ц" + successCount + "鏉★紝澶辫触" + errorCount + "鏉★紒\n"; + errorMsg.insert(0, msg); + } else { + String msg = "澶辫触" + errorCount + "鏉★紒\n"; + errorMsg.insert(0, msg); + } + response.setErrorDesc(errorMsg.toString()); + } else { + response.setErrorCode("Y"); + String msg = "鎴愬姛鎵ц" + successCount + "鏉★紒\n"; + response.setErrorDesc(msg); + } return response; } } -- Gitblit v1.9.3