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;
|
}
|
}
|