Commit 615d8c2b by wutong

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

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