diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java index 470384e..f68e666 100644 --- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java +++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java @@ -94,4 +94,6 @@ public class MesController extends HuahengBaseController { Result result = mesService.shipmentMaterial(mesReceiptMaterial, warehouseCode); return result; } + + } diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java index 2d2068d..705cfae 100644 --- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java +++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java @@ -5,11 +5,15 @@ import lombok.Data; import java.math.BigDecimal; import java.util.List; +/** + * @author 游杰 + */ @Data public class MesReceiptMaterial { private String referCode; private String containerCode; + private String toPort; private List<MaterialInfo> materialInfoList; } diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java index efe4888..da90436 100644 --- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java +++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java @@ -2,6 +2,7 @@ package org.jeecg.modules.wms.api.mes.servuce; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.wms.api.mes.entity.MesReceiptMaterial; +import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; /** * @author 游杰 @@ -11,4 +12,8 @@ public interface IMesService { public Result receiptMaterial(MesReceiptMaterial mesReceiptMaterial, String warehouseCode); public Result shipmentMaterial(MesReceiptMaterial mesMaterial, String warehouseCode); + + public Result backMesReceipt(TaskHeader taskHeader); + + public Result backMesShipment(TaskHeader taskHeader); } diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java index 173adff..f22e57c 100644 --- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java +++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java @@ -1,15 +1,19 @@ package org.jeecg.modules.wms.api.mes.servuce.impl; +import com.aliyun.oss.ServiceException; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.wms.api.mes.entity.MaterialInfo; import org.jeecg.modules.wms.api.mes.entity.MesReceiptMaterial; import org.jeecg.modules.wms.api.mes.servuce.IMesService; +import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerHeader; +import org.jeecg.modules.wms.receipt.receiptContainerHeader.service.IReceiptContainerHeaderService; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService; import org.jeecg.modules.wms.receipt.receiving.domain.Receive; import org.jeecg.modules.wms.receipt.receiving.service.IReceiveService; +import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -29,6 +33,8 @@ public class MesServiceImpl implements IMesService { private IReceiptDetailService receiptDetailService; @Resource private IReceiveService receiveService; + @Resource + private IReceiptContainerHeaderService receiptContainerHeaderService; /** * 要求入库单详情 必须是不重样的 @@ -39,15 +45,19 @@ public class MesServiceImpl implements IMesService { List<Receive> receiveList = new ArrayList<>(); String referCode = mesReceiptMaterial.getReferCode(); String containerCode = mesReceiptMaterial.getContainerCode(); + String toPort = mesReceiptMaterial.getToPort(); List<MaterialInfo> materialInfoList = mesReceiptMaterial.getMaterialInfoList(); ReceiptHeader receiptHeader = receiptHeaderService.getReceiptHeaderByReferCode(referCode, warehouseCode); List<ReceiptDetail> receiptDetailList = receiptDetailService.selectByMainId(String.valueOf(receiptHeader.getId())); for (ReceiptDetail receiptDetail : receiptDetailList) { String materialCode = receiptDetail.getMaterialCode(); + BigDecimal taskQty = BigDecimal.ZERO; boolean hav = false; for (MaterialInfo materialInfo : materialInfoList) { if(materialInfo.getMaterialCode().equals(materialCode)) { hav = true; + taskQty = materialInfo.getQty(); + break; } } if(hav) { @@ -60,16 +70,39 @@ public class MesServiceImpl implements IMesService { receive.setMaterialUnit(receiptDetail.getMaterialUnit()); receive.setInventoryStatus(receiptDetail.getInventoryStatus()); receive.setQty(receiptDetail.getQty()); - receive.setTaskQty(BigDecimal.ZERO); + receive.setTaskQty(taskQty); receiveList.add(receive); } } - return receiveService.receiving(receiveList, warehouseCode); + Result result = receiveService.receiving(receiveList, warehouseCode); + if(!result.isSuccess()) { + throw new ServiceException(result.getMessage()); + } + ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService. + getUnCompleteReceiptContainerByCode(containerCode, warehouseCode); + if(receiptContainerHeader == null) { + throw new ServiceException(result.getMessage()); + } + receiptContainerHeader.setToPort(toPort); + boolean success = receiptContainerHeaderService.updateById(receiptContainerHeader); + if(!success) { + throw new ServiceException("更新入库组盘头失败"); + } + return receiptContainerHeaderService.createReceiptTask(receiptContainerHeader, warehouseCode); } @Override public Result shipmentMaterial(MesReceiptMaterial mesMaterial, String warehouseCode) { + return null; + } + @Override + public Result backMesReceipt(TaskHeader taskHeader) { + return null; + } + + @Override + public Result backMesShipment(TaskHeader taskHeader) { return null; } }