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; import javax.jws.WebResult; import javax.jws.WebService; import javax.xml.ws.RequestWrapper; import javax.xml.ws.ResponseWrapper; @Slf4j @Service @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) { WSResponse response = new WSResponse(); 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; } }