阶段数量(件)不统计后续阶段数量意外减少,采购数量为负数的条目;后续阶段详表与阶段比较报告中,采购数量为负数的条目统一记为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.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<MaterialOrder, Long>
// }
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<MaterialOrder, Long>
+"_"+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);
}