阶段数量(件)不统计后续阶段数量意外减少,采购数量为负数的条目;后续阶段详表与阶段比较报告中,采购数量为负数的条目统一记为0

This commit is contained in:
suncz
2025-10-27 11:29:39 +08:00
parent 0a8adefd81
commit a12e4cc6a9

View File

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