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());