From 1b50b52153c598b05b57b5bca0f5b4ca957336c0 Mon Sep 17 00:00:00 2001 From: youjie <272855983@qq.com> Date: Sat, 14 Jan 2023 08:37:05 +0800 Subject: [PATCH] MES生成入库任务 --- jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java | 1 + jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java | 27 +++++++++++++++++++++++++-- jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java | 2 +- jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java | 3 ++- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java index 2d2068d..6046384 100644 --- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java +++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java @@ -10,6 +10,7 @@ public class MesReceiptMaterial { private String referCode; private String containerCode; + private String toPort; private List<MaterialInfo> materialInfoList; } diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java index 173adff..5cda275 100644 --- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java +++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java @@ -1,9 +1,12 @@ 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; @@ -28,6 +31,8 @@ public class MesServiceImpl implements IMesService { @Resource private IReceiptDetailService receiptDetailService; @Resource + private IReceiptContainerHeaderService receiptContainerHeaderService; + @Resource private IReceiveService receiveService; /** @@ -39,15 +44,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,11 +69,25 @@ 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 diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java index a659298..71a6926 100644 --- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java +++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java @@ -108,7 +108,7 @@ public class LocationAllocationServiceImpl implements LocationAllocationService roadWays = locationList.stream().map(Location::getRoadWay).distinct().collect(toList()); } String value = parameterConfigurationService.getValueByCode(QuantityConstant.DOUBLE_FORK_RESERVE_LOCATION); - int reserveNumber = 10; + int reserveNumber = 4; if(StringUtils.isNotEmpty(value)) { reserveNumber = Integer.parseInt(value); } diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java index e07ae1b..eb62f92 100644 --- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java +++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java @@ -86,7 +86,8 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container } @Override - public boolean updateLocationCodeAndStatus(String containerCode, String locationCode, String status, String warehouseCode) { + public boolean updateLocationCodeAndStatus(String containerCode, String locationCode, + String status, String warehouseCode) { Container container = getContainerByCode(containerCode, warehouseCode); if(container == null) { return false; -- libgit2 0.22.2