新火炬后端单体项目初始化代码
zhangherong
昨天 a27f1b573fc5cf9a3b78e2eacb56e44310f83456
src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java
@@ -5,7 +5,12 @@
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.aspect.annotation.ApiLog;
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.LswMaterialInbound;
import org.jeecg.modules.lsw.service.ILswMaterialInboundService;
import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
import org.jeecg.modules.mes.enums.MaterialTransferRequestStatus;
import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService;
import org.jeecg.modules.wms.dto.WSResponse;
import org.jeecg.modules.wms.request.ReceiveWMSScanItemList;
@@ -21,6 +26,7 @@
import javax.jws.WebService;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import java.math.BigDecimal;
@Slf4j
@@ -30,6 +36,10 @@
    @Autowired
    private IMesMaterialTransferRequestService materialTransferRequestService;
    @Autowired
    private ILineSideWarehouseService lineSideWarehouseService;
    @Autowired
    private ILswMaterialInboundService materialInboundService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -45,16 +55,58 @@
            response.setErrorDesc("传入的参数为空!");
            return response;
        }
        for(WMSWebServiceSendItem item : request.getWmsWebServiceSendItemList()) {
            if(StringUtils.isNotBlank(item.getReservationOrder())) {
        String errorCode = "N";
        int errorCount = 0;
        int successCount = 0;
        StringBuilder errorMsg = new StringBuilder();
        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;
                if (transferRequest == null) {
                    errorCount++;
                    errorMsg.append("根据预留号[").append(item.getReservationOrder()).append("]未找到物料拉动单!");
                    continue;
                }
            }else if(StringUtils.isNotBlank(item.getAlign())){
                LineSideWarehouse warehouse = lineSideWarehouseService.getById(transferRequest.getTargetWarehouseId());
                if(warehouse == null || !warehouse.getWarehouseCode().equals(item.getDestSection())) {
                    errorCount++;
                    errorMsg.append("线边库[").append(item.getDestSection()).append("]未找到!");
                    continue;
                }
                if(!transferRequest.getMaterialNumber().equals(item.getSkuCode())) {
                    errorCount++;
                    errorMsg.append("物料编号[").append(item.getSkuCode()).append("]不匹配!");
                    continue;
                }
                if(StringUtils.isBlank(item.getTrackLot())) {
                    errorCount++;
                    errorMsg.append("批次号[").append(item.getTrackLot()).append("]不能为空!");
                    continue;
                }
                transferRequest.setRequestStatus(MaterialTransferRequestStatus.CHECKED_IN.name());
                //计算实际拉动数量
                BigDecimal actualQuantity = transferRequest.getActualQuantity() == null ? item.getQuantity() : transferRequest.getActualQuantity().add(item.getQuantity());
                transferRequest.setActualQuantity(actualQuantity);
                //添加入库信息
                LswMaterialInbound inbound = new LswMaterialInbound();
                inbound.setWarehouseId(transferRequest.getTargetWarehouseId());
                inbound.setReceiver("WMS");
                inbound.setMaterialNumber(transferRequest.getMaterialNumber());
                inbound.setMaterialName(transferRequest.getMaterialName());
                inbound.setBatchNumber(item.getTrackLot());
                inbound.setQuantity(item.getQuantity());
                inbound.setFactoryId(warehouse.getFactoryId());
                boolean b = materialInboundService.inboundMaterial(inbound);
                if(!b) {
                    errorCount++;
                    errorMsg.append("预留号[").append(item.getReservationOrder()).append("]入库失败!");
                    continue;
                }
                //更新物料拉动单
                materialTransferRequestService.updateById(transferRequest);
            } else if (StringUtils.isNotBlank(item.getAlign())) {
                //移库单回调
            }
        }