From 0cfd9c4662e4004abfd418d4e5767775e44bbbd5 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Wed, 11 Dec 2024 09:38:37 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E9=87=87=E8=B4=AD=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=87=E8=B4=AD=E8=AE=A1=E5=88=92=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=EF=BC=8C=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E5=80=99=EF=BC=8C=E4=B8=8D=E9=9C=80=E8=A6=81=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E9=94=81=E5=AE=9A=E6=95=B0=EF=BC=8C=E9=80=9A=E8=BF=87=E5=8D=A0?= =?UTF-8?q?=E7=94=A8=E5=85=B1=E4=BA=AB=E5=8F=AF=E7=94=A8=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E8=BE=BE=E5=88=B0=E9=94=81=E5=AE=9A=E6=95=B0=EF=BC=9B=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E=EF=BC=8C=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2=E7=9A=84=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=95=B0=E5=92=8C=E5=9B=BA=E5=AE=9A=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=E5=BA=93=E5=AD=98=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PurchaseOrderServiceImpl.java | 45 +++++++++---------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java index be8c7f34..869054f1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java @@ -472,10 +472,8 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService Integer sharedAvailableStockNum = Optional.ofNullable(warehouseInventoryInquiry.getSharedAvailableStockNum()).orElse(0); Integer availableStockNum = Optional.ofNullable(warehouseInventoryInquiry.getAvailableStockNum()).orElse(0); - Integer lockStockNum = Optional.ofNullable(warehouseInventoryInquiry.getLockStockNum()).orElse(0); warehouseInventoryInquiry.setAvailableStockNum(availableStockNum - sharedInventoryOccupancyNum); warehouseInventoryInquiry.setSharedAvailableStockNum(sharedAvailableStockNum - sharedInventoryOccupancyNum); - warehouseInventoryInquiry.setLockStockNum(lockStockNum + sharedInventoryOccupancyNum); warehouseInventoryInquiry.setNoOccupancyNum(sharedAvailableStockNum - sharedInventoryOccupancyNum); warehouseInventoryInquiry.setUpdateTime(new Date()); warehouseInventoryInquiry.setUpdateBy(ShiroUtils.getLoginName()); @@ -753,7 +751,6 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService /** * 采购订单审核通过,需要更新库存查询数据 * */ - private void purchaseOrderAuditApprove(PurchaseOrder purchaseOrder) { Long purchaseOrderId = purchaseOrder.getPurchaseOrderId(); @@ -761,36 +758,34 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService String purchaseOrderCode = purchaseOrderVo.getPurchaseOrderCode(); - //得到采购订单子表的数据 List purchaseOrderChildList = purchaseOrderChildMapper.selectPurchaseOrderChildByOrderCode(purchaseOrderCode); - String purchasePlanCode = purchaseOrderVo.getPurchasePlanCode(); - - //得到采购计划单号的集合 - List purchasePlanCodeList = new ArrayList<>(); + for (PurchaseOrderChild purchaseOrderChild : purchaseOrderChildList) { + String materialNo = purchaseOrderChild.getMaterialNo(); + Integer sharedInventoryOccupancyNum = purchaseOrderChild.getSharedInventoryOccupancyNum(); + WarehouseInventoryInquiry warehouseInventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); + if (warehouseInventoryInquiry != null && sharedInventoryOccupancyNum > 0){ + updateStockNumbers(warehouseInventoryInquiry, sharedInventoryOccupancyNum); + warehouseInventoryInquiry.setUpdateBy(ShiroUtils.getLoginName()); + warehouseInventoryInquiry.setUpdateTime(new Date()); + int result = inventoryInquiryMapper.updateWarehouseInventoryInquiry(warehouseInventoryInquiry); + if (result <= 0){ + throw new BusinessException("更新库存查询记录失败"); + } + } - if (StringUtils.isNotEmpty(purchasePlanCode)){ - String[] splitSalesOrderCode = purchasePlanCode.split(","); - purchasePlanCodeList = Arrays.asList(splitSalesOrderCode); } + } - // 得到采购计划主表数据 - List purchasePlanList = purchasePlanMapper.selectPurchaseOrderByPlanCodeList(purchasePlanCodeList); - // 得到采购计划子表数据 - List purchasePlanChildList = purchasePlanChildMapper.selectPurchasePlanChildPlanCodeList(purchasePlanCodeList); - - - // 创建一个 map 用于快速查找采购计划子表数据 - Map> purchasePlanChildMap = purchasePlanChildList.stream() - .collect(Collectors.groupingBy(PurchasePlanChild::getPurchasePlanCode)); - -// -// for (PurchasePlanChild purchasePlanChild : purchasePlanChildList) { -// -// } + //计算可用库存和固定可用库存 + private void updateStockNumbers(WarehouseInventoryInquiry inquiry, Integer occupancyNum) { + Integer fixedAvailableStockNum = inquiry.getFixedAvailableStockNum() != null ? inquiry.getFixedAvailableStockNum() : 0; + Integer availableStockNum = inquiry.getAvailableStockNum() != null ? inquiry.getAvailableStockNum() : 0; + inquiry.setFixedAvailableStockNum(fixedAvailableStockNum + occupancyNum); + inquiry.setAvailableStockNum(availableStockNum + occupancyNum); }