Commit 94168599 by wutong

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

parent bb850d3d
...@@ -60,7 +60,7 @@ public class CalculateCostFirstJob extends PointJob { ...@@ -60,7 +60,7 @@ public class CalculateCostFirstJob extends PointJob {
} }
public void handleChannelOrderSku(List<DcBaseCostFirst> dcBaseCostFirsts) { public void handleChannelOrderSku(List<DcBaseCostFirst> dcBaseCostFirsts) {
//这个MAP用来放一个物流单, 每个SKU的数据
HashMap<String, DcBaseCostFirst> map = new HashMap<>(); HashMap<String, DcBaseCostFirst> map = new HashMap<>();
//物流单的总重量 //物流单的总重量
BigDecimal totalWeight = BigDecimal.ZERO; BigDecimal totalWeight = BigDecimal.ZERO;
...@@ -76,14 +76,16 @@ public class CalculateCostFirstJob extends PointJob { ...@@ -76,14 +76,16 @@ public class CalculateCostFirstJob extends PointJob {
} }
//物流单内单位SKU多个quantity的总重量 //物流单内单位SKU多个quantity的总重量
BigDecimal skuTotalWeight = dcBaseSku.getWeight().multiply(BigDecimal.valueOf(dcBaseCostFirst.getQuantity())); BigDecimal skuTotalWeight = dcBaseSku.getWeight().multiply(BigDecimal.valueOf(dcBaseCostFirst.getQuantity()));
dcBaseCostFirst.setSkuWeight(skuTotalWeight);
totalWeight = totalWeight.add(skuTotalWeight); totalWeight = totalWeight.add(skuTotalWeight);
if (map.get(dcBaseSku.getBailunSku()) == null) { DcBaseCostFirst dcBaseCostFirstInMap = map.get(dcBaseSku.getBailunSku());
map.put(dcBaseSku.getBailunSku(), dcBaseCostFirst); if (dcBaseCostFirstInMap == null) {
dcBaseCostFirst.setSkuWeight(skuTotalWeight);
dcBaseCostFirst.setQuantity(dcBaseCostFirst.getQuantity());
} else { } else {
dcBaseCostFirst.setSkuWeight(dcBaseCostFirst.getSkuWeight().add(skuTotalWeight)); dcBaseCostFirst.setSkuWeight(dcBaseCostFirstInMap.getSkuWeight().add(skuTotalWeight));
map.put(dcBaseSku.getBailunSku(), dcBaseCostFirst); dcBaseCostFirst.setQuantity(dcBaseCostFirstInMap.getQuantity() + dcBaseCostFirst.getQuantity());
} }
map.put(dcBaseSku.getBailunSku(), dcBaseCostFirst);
} }
DcMidCostFirstOrder dcMidCostFirstOrder = new DcMidCostFirstOrder(); 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