Commit 94168599 by wutong

修复计算头程费数量不准的问题

parent bb850d3d
......@@ -60,7 +60,7 @@ public class CalculateCostFirstJob extends PointJob {
}
public void handleChannelOrderSku(List<DcBaseCostFirst> dcBaseCostFirsts) {
//这个MAP用来放一个物流单, 每个SKU的数据
HashMap<String, DcBaseCostFirst> map = new HashMap<>();
//物流单的总重量
BigDecimal totalWeight = BigDecimal.ZERO;
......@@ -76,14 +76,16 @@ public class CalculateCostFirstJob extends PointJob {
}
//物流单内单位SKU多个quantity的总重量
BigDecimal skuTotalWeight = dcBaseSku.getWeight().multiply(BigDecimal.valueOf(dcBaseCostFirst.getQuantity()));
dcBaseCostFirst.setSkuWeight(skuTotalWeight);
totalWeight = totalWeight.add(skuTotalWeight);
if (map.get(dcBaseSku.getBailunSku()) == null) {
map.put(dcBaseSku.getBailunSku(), dcBaseCostFirst);
DcBaseCostFirst dcBaseCostFirstInMap = map.get(dcBaseSku.getBailunSku());
if (dcBaseCostFirstInMap == null) {
dcBaseCostFirst.setSkuWeight(skuTotalWeight);
dcBaseCostFirst.setQuantity(dcBaseCostFirst.getQuantity());
} else {
dcBaseCostFirst.setSkuWeight(dcBaseCostFirst.getSkuWeight().add(skuTotalWeight));
map.put(dcBaseSku.getBailunSku(), dcBaseCostFirst);
dcBaseCostFirst.setSkuWeight(dcBaseCostFirstInMap.getSkuWeight().add(skuTotalWeight));
dcBaseCostFirst.setQuantity(dcBaseCostFirstInMap.getQuantity() + dcBaseCostFirst.getQuantity());
}
map.put(dcBaseSku.getBailunSku(), dcBaseCostFirst);
}
DcMidCostFirstOrder dcMidCostFirstOrder = new DcMidCostFirstOrder();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment