|
@@ -4,10 +4,10 @@ import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
|
|
|
+import com.fjhx.tenant.service.dict.DictCommonDataService;
|
|
|
import com.ruoyi.common.constant.StatusConstant;
|
|
|
-import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
-import com.sd.business.entity.bom.bo.BomBo;
|
|
|
-import com.sd.business.entity.bom.po.BomSpec;
|
|
|
+import com.sd.business.entity.bom.bo.BomSpecBo;
|
|
|
import com.sd.business.entity.department.po.Department;
|
|
|
import com.sd.business.entity.order.enums.OrderExceptionTypeEnum;
|
|
|
import com.sd.business.entity.order.enums.OrderStatusEnum;
|
|
@@ -18,13 +18,10 @@ import com.sd.business.entity.order.po.OrderSkuBom;
|
|
|
import com.sd.business.entity.price.po.PriceBillingStandardDetail;
|
|
|
import com.sd.business.entity.sku.po.SkuSpec;
|
|
|
import com.sd.business.entity.sku.po.SkuSpecLink;
|
|
|
-import com.sd.business.service.bom.BomSpecService;
|
|
|
import com.sd.business.service.order.OrderPackageBomService;
|
|
|
import com.sd.business.service.order.OrderService;
|
|
|
import com.sd.business.service.order.OrderSkuBomService;
|
|
|
import com.sd.business.service.order.OrderSkuService;
|
|
|
-import com.sd.business.service.sku.SkuSpecLinkService;
|
|
|
-import com.sd.business.service.sku.SkuSpecService;
|
|
|
import com.sd.wln.context.OrderContext;
|
|
|
import com.sd.wln.service.WlnOrderService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -49,6 +46,9 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
private TransactionDefinition transactionDefinition;
|
|
|
|
|
|
@Autowired
|
|
|
+ private DictCommonDataService dictCommonDataService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private OrderService orderService;
|
|
|
|
|
|
@Autowired
|
|
@@ -60,68 +60,62 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
@Autowired
|
|
|
private OrderPackageBomService orderPackageBomService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private SkuSpecService skuSpecService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private SkuSpecLinkService skuSpecLinkService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private BomSpecService bomSpecService;
|
|
|
-
|
|
|
@Override
|
|
|
public void syncOrder() {
|
|
|
|
|
|
- OrderContext context = new OrderContext();
|
|
|
-
|
|
|
- // 万里牛订单若为0,结束同步任务
|
|
|
- List<JSONObject> wlnOrderList = context.getWlnOrderList();
|
|
|
- if (ObjectUtil.isEmpty(wlnOrderList)) {
|
|
|
+ List<DictCommonData> warehouseCodeList = dictCommonDataService.list(q -> q.eq(DictCommonData::getDictCode, "warehouse_code"));
|
|
|
+ if (warehouseCodeList.size() == 0) {
|
|
|
+ log.error("订单同步失败,仓库字典:warehouse_code 为空");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- Map<String, OrderInfo> orderMap = context.getOrderMap();
|
|
|
+ for (DictCommonData dictCommonData : warehouseCodeList) {
|
|
|
+ OrderContext context = new OrderContext(dictCommonData.getDictValue());
|
|
|
+
|
|
|
+ // 万里牛订单若为0,结束同步任务
|
|
|
+ List<JSONObject> wlnOrderList = context.getWlnOrderList();
|
|
|
+ if (ObjectUtil.isEmpty(wlnOrderList)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, OrderInfo> existOrderMap = context.getExistOrderMap();
|
|
|
|
|
|
- // 循环万里牛订单
|
|
|
- for (JSONObject wlnOrder : wlnOrderList) {
|
|
|
+ // 循环万里牛订单
|
|
|
+ for (JSONObject wlnOrder : wlnOrderList) {
|
|
|
|
|
|
- // 仓库编号
|
|
|
- String storageCode = wlnOrder.getString("storage_code");
|
|
|
+ // 订单uid
|
|
|
+ String wlnUid = wlnOrder.getString("uid");
|
|
|
|
|
|
- // 订单uid
|
|
|
- String wlnUid = wlnOrder.getString("uid");
|
|
|
+ OrderInfo orderInfo = existOrderMap.get(wlnUid);
|
|
|
|
|
|
- // 部门实体
|
|
|
- Department department = context.getDepartmentMap().get(storageCode);
|
|
|
+ if (orderInfo == null) {
|
|
|
+ // 创建订单
|
|
|
+ orderInfo = createOrder(context, wlnOrder);
|
|
|
+ } else {
|
|
|
+ // 修改订单
|
|
|
+ updateOrder(context, wlnOrder, orderInfo);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- OrderInfo orderInfo = orderMap.get(wlnUid);
|
|
|
+ // 添加订单到上下文
|
|
|
+ addOrder(context, wlnOrder, orderInfo);
|
|
|
|
|
|
- if (orderInfo == null) {
|
|
|
- // 创建订单
|
|
|
- orderInfo = createOrder(wlnOrder, department);
|
|
|
- } else {
|
|
|
- // 修改订单
|
|
|
- updateOrder(context, wlnOrder, department, orderInfo);
|
|
|
- continue;
|
|
|
}
|
|
|
|
|
|
- // 添加订单到上下文
|
|
|
- addOrder(context, wlnOrder, orderInfo);
|
|
|
+ // 计算订单价格
|
|
|
+ setOrderPrice(context);
|
|
|
|
|
|
- }
|
|
|
+ // 保存或更新数据
|
|
|
+ saveOrUpdateOrder(context);
|
|
|
|
|
|
- // 计算订单价格
|
|
|
- setOrderPrice(context);
|
|
|
-
|
|
|
- // 保存或更新数据
|
|
|
- saveOrUpdateOrder(context);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建订单
|
|
|
*/
|
|
|
- private OrderInfo createOrder(JSONObject wlnOrder, Department department) {
|
|
|
+ private OrderInfo createOrder(OrderContext context, JSONObject wlnOrder) {
|
|
|
|
|
|
OrderInfo orderInfo = new OrderInfo();
|
|
|
orderInfo.setId(IdWorker.getId());
|
|
@@ -130,7 +124,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderInfo.setTag("0");
|
|
|
orderInfo.setSettlementStatus(1);
|
|
|
|
|
|
- orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
+ orderInfo.setWlnStorageCode(context.getWarehouseCode());
|
|
|
orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
orderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
|
orderInfo.setWlnCode(wlnOrder.getString("trade_no"));
|
|
@@ -163,6 +157,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
// 事业部id
|
|
|
+ Department department = context.getDepartment();
|
|
|
if (department == null) {
|
|
|
addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_WAREHOUSE);
|
|
|
} else {
|
|
@@ -183,10 +178,10 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
/**
|
|
|
* 修改订单
|
|
|
*/
|
|
|
- private void updateOrder(OrderContext context, JSONObject wlnOrder, Department department, OrderInfo orderInfo) {
|
|
|
+ private void updateOrder(OrderContext context, JSONObject wlnOrder, OrderInfo orderInfo) {
|
|
|
List<OrderInfo> updateOrderList = context.getUpdateOrderList();
|
|
|
|
|
|
- orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
+ orderInfo.setWlnStorageCode(context.getWarehouseCode());
|
|
|
orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
orderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
|
orderInfo.setWlnCode(wlnOrder.getString("trade_no"));
|
|
@@ -218,6 +213,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
// 事业部id
|
|
|
+ Department department = context.getDepartment();
|
|
|
if (department == null) {
|
|
|
addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_WAREHOUSE);
|
|
|
} else {
|
|
@@ -253,40 +249,16 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 创建订单sku
|
|
|
- */
|
|
|
- private OrderSku createOrderSku(JSONObject wlnOrderSku, OrderInfo orderInfo, SkuSpec skuSpec) {
|
|
|
- OrderSku orderSku = new OrderSku();
|
|
|
- orderSku.setId(IdWorker.getId());
|
|
|
- orderSku.setWlnSkuId(wlnOrderSku.getString("sys_goods_uid"));
|
|
|
- orderSku.setWlnSkuSpecId(wlnOrderSku.getString("sys_spec_uid"));
|
|
|
- orderSku.setWlnSkuName(wlnOrderSku.getString("oln_sku_name"));
|
|
|
- orderSku.setOrderId(orderInfo.getId());
|
|
|
- orderSku.setQuantity(wlnOrderSku.getBigDecimal("size"));
|
|
|
- orderSku.setPrintType(1);
|
|
|
- orderSku.setStockPreparationStatus(StatusConstant.NO);
|
|
|
-
|
|
|
- if (skuSpec != null) {
|
|
|
- orderSku.setSkuId(skuSpec.getSkuId());
|
|
|
- orderSku.setSkuSpecId(skuSpec.getId());
|
|
|
- orderSku.setBomSpecId(skuSpec.getBomSpecId());
|
|
|
- }
|
|
|
-
|
|
|
- return orderSku;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
* 创建订单包材
|
|
|
*/
|
|
|
- private List<OrderSkuBom> createOrderSkuBoom(List<OrderSku> orderSkuList, Map<Long, BomSpec> bomSpecMap, List<SkuSpecLink> list) {
|
|
|
- if (ObjectUtil.isEmpty(list)) {
|
|
|
- return Collections.emptyList();
|
|
|
- }
|
|
|
-
|
|
|
- Map<Long, List<SkuSpecLink>> skuSpecLinkMap = list.stream().collect(Collectors.groupingBy(SkuSpecLink::getSkuSpecId));
|
|
|
+ private List<OrderSkuBom> createOrderSkuBoom(OrderContext context, List<OrderSku> orderSkuList) {
|
|
|
+ Map<Long, Map<Integer, List<SkuSpecLink>>> linkBomSpecMap = context.getSkuSpecLinkBomSpecMap();
|
|
|
+ Map<Long, BomSpecBo> bomBoMap = context.getBomSpecBoMap();
|
|
|
|
|
|
return orderSkuList.stream().flatMap(orderSku -> {
|
|
|
- List<SkuSpecLink> skuSpecLinkList = skuSpecLinkMap.getOrDefault(orderSku.getSkuSpecId(), Collections.emptyList());
|
|
|
+ Map<Integer, List<SkuSpecLink>> map = linkBomSpecMap.getOrDefault(orderSku.getSkuSpecId(), Collections.emptyMap());
|
|
|
+ List<SkuSpecLink> skuSpecLinkList = map.getOrDefault(1, Collections.emptyList());
|
|
|
+
|
|
|
return skuSpecLinkList.stream().map(item -> {
|
|
|
OrderSkuBom orderSkuBom = new OrderSkuBom();
|
|
|
orderSkuBom.setId(IdWorker.getId());
|
|
@@ -294,52 +266,53 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderSkuBom.setOrderSkuId(orderSku.getId());
|
|
|
orderSkuBom.setBomSpecId(item.getBomSpecId());
|
|
|
orderSkuBom.setQuantity(item.getQuantity());
|
|
|
- BomSpec bomSpec = bomSpecMap.get(item.getBomSpecId());
|
|
|
- if (bomSpec == null) {
|
|
|
+ BomSpecBo bomSpecBo = bomBoMap.get(item.getBomSpecId());
|
|
|
+ if (bomSpecBo == null) {
|
|
|
orderSkuBom.setUnitPrice(BigDecimal.ZERO);
|
|
|
} else {
|
|
|
- orderSkuBom.setUnitPrice(ObjectUtil.defaultIfNull(bomSpec.getInternalSellingPrice(), BigDecimal.ZERO));
|
|
|
+ orderSkuBom.setUnitPrice(bomSpecBo.getInternalSellingPrice());
|
|
|
}
|
|
|
return orderSkuBom;
|
|
|
});
|
|
|
+
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建订单包装
|
|
|
*/
|
|
|
- private List<OrderPackageBom> createOrderPackageBomList(List<OrderSku> orderSkuList, Map<Long, BomSpec> bomSpecMap, List<SkuSpecLink> list) {
|
|
|
- if (ObjectUtil.isEmpty(list)) {
|
|
|
- return Collections.emptyList();
|
|
|
- }
|
|
|
+ private List<OrderPackageBom> createOrderPackageBomList(OrderContext context, List<OrderSku> orderSkuList) {
|
|
|
+ Map<Long, Map<Integer, List<SkuSpecLink>>> linkBomSpecMap = context.getSkuSpecLinkBomSpecMap();
|
|
|
+ Map<Long, BomSpecBo> bomBoMap = context.getBomSpecBoMap();
|
|
|
|
|
|
- Map<Long, List<SkuSpecLink>> skuSpecLinkMap = list.stream().collect(Collectors.groupingBy(SkuSpecLink::getSkuSpecId));
|
|
|
Map<Long, OrderPackageBom> orderPackageBomMap = new HashMap<>();
|
|
|
|
|
|
// 循环订单sku规格
|
|
|
for (OrderSku orderSku : orderSkuList) {
|
|
|
- List<SkuSpecLink> skuSpecLinkList = skuSpecLinkMap.get(orderSku.getSkuSpecId());
|
|
|
- if (ObjectUtil.isEmpty(skuSpecLinkList)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+
|
|
|
+ Map<Integer, List<SkuSpecLink>> map = linkBomSpecMap.getOrDefault(orderSku.getSkuSpecId(), Collections.emptyMap());
|
|
|
+ List<SkuSpecLink> skuSpecLinkList = map.getOrDefault(2, Collections.emptyList());
|
|
|
|
|
|
for (SkuSpecLink skuSpecLink : skuSpecLinkList) {
|
|
|
Long bomSpecId = skuSpecLink.getBomSpecId();
|
|
|
+
|
|
|
OrderPackageBom orderPackageBom = orderPackageBomMap.computeIfAbsent(bomSpecId, item -> {
|
|
|
OrderPackageBom tempOrderPackageBom = new OrderPackageBom();
|
|
|
tempOrderPackageBom.setOrderId(orderSku.getOrderId());
|
|
|
tempOrderPackageBom.setBomSpecId(bomSpecId);
|
|
|
tempOrderPackageBom.setQuantity(BigDecimal.ZERO);
|
|
|
- BomSpec bomSpec = bomSpecMap.get(bomSpecId);
|
|
|
- if (bomSpec == null) {
|
|
|
+ BomSpecBo bomSpecBo = bomBoMap.get(bomSpecId);
|
|
|
+ if (bomSpecBo == null) {
|
|
|
tempOrderPackageBom.setCostPrice(BigDecimal.ZERO);
|
|
|
tempOrderPackageBom.setInternalSellingPrice(BigDecimal.ZERO);
|
|
|
} else {
|
|
|
- tempOrderPackageBom.setCostPrice(ObjectUtil.defaultIfNull(bomSpec.getCostPrice(), BigDecimal.ZERO));
|
|
|
- tempOrderPackageBom.setInternalSellingPrice(ObjectUtil.defaultIfNull(bomSpec.getInternalSellingPrice(), BigDecimal.ZERO));
|
|
|
+ tempOrderPackageBom.setCostPrice(bomSpecBo.getCostPrice());
|
|
|
+ tempOrderPackageBom.setInternalSellingPrice(bomSpecBo.getInternalSellingPrice());
|
|
|
}
|
|
|
return tempOrderPackageBom;
|
|
|
});
|
|
|
+
|
|
|
orderPackageBom.setQuantity(orderPackageBom.getQuantity().add(orderSku.getQuantity().multiply(skuSpecLink.getQuantity())));
|
|
|
}
|
|
|
}
|
|
@@ -357,48 +330,23 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
// 创建订单sku
|
|
|
for (JSONObject wlnOrderSku : wlnOrder.getJSONArray("orders").toJavaList(JSONObject.class)) {
|
|
|
-
|
|
|
- // 订单明细未匹配到sku规格,跳过次订单同步
|
|
|
- String sysSpecUid = wlnOrderSku.getString("sys_spec_uid");
|
|
|
-
|
|
|
// sku规格信息
|
|
|
- SkuSpec skuSpec = skuSpecMap.get(sysSpecUid);
|
|
|
-
|
|
|
+ SkuSpec skuSpec = skuSpecMap.get(wlnOrderSku.getString("sys_spec_uid"));
|
|
|
if (skuSpec == null) {
|
|
|
addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_SKU_SPEC);
|
|
|
} else if (skuSpec.getBomSpecId() == null) {
|
|
|
addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_BOM_SPEC);
|
|
|
}
|
|
|
-
|
|
|
// 创建订单sku
|
|
|
OrderSku orderSku = createOrderSku(wlnOrderSku, orderInfo, skuSpec);
|
|
|
orderSkuList.add(orderSku);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- // 订单关联
|
|
|
- List<Long> skuSpecIdList = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
|
|
|
- List<SkuSpecLink> list = skuSpecLinkService.list(q -> q
|
|
|
- .in(SkuSpecLink::getSkuSpecId, skuSpecIdList)
|
|
|
- .eq(SkuSpecLink::getDepartmentId, orderInfo.getDepartmentId()));
|
|
|
-
|
|
|
- // 跳过type区分包材和快递包装
|
|
|
- Map<Integer, List<SkuSpecLink>> map = list.stream().collect(Collectors.groupingBy(SkuSpecLink::getType));
|
|
|
-
|
|
|
- // 根据sku规格id获取bomId和bom规格id
|
|
|
- List<Long> bomSpecIdList = list.stream().map(SkuSpecLink::getBomSpecId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
- Map<Long, BomSpec> bomSpecMap;
|
|
|
- if (bomSpecIdList.size() == 0) {
|
|
|
- bomSpecMap = Collections.emptyMap();
|
|
|
- } else {
|
|
|
- bomSpecMap = bomSpecService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, bomSpecIdList));
|
|
|
}
|
|
|
|
|
|
// 获取订单sku包材
|
|
|
- List<OrderSkuBom> orderSkuBomList = createOrderSkuBoom(orderSkuList, bomSpecMap, map.get(1));
|
|
|
+ List<OrderSkuBom> orderSkuBomList = createOrderSkuBoom(context, orderSkuList);
|
|
|
|
|
|
// 获取订单sku快递包装
|
|
|
- List<OrderPackageBom> orderPackageBomList = createOrderPackageBomList(orderSkuList, bomSpecMap, map.get(2));
|
|
|
+ List<OrderPackageBom> orderPackageBomList = createOrderPackageBomList(context, orderSkuList);
|
|
|
|
|
|
context.getSaveOrderList().add(orderInfo);
|
|
|
context.getSaveOrderSkuList().addAll(orderSkuList);
|
|
@@ -408,6 +356,28 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 创建订单sku
|
|
|
+ */
|
|
|
+ private OrderSku createOrderSku(JSONObject wlnOrderSku, OrderInfo orderInfo, SkuSpec skuSpec) {
|
|
|
+ OrderSku orderSku = new OrderSku();
|
|
|
+ orderSku.setId(IdWorker.getId());
|
|
|
+ orderSku.setWlnSkuId(wlnOrderSku.getString("sys_goods_uid"));
|
|
|
+ orderSku.setWlnSkuSpecId(wlnOrderSku.getString("sys_spec_uid"));
|
|
|
+ orderSku.setWlnSkuName(wlnOrderSku.getString("oln_sku_name"));
|
|
|
+ orderSku.setOrderId(orderInfo.getId());
|
|
|
+ orderSku.setQuantity(wlnOrderSku.getBigDecimal("size"));
|
|
|
+ orderSku.setPrintType(1);
|
|
|
+ orderSku.setStockPreparationStatus(StatusConstant.NO);
|
|
|
+
|
|
|
+ if (skuSpec != null) {
|
|
|
+ orderSku.setSkuId(skuSpec.getSkuId());
|
|
|
+ orderSku.setSkuSpecId(skuSpec.getId());
|
|
|
+ orderSku.setBomSpecId(skuSpec.getBomSpecId());
|
|
|
+ }
|
|
|
+ return orderSku;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 赋值订单价格
|
|
|
*/
|
|
|
private void setOrderPrice(OrderContext context) {
|
|
@@ -416,16 +386,13 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
List<OrderSku> saveOrderSkuList = context.getSaveOrderSkuList();
|
|
|
List<OrderSkuBom> saveOrderSkuBomList = context.getSaveOrderSkuBomList();
|
|
|
Map<String, SkuSpec> skuSpecMap = context.getSkuSpecMap();
|
|
|
- Map<Long, List<PriceBillingStandardDetail>> priceBillingStandardMap = context.getPriceBillingStandardMap();
|
|
|
+ List<PriceBillingStandardDetail> priceBillingStandardDetailList = context.getPriceBillingStandardList();
|
|
|
+ Map<Long, BomSpecBo> bomBoMap = context.getBomSpecBoMap();
|
|
|
|
|
|
if (saveOrderList.size() == 0) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- // 根据sku规格id获取bom规格
|
|
|
- List<Long> bomSpecIdList = saveOrderSkuList.stream().map(OrderSku::getBomSpecId).collect(Collectors.toList());
|
|
|
- Map<Long, BomBo> bomBoMap = skuSpecService.getBomBoByIdList(bomSpecIdList);
|
|
|
-
|
|
|
// 订单明细
|
|
|
Map<Long, List<OrderSku>> orderSkuGroup = saveOrderSkuList.stream().collect(Collectors.groupingBy(OrderSku::getOrderId));
|
|
|
|
|
@@ -439,10 +406,6 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderInfo.setPackingLabor(BigDecimal.ZERO);
|
|
|
orderInfo.setPackagingMaterialCost(BigDecimal.ZERO);
|
|
|
|
|
|
- // 加工计费标准
|
|
|
- Long departmentId = orderInfo.getDepartmentId();
|
|
|
- List<PriceBillingStandardDetail> priceBillingStandardDetailList = priceBillingStandardMap.get(departmentId);
|
|
|
-
|
|
|
// 订单明细
|
|
|
List<OrderSku> itemOrderSkuList = orderSkuGroup.get(orderInfo.getId());
|
|
|
|
|
@@ -468,10 +431,10 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
/**
|
|
|
* 赋值单价
|
|
|
*/
|
|
|
- private void assignedUnitPrice(OrderSku orderSku, Map<Long, BomBo> bomBoMap) {
|
|
|
- BomBo bomBo = bomBoMap.get(orderSku.getBomSpecId());
|
|
|
- if (bomBo != null) {
|
|
|
- orderSku.setUnitPrice(ObjectUtil.defaultIfNull(bomBo.getInternalSellingPrice(), BigDecimal.ZERO));
|
|
|
+ private void assignedUnitPrice(OrderSku orderSku, Map<Long, BomSpecBo> bomBoMap) {
|
|
|
+ BomSpecBo bomSpecBo = bomBoMap.get(orderSku.getBomSpecId());
|
|
|
+ if (bomSpecBo != null) {
|
|
|
+ orderSku.setUnitPrice(ObjectUtil.defaultIfNull(bomSpecBo.getInternalSellingPrice(), BigDecimal.ZERO));
|
|
|
} else {
|
|
|
orderSku.setUnitPrice(BigDecimal.ZERO);
|
|
|
}
|
|
@@ -492,7 +455,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
/**
|
|
|
* 赋值其他价格
|
|
|
*/
|
|
|
- private void assignedOtherPrice(OrderSku orderSku, Map<Long, BomBo> bomBoMap,
|
|
|
+ private void assignedOtherPrice(OrderSku orderSku, Map<Long, BomSpecBo> bomBoMap,
|
|
|
List<PriceBillingStandardDetail> priceBillingStandardDetailList,
|
|
|
Map<String, SkuSpec> skuSpecMap) {
|
|
|
|
|
@@ -507,13 +470,13 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
// 没绑定bom规格,不赋值价格
|
|
|
- BomBo bomBo = bomBoMap.get(orderSku.getBomSpecId());
|
|
|
- if (bomBo == null) {
|
|
|
+ BomSpecBo bomSpecBo = bomBoMap.get(orderSku.getBomSpecId());
|
|
|
+ if (bomSpecBo == null) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 如果bom规格不为主材,不赋值价格
|
|
|
- if (ObjectUtil.notEqual(bomBo.getClassifyParentId(), 1L)) {
|
|
|
+ if (ObjectUtil.notEqual(bomSpecBo.getClassifyParentId(), 1L)) {
|
|
|
return;
|
|
|
}
|
|
|
|