From 1ca89a52a7afdb3c596cd35090298dc6430d9c0b Mon Sep 17 00:00:00 2001 From: yiwenpeng <ywp303@163.com> Date: Thu, 27 Jun 2024 09:11:32 +0800 Subject: [PATCH] feat: 修复概率发生完成出库任务后,容器对应库位没有修改的情况 --- src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java | 2 +- src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java | 25 +++++++++++++++++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java index ab380b4..8dca008 100644 --- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java +++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java @@ -85,7 +85,7 @@ public class ShippingCombinationService { // 如果物料的供需政策为LP的,必须匹配通知单号才可以出库 - if (policy.equals("PL")) { + if (!openExhibitionRestrictions && policy.equals("LP")) { String finalNoticeNo = noticeNo; list.removeIf(detail -> !detail.getNoticeCode().equals(finalNoticeNo)); } diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java index ebfc6c1..4562f0b 100644 --- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java @@ -650,7 +650,6 @@ public class ShipmentTaskService { if (StringUtils.isEmpty(containerCode)) { throw new ServiceException("系统无" + container + "容器"); } - //将库位状态改为空闲,如果是整出的对应的容器也清空 Location fromLocationRecord = locationService.getLocationByCode(fromLocation, warehouseCode); if (StringUtils.isNull(fromLocationRecord)) { @@ -686,7 +685,13 @@ public class ShipmentTaskService { throw new ServiceException("删除临时容器失败"); } } else { - containerService.updateLocationCodeAndStatus(containerCode, "", QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode); + container.setCode(containerCode); + container.setLocationCode(""); + container.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY); + if (!containerService.updateById(container)) { + throw new ServiceException("完成出库任务时,修改容器状态失败"); + } + //containerService.updateLocationCodeAndStatus(containerCode, "", QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode); } } else { //查询是否存在关联的库存,入如果没有就修改容器状态为empty @@ -695,9 +700,21 @@ public class ShipmentTaskService { List<InventoryDetail> detailList = inventoryDetailService.list(inventoryDetaillambdaQueryWrapper); //库存查询不到该容器就把容器状态改为可用 if (detailList.isEmpty()) { - containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode); + container.setCode(containerCode); + container.setLocationCode(toLocation); + container.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY); + if (!containerService.updateById(container)) { + throw new ServiceException("完成出库任务时,修改容器状态失败"); + } + //containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode); } else { - containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_SOME, warehouseCode); + container.setCode(containerCode); + container.setLocationCode(toLocation); + container.setStatus(QuantityConstant.STATUS_CONTAINER_SOME); + if (!containerService.updateById(container)) { + throw new ServiceException("完成出库任务时,修改容器状态失败"); + } + //containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_SOME, warehouseCode); } } } -- libgit2 0.22.2