Commit 62708ece by wutong

修复订单空指针问题

parent 535f8937
......@@ -573,9 +573,8 @@ public class OrderSyncJob extends PointJob {
* 每个SKU 单独存放, 方便导数据
* 返回已发货的SKU 总成本
*/
private BigDecimal handPickingOrder(DcBaseOmsOrder dcBaseOmsOrder, OmsResult omsResult, Map<String, BailunSkuStructure> skuStructureMap) {
private void handPickingOrder(DcBaseOmsOrder dcBaseOmsOrder, OmsResult omsResult, Map<String, BailunSkuStructure> skuStructureMap) {
List<PickingOrder> pickingOrderList = omsResult.getPickingOrder();
BigDecimal totalShippedSkuPrice = BigDecimal.ZERO;
BigDecimal totalCostPackaging = BigDecimal.ZERO;
BigDecimal totalCostShipping = BigDecimal.ZERO;
if (pickingOrderList != null && pickingOrderList.size() > 0) {
......@@ -590,9 +589,8 @@ public class OrderSyncJob extends PointJob {
if (pickingItems != null && pickingItems.size() > 0) {
for (PickingItem pickingItem : pickingItems) {
DcBaseOmsPick dcBaseOmsPick = new DcBaseOmsPick();
totalShippedSkuPrice = totalShippedSkuPrice.add(skuStructureMap.get(pickingItem.getBailunSku()).getBailunSkuUnitPrice().multiply(pickingItem.getQuantityShipped() != null ? BigDecimal.valueOf(pickingItem.getQuantityShipped()) : BigDecimal.ZERO));
DcBaseOmsSku dcBaseOmsSku = skuStructureMap.get(pickingItem.getBailunSku()).getDcBaseOmsSku();
BigDecimal weightRatio = skuStructureMap.get(pickingItem.getBailunSku()) != null ? skuStructureMap.get(pickingItem.getBailunSku()).getSkuWeightRatio() : BigDecimal.ONE;
BailunSkuStructure bailunSkuStructure = skuStructureMap.get(pickingItem.getBailunSku());
BigDecimal weightRatio = bailunSkuStructure != null ? bailunSkuStructure.getSkuWeightRatio() : BigDecimal.ONE;
dcBaseOmsPick.setCostPackaging(skuCostPackaging);
dcBaseOmsPick.setCostShipping(skuCostShipping);
dcBaseOmsPick.setOutboundWeight(outboundWeight);
......@@ -621,11 +619,13 @@ public class OrderSyncJob extends PointJob {
dcBaseOmsPick.setTrackingOrderId(pickingOrder.getTrackingOrderId());
dcBaseOmsPick.setTrackingProvider(pickingOrder.getTrackingProvider());
dcBaseOmsSku.setBailunSkuQuantityShipped(dcBaseOmsSku.getBailunSkuQuantityShipped() != null ? dcBaseOmsSku.getBailunSkuQuantityShipped() + dcBaseOmsPick.getQuantityShipped() : dcBaseOmsPick.getQuantityShipped());
dcBaseOmsSku.setBailunSkuQuantityPicked(dcBaseOmsSku.getBailunSkuQuantityPicked() != null ? dcBaseOmsSku.getBailunSkuQuantityPicked() + dcBaseOmsPick.getQuantityPicked() : dcBaseOmsPick.getQuantityPicked());
dcBaseOmsSku.setCostHandlePlatform(dcBaseOmsSku.getCostHandlePlatform() != null ? dcBaseOmsSku.getCostHandlePlatform().add(dcBaseOmsPick.getBailunSkuCostPackaging()) : dcBaseOmsPick.getBailunSkuCostPackaging());
dcBaseOmsSku.setCostTail(dcBaseOmsSku.getCostTail() != null ? dcBaseOmsSku.getCostTail().add(dcBaseOmsPick.getBailunSkuCostShipping()) : dcBaseOmsPick.getBailunSkuCostShipping());
if (bailunSkuStructure != null) {
DcBaseOmsSku dcBaseOmsSku = bailunSkuStructure.getDcBaseOmsSku();
dcBaseOmsSku.setBailunSkuQuantityShipped(dcBaseOmsSku.getBailunSkuQuantityShipped() != null ? dcBaseOmsSku.getBailunSkuQuantityShipped() + dcBaseOmsPick.getQuantityShipped() : dcBaseOmsPick.getQuantityShipped());
dcBaseOmsSku.setBailunSkuQuantityPicked(dcBaseOmsSku.getBailunSkuQuantityPicked() != null ? dcBaseOmsSku.getBailunSkuQuantityPicked() + dcBaseOmsPick.getQuantityPicked() : dcBaseOmsPick.getQuantityPicked());
dcBaseOmsSku.setCostHandlePlatform(dcBaseOmsSku.getCostHandlePlatform() != null ? dcBaseOmsSku.getCostHandlePlatform().add(dcBaseOmsPick.getBailunSkuCostPackaging()) : dcBaseOmsPick.getBailunSkuCostPackaging());
dcBaseOmsSku.setCostTail(dcBaseOmsSku.getCostTail() != null ? dcBaseOmsSku.getCostTail().add(dcBaseOmsPick.getBailunSkuCostShipping()) : dcBaseOmsPick.getBailunSkuCostShipping());
}
try {
DcBaseOmsPickMapper mapper = SessionUtil.getSession().getMapper(DcBaseOmsPickMapper.class);
int i = mapper.updateByExampleSelective(dcBaseOmsPick, DcBaseOmsPickExample.newAndCreateCriteria().andOriginOrderIdEqualTo(dcBaseOmsPick.getOriginOrderId())
......@@ -646,7 +646,6 @@ public class OrderSyncJob extends PointJob {
}
dcBaseOmsOrder.setCostHandlePlatform(totalCostPackaging);
dcBaseOmsOrder.setCostTail(totalCostShipping);
return totalShippedSkuPrice;
}
/**
......
......@@ -78,7 +78,7 @@ public class OmsOrderTest {
LinkedHashMap<String, String> map = new LinkedHashMap<>(4);
map.put("pageIndex", "1");
map.put("pageCount", "100");
map.put("OriginOrderNo", "362559132611-1018875748023");
map.put("OriginOrderNo", "406-5004976-5589129");
Request request = new Request.Builder()
.get()
.url(OkHttpUtil.attachHttpGetParams("http://oms.bailuntec.com/apiV2/bailunOrder/getBailunOrders", map))
......
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