Commit 615d8c2b by wutong

订单处理修复未发货SKU有运费的问题

parent 683ca775
...@@ -245,7 +245,7 @@ public class OrderSyncJob extends PointJob { ...@@ -245,7 +245,7 @@ public class OrderSyncJob extends PointJob {
BigDecimal totalCostPaypalFeeRMB = dcBaseOmsOrder.getCostPaypalFee().multiply(dcBaseOmsOrder.getSellerOrderExchangeRate()).setScale(3, RoundingMode.HALF_EVEN); BigDecimal totalCostPaypalFeeRMB = dcBaseOmsOrder.getCostPaypalFee().multiply(dcBaseOmsOrder.getSellerOrderExchangeRate()).setScale(3, RoundingMode.HALF_EVEN);
BigDecimal totalAmountPrepaid = BigDecimal.ZERO; BigDecimal totalAmountPrepaid = BigDecimal.ZERO;
BigDecimal totalProfit = BigDecimal.ZERO; BigDecimal totalProfit = BigDecimal.ZERO;
BigDecimal totalOrderCostLogistics = BigDecimal.ZERO; BigDecimal totalSkuCostLogistics = BigDecimal.ZERO;
try { try {
DcBaseOmsSkuMapper omsSkuMapper = SessionUtil.getSession().getMapper(DcBaseOmsSkuMapper.class); DcBaseOmsSkuMapper omsSkuMapper = SessionUtil.getSession().getMapper(DcBaseOmsSkuMapper.class);
if (bailunSkuInfoMap.size() > 0) { if (bailunSkuInfoMap.size() > 0) {
...@@ -320,9 +320,10 @@ public class OrderSyncJob extends PointJob { ...@@ -320,9 +320,10 @@ public class OrderSyncJob extends PointJob {
* 摊分方法: 除以下单数 * 摊分方法: 除以下单数
*/ */
BigDecimal quantityOrderdDecimal = BigDecimal.valueOf(bailunSkuStructure.getSkuQuantityOrderd()); BigDecimal quantityOrderdDecimal = BigDecimal.valueOf(bailunSkuStructure.getSkuQuantityOrderd());
BigDecimal bailunSkuQuantityShippedDecimal = BigDecimal.valueOf(dcBaseOmsSku.getBailunSkuQuantityShipped());
BigDecimal rmbCost = BigDecimal.ZERO; BigDecimal rmbCost = BigDecimal.ZERO;
if (quantityOrderdDecimal.compareTo(BigDecimal.ZERO) == 1) { if (quantityOrderdDecimal.compareTo(BigDecimal.ZERO) == 1) {
dcBaseOmsSku.setCostLogistics(skuCostLogistics.divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN)); dcBaseOmsSku.setCostLogistics(skuCostLogistics.multiply(bailunSkuQuantityShippedDecimal).divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN));
dcBaseOmsSku.setAmountTotal(skuAmountTotal.divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN)); dcBaseOmsSku.setAmountTotal(skuAmountTotal.divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN));
dcBaseOmsSku.setAmountProduct(skuAmountProduct.divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN)); dcBaseOmsSku.setAmountProduct(skuAmountProduct.divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN));
dcBaseOmsSku.setAmountAdjustment(skuAmountAdjustment.divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN)); dcBaseOmsSku.setAmountAdjustment(skuAmountAdjustment.divide(quantityOrderdDecimal, 3, RoundingMode.HALF_EVEN));
...@@ -356,9 +357,8 @@ public class OrderSyncJob extends PointJob { ...@@ -356,9 +357,8 @@ public class OrderSyncJob extends PointJob {
//利润都转为人民币计算 //利润都转为人民币计算
BigDecimal unitSkuProfit = unitSkuAmountSalesRMB.subtract(dcBaseOmsSku.getCostTotal()); BigDecimal unitSkuProfit = unitSkuAmountSalesRMB.subtract(dcBaseOmsSku.getCostTotal());
//只有发货的SKU才去算订单维度利润 //只有发货的SKU才去算订单维度利润
BigDecimal bailunSkuQuantityShippedDecimal = BigDecimal.valueOf(dcBaseOmsSku.getBailunSkuQuantityShipped());
BigDecimal skuShippedProfit = unitSkuProfit.multiply(bailunSkuQuantityShippedDecimal); BigDecimal skuShippedProfit = unitSkuProfit.multiply(bailunSkuQuantityShippedDecimal);
totalOrderCostLogistics = totalOrderCostLogistics.add(dcBaseOmsSku.getCostLogistics().multiply(bailunSkuQuantityShippedDecimal)); totalSkuCostLogistics = totalSkuCostLogistics.add(dcBaseOmsSku.getCostLogistics().multiply(bailunSkuQuantityShippedDecimal));
totalProfit = totalProfit.add(skuShippedProfit); totalProfit = totalProfit.add(skuShippedProfit);
//SKU只放单个利润 //SKU只放单个利润
dcBaseOmsSku.setProfitTotal(unitSkuProfit); dcBaseOmsSku.setProfitTotal(unitSkuProfit);
...@@ -378,7 +378,7 @@ public class OrderSyncJob extends PointJob { ...@@ -378,7 +378,7 @@ public class OrderSyncJob extends PointJob {
//预付款-预收金额-人民币 //预付款-预收金额-人民币
dcBaseOmsOrder.setAmountPrepaid(totalAmountPrepaid); dcBaseOmsOrder.setAmountPrepaid(totalAmountPrepaid);
dcBaseOmsOrder.setCostFirst(totalCostFirst); dcBaseOmsOrder.setCostFirst(totalCostFirst);
dcBaseOmsOrder.setCostLogistics(totalOrderCostLogistics); dcBaseOmsOrder.setCostLogistics(totalSkuCostLogistics);
/* /*
* OMS过来的详细费用不用动 * OMS过来的详细费用不用动
* 这边处理新增了 * 这边处理新增了
......
...@@ -73,7 +73,7 @@ public class OmsOrderTest { ...@@ -73,7 +73,7 @@ public class OmsOrderTest {
LinkedHashMap<String, String> map = new LinkedHashMap<>(4); LinkedHashMap<String, String> map = new LinkedHashMap<>(4);
map.put("pageIndex", "1"); map.put("pageIndex", "1");
map.put("pageCount", "100"); map.put("pageCount", "100");
map.put("OriginOrderNo", "neigou-2019051011"); map.put("OriginOrderNo", "257164872019");
Request request = new Request.Builder() Request request = new Request.Builder()
.get() .get()
.url(OkHttpUtil.attachHttpGetParams("http://oms.bailuntec.com/apiV2/bailunOrder/getBailunOrders", map)) .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