From 1b3d98ac8232c025430db364d1230a9a1dd36be7 Mon Sep 17 00:00:00 2001 From: wangpengyu <1723693596@qq.com> Date: Thu, 30 Nov 2023 09:21:16 +0800 Subject: [PATCH] 创建出库查看、质检任务添加限制 --- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java index c68e991..2f069cf 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java @@ -320,6 +320,19 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if (StringUtils.isEmpty(containerCode)) { return Result.error("创建出库查看任务时,容器编码为空"); } + + //创建出库查看任务时,库存不能被冻结 + LambdaQueryWrapper<InventoryDetail> inventoryDetailWrapper = Wrappers.lambdaQuery(); + inventoryDetailWrapper.eq(InventoryDetail::getContainerCode,containerCode); + List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailWrapper); + if (StringUtils.isEmpty(inventoryDetailList)) { + return Result.error("创建出库查看任务时,库存详情为空"); + } + List<Integer> enableList = inventoryDetailList.stream().map(InventoryDetail::getEnable).distinct().collect(Collectors.toList()); + if (enableList.contains(QuantityConstant.INVENTORY_DETAIL_STATUS_CONTAINER)) { + return Result.error("创建出库查看任务时,库存详情被冻结"); + } + if (StringUtils.isEmpty(toPortCode)) { return Result.error("创建出库查看任务时,目标站台号为空"); } @@ -440,24 +453,30 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); List<TaskDetail> taskDetailList = new ArrayList<>(); if (inventoryDetailList.size() != 0) { + List<Integer> enableList = inventoryDetailList.stream().map(InventoryDetail::getEnable).distinct().collect(Collectors.toList()); + if (!enableList.contains(QuantityConstant.INVENTORY_DETAIL_STATUS_ENABLE)) { + return Result.error("没有正常状态的库存详情"); + } for (InventoryDetail inventoryDetail : inventoryDetailList) { - TaskDetail taskDetail = new TaskDetail(); - taskDetail.setTaskHeaderId(taskHeader.getId()); - taskDetail.setTaskType(QuantityConstant.TASK_TYPE_QUALITY); - taskDetail.setWarehouseCode(warehouseCode); - taskDetail.setCompanyCode(inventoryDetail.getCompanyCode()); - taskDetail.setMaterialCode(inventoryDetail.getMaterialCode()); - taskDetail.setMaterialName(inventoryDetail.getMaterialName()); - taskDetail.setMaterialSpec(inventoryDetail.getMaterialSpec()); - taskDetail.setMaterialUnit(inventoryDetail.getMaterialUnit()); - taskDetail.setFromInventoryDetailId(inventoryDetail.getId()); - taskDetail.setInventoryStatus(inventoryDetail.getInventoryStatus()); - taskDetail.setQty(inventoryDetail.getQty()); - taskDetail.setBatch(inventoryDetail.getBatch()); - taskDetail.setLot(inventoryDetail.getLot()); - taskDetail.setProject(inventoryDetail.getProject()); - taskDetail.setReceiveTime(inventoryDetail.getReceiveTime()); - taskDetailList.add(taskDetail); + if (inventoryDetail.getEnable() == QuantityConstant.INVENTORY_DETAIL_STATUS_ENABLE) { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.setTaskHeaderId(taskHeader.getId()); + taskDetail.setTaskType(QuantityConstant.TASK_TYPE_QUALITY); + taskDetail.setWarehouseCode(warehouseCode); + taskDetail.setCompanyCode(inventoryDetail.getCompanyCode()); + taskDetail.setMaterialCode(inventoryDetail.getMaterialCode()); + taskDetail.setMaterialName(inventoryDetail.getMaterialName()); + taskDetail.setMaterialSpec(inventoryDetail.getMaterialSpec()); + taskDetail.setMaterialUnit(inventoryDetail.getMaterialUnit()); + taskDetail.setFromInventoryDetailId(inventoryDetail.getId()); + taskDetail.setInventoryStatus(inventoryDetail.getInventoryStatus()); + taskDetail.setQty(inventoryDetail.getQty()); + taskDetail.setBatch(inventoryDetail.getBatch()); + taskDetail.setLot(inventoryDetail.getLot()); + taskDetail.setProject(inventoryDetail.getProject()); + taskDetail.setReceiveTime(inventoryDetail.getReceiveTime()); + taskDetailList.add(taskDetail); + } } success = taskDetailService.saveBatch(taskDetailList); if (!success) { -- libgit2 0.22.2