diff --git a/src/main/java/com/vverp/service/MaterialOrderService.java b/src/main/java/com/vverp/service/MaterialOrderService.java index 940fa60..53c2ed5 100644 --- a/src/main/java/com/vverp/service/MaterialOrderService.java +++ b/src/main/java/com/vverp/service/MaterialOrderService.java @@ -679,10 +679,10 @@ public class MaterialOrderService extends BaseOrderService +"_"+materialOrderItem.getMakeCode()+"_"+materialOrderItem.getMaterialType() +"_"+materialOrderItem.getEndFace()+"_"+materialOrderItem.getPressureLevel(); if (!countMap.containsKey(str)){ - countMap.put(str,materialOrderItem.getCount()); + countMap.put(str,materialOrderItem.getCount().compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : materialOrderItem.getCount()); }else { BigDecimal count = countMap.get(str); - count = count.add(materialOrderItem.getCount()); + count = count.add(materialOrderItem.getCount().compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : materialOrderItem.getCount()); countMap.put(str,count); } } @@ -1093,9 +1093,9 @@ public class MaterialOrderService extends BaseOrderService // } item.setTotalWeight(totalWeight == null ? (product.getgWeight()==null?BigDecimal.ZERO:product.getgWeight()).multiply(count) : totalWeight); orderCount = orderCount.add(count); - if(negativeCount.compareTo(BigDecimal.ZERO)<0){//后续阶段数量意外减少,采购数量为负数 - orderCount = orderCount.add(negativeCount); - } +// if(negativeCount.compareTo(BigDecimal.ZERO)<0){//后续阶段数量意外减少,采购数量为负数 +// orderCount = orderCount.add(negativeCount); +// } item.setSupplierIds(new ArrayList<>()); for (Integer key : valueMap.keySet()) { @@ -1248,11 +1248,12 @@ public class MaterialOrderService extends BaseOrderService +"_"+prevItem.getProductCode()+"_"+prevItem.getPurchaseCode() +"_"+prevItem.getMakeCode()+"_"+prevItem.getMaterialType() +"_"+prevItem.getEndFace()+"_"+prevItem.getPressureLevel(); + // 如果 prevItem.getCount()的值 小于0,则返回 BigDecimal.ZERO, 大于或等于0,返回 prevItem.getCount()本身。 if (!prevMap.containsKey(str)){ - prevMap.put(str,prevItem.getCount()); + prevMap.put(str,prevItem.getCount().compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : prevItem.getCount()); prevMapM.put(str,prevItem); }else { - BigDecimal prevCount = prevMap.get(str).add(prevItem.getCount()); + BigDecimal prevCount = prevMap.get(str).add(prevItem.getCount().compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : prevItem.getCount()); prevMap.put(str,prevCount); prevMapM.put(str,prevItem); }