|
@@ -117,19 +117,6 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
// 循环万里牛订单
|
|
|
for (JSONObject wlnOrder : wlnOrderList) {
|
|
|
|
|
|
- // 如果订单存在于数据库,且订单状态改变,执行update
|
|
|
- OrderInfo orderInfo = orderMap.get(wlnOrder.getString("uid"));
|
|
|
- if (orderInfo != null) {
|
|
|
- Integer processStatus = wlnOrder.getInteger("process_status");
|
|
|
- if (ObjectUtil.notEqual(orderInfo.getWlnStatus(), processStatus)) {
|
|
|
- OrderInfo updateOrder = new OrderInfo();
|
|
|
- updateOrder.setId(orderInfo.getId());
|
|
|
- updateOrder.setWlnStatus(processStatus);
|
|
|
- updateOrderList.add(updateOrder);
|
|
|
- }
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
// 没有匹配到事业部,则跳过
|
|
|
String storageCode = wlnOrder.getString("storage_code");
|
|
|
Department department = departmentMap.get(storageCode);
|
|
@@ -139,7 +126,30 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
// 创建订单
|
|
|
- orderInfo = createOrder(wlnOrder, department);
|
|
|
+ OrderInfo orderInfo = createOrder(wlnOrder, department);
|
|
|
+
|
|
|
+ // 如果订单存在于数据库,且订单状态改变,执行update
|
|
|
+ OrderInfo oldOrderInfo = orderMap.get(orderInfo.getWlnUid());
|
|
|
+ if (oldOrderInfo != null) {
|
|
|
+ if (ObjectUtil.notEqual(oldOrderInfo.getWlnStatus(), orderInfo.getWlnStatus())
|
|
|
+ || ObjectUtil.notEqual(oldOrderInfo.getModifyTime(), orderInfo.getModifyTime())
|
|
|
+ || ObjectUtil.notEqual(DateUtil.formatDateTime(oldOrderInfo.getWlnApproveTime()), DateUtil.formatDateTime(orderInfo.getWlnApproveTime()))
|
|
|
+ || ObjectUtil.notEqual(DateUtil.formatDateTime(oldOrderInfo.getWlnPrintTime()), DateUtil.formatDateTime(orderInfo.getWlnPrintTime()))
|
|
|
+ || ObjectUtil.notEqual(oldOrderInfo.getWlnStorageCode(), orderInfo.getWlnStorageCode())
|
|
|
+ || ObjectUtil.notEqual(oldOrderInfo.getDepartmentId(), orderInfo.getDepartmentId())) {
|
|
|
+ OrderInfo updateOrder = new OrderInfo();
|
|
|
+ updateOrder.setId(oldOrderInfo.getId());
|
|
|
+ updateOrder.setWlnStatus(orderInfo.getWlnStatus());
|
|
|
+ updateOrder.setModifyTime(orderInfo.getModifyTime());
|
|
|
+ updateOrder.setWlnApproveTime(orderInfo.getWlnApproveTime());
|
|
|
+ updateOrder.setWlnPrintTime(orderInfo.getWlnPrintTime());
|
|
|
+ updateOrder.setWlnStorageCode(orderInfo.getWlnStorageCode());
|
|
|
+ updateOrder.setDepartmentId(orderInfo.getDepartmentId());
|
|
|
+ updateOrderList.add(updateOrder);
|
|
|
+ }
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
List<OrderSku> tempOrderSkuList = new ArrayList<>();
|
|
|
List<OrderSkuBom> tempOrderSkuBomList = new ArrayList<>();
|
|
|
|
|
@@ -442,10 +452,10 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
.collect(Collectors.toMap(BaseIdPo::getId, Department::getPriceBillingStandardId));
|
|
|
|
|
|
// 加工计费标准id 报价规则列表 map
|
|
|
- Map<Long, List<PriceBillingStandardDetail>> priceBillingStandardMap =
|
|
|
- priceBillingStandardDetailService.list().stream()
|
|
|
- .filter(item -> ObjectUtil.isNotNull(item.getPriceBillingStandardId()))
|
|
|
- .collect(Collectors.groupingBy(PriceBillingStandardDetail::getPriceBillingStandardId));
|
|
|
+ Map<Long, List<PriceBillingStandardDetail>> priceBillingStandardMap = priceBillingStandardDetailService.list()
|
|
|
+ .stream()
|
|
|
+ .filter(item -> ObjectUtil.isNotNull(item.getPriceBillingStandardId()))
|
|
|
+ .collect(Collectors.groupingBy(PriceBillingStandardDetail::getPriceBillingStandardId));
|
|
|
|
|
|
// 根据sku规格id获取bomId和bom规格id
|
|
|
Map<Long, BomBo> bomBoMap = skuSpecService.getBomBySkuSpecIdList(
|
|
@@ -494,6 +504,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
private void assignedUnitPrice(OrderSku orderSku, Map<Long, BomBo> bomBoMap) {
|
|
|
BomBo bomBo = bomBoMap.get(orderSku.getSkuSpecId());
|
|
|
if (bomBo != null) {
|
|
|
+ orderSku.setBomSpecId(bomBo.getBomSpecId());
|
|
|
orderSku.setUnitPrice(ObjectUtil.defaultIfNull(bomBo.getInternalSellingPrice(), BigDecimal.ZERO));
|
|
|
} else {
|
|
|
orderSku.setUnitPrice(BigDecimal.ZERO);
|