From e0e418f74c2a3278f5c25757d98879e7820ad3fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 1 Apr 2026 16:54:24 +0800 Subject: [PATCH] =?UTF-8?q?PC=E4=B8=8A=E6=9E=B6=E5=BC=82=E5=B8=B8=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/InOrderAbnormalImpl.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java index d55be09e2..3280dd2ec 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inOrderAbnormal/repository/persistence/InOrderAbnormalImpl.java @@ -150,7 +150,11 @@ public class InOrderAbnormalImpl extends ServiceImpl inOrderAbnormalList = new ArrayList<>(); for (ShelfMaterialDetail shelfMaterialDetail : shelfMaterialDetailList){ //上架 - if (shelfMaterialDetail.getShelvesQuantity().compareTo(shelfMaterialDetail.getQuantity()) != 0&&shelfMaterialDetail.getLevel() == 1){ + BigDecimal actualShelvesQty = shelfMaterialDetail.getAlreadyShelvesQuantity() != null + ? shelfMaterialDetail.getAlreadyShelvesQuantity() + : (shelfMaterialDetail.getShelvesQuantity() != null ? shelfMaterialDetail.getShelvesQuantity() : BigDecimal.ZERO); + BigDecimal planQty = shelfMaterialDetail.getQuantity() != null ? shelfMaterialDetail.getQuantity() : BigDecimal.ZERO; + if (actualShelvesQty.compareTo(planQty) != 0){ //判断是否存在异常 根据设置的是否允许超收 取值动态赋值 先默认写死 收货异常 InOrderAbnormal inOrderAbnormal = new InOrderAbnormal(); //赋值基础数据 @@ -158,19 +162,19 @@ public class InOrderAbnormalImpl extends ServiceImpl 0){ + if (actualShelvesQty.compareTo(planQty) > 0){ //上架数量大于收货数量 inOrderAbnormal.setAbnormalType(1); - inOrderAbnormal.setActualQuantity(shelfMaterialDetail.getShelvesQuantity()); + inOrderAbnormal.setActualQuantity(actualShelvesQty); inOrderAbnormal.setAbnormalReason("上架数量大于收货数量"); - }else if (shelfMaterialDetail.getAlreadyShelvesQuantity().compareTo(shelfMaterialDetail.getQuantity()) < 0){ + }else if (actualShelvesQty.compareTo(planQty) < 0){ //上架数量小于收货数量 inOrderAbnormal.setAbnormalType(1); - inOrderAbnormal.setActualQuantity(shelfMaterialDetail.getShelvesQuantity()); + inOrderAbnormal.setActualQuantity(actualShelvesQty); inOrderAbnormal.setAbnormalReason("上架数量小于收货数量"); } - inOrderAbnormal.setAllowActualQuantity(shelfMaterialDetail.getQuantity()); - inOrderAbnormal.setAbnormalActualQuantity(shelfMaterialDetail.getShelvesQuantity().subtract(shelfMaterialDetail.getQuantity())); + inOrderAbnormal.setAllowActualQuantity(planQty); + inOrderAbnormal.setAbnormalActualQuantity(actualShelvesQty.subtract(planQty)); inOrderAbnormal.setCreateBy(loginUser.getUserid()); inOrderAbnormal.setCreateByName(userRealName); inOrderAbnormal.setCreateTime(new Date());