|
@@ -83,7 +83,6 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
|
|
|
Date endDate = new Date();
|
|
|
-
|
|
|
|
|
|
List<OrderInfo> saveOrderList = new ArrayList<>();
|
|
|
|
|
@@ -101,12 +100,8 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- LogicHolder.setLogicHolder(new LogicHolder());
|
|
|
|
|
|
- Map<String, OrderInfo> orderMap = orderService.mapKEntity(OrderInfo::getWlnUid,
|
|
|
- q -> q.between(OrderInfo::getWlnApproveTime, DateUtil.offsetDay(endDate, -3), endDate));
|
|
|
- LogicHolder.clear();
|
|
|
+ Map<String, OrderInfo> orderMap = getOrderMap(endDate);
|
|
|
|
|
|
|
|
|
Map<String, Department> departmentMap = getDepartmentMap();
|
|
@@ -128,26 +123,11 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
OrderInfo orderInfo = createOrder(wlnOrder, department);
|
|
|
|
|
|
-
|
|
|
- OrderInfo oldOrderInfo = orderMap.get(orderInfo.getWlnUid());
|
|
|
- if (oldOrderInfo != null) {
|
|
|
- if (ObjectUtil.notEqual(oldOrderInfo.getWlnStatus(), orderInfo.getWlnStatus())
|
|
|
- || ObjectUtil.notEqual(oldOrderInfo.getWlnModifyTimestamp(), orderInfo.getWlnModifyTimestamp())
|
|
|
- || 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.setWlnModifyTime(orderInfo.getWlnModifyTime());
|
|
|
- updateOrder.setWlnModifyTimestamp(orderInfo.getWlnModifyTimestamp());
|
|
|
- updateOrder.setWlnApproveTime(orderInfo.getWlnApproveTime());
|
|
|
- updateOrder.setWlnPrintTime(orderInfo.getWlnPrintTime());
|
|
|
- updateOrder.setWlnStorageCode(orderInfo.getWlnStorageCode());
|
|
|
- updateOrder.setDepartmentId(orderInfo.getDepartmentId());
|
|
|
- updateOrderList.add(updateOrder);
|
|
|
- }
|
|
|
+
|
|
|
+ boolean existOrder = existOrder(orderMap, orderInfo, updateOrderList);
|
|
|
+
|
|
|
+
|
|
|
+ if (existOrder) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -158,6 +138,8 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
|
|
|
for (JSONObject wlnOrderSku : wlnOrder.getJSONArray("orders").toJavaList(JSONObject.class)) {
|
|
|
+
|
|
|
+
|
|
|
String sysSpecUid = wlnOrderSku.getString("sys_spec_uid");
|
|
|
SkuSpec skuSpec = skuSpecMap.get(sysSpecUid);
|
|
|
if (skuSpec == null) {
|
|
@@ -166,9 +148,11 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
OrderSku orderSku = createOrderSku(wlnOrderSku, orderInfo, skuSpec);
|
|
|
tempOrderSkuList.add(orderSku);
|
|
|
|
|
|
+
|
|
|
List<OrderSkuBom> orderSkuBomList = createOrderSkuBoom(orderInfo, orderSku);
|
|
|
tempOrderSkuBomList.addAll(orderSkuBomList);
|
|
|
}
|
|
@@ -248,6 +232,52 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ * 查询近3天已存在数据库中的订单
|
|
|
+ */
|
|
|
+ private Map<String, OrderInfo> getOrderMap(Date endDate) {
|
|
|
+ LogicHolder.setLogicHolder(new LogicHolder());
|
|
|
+
|
|
|
+ Map<String, OrderInfo> orderMap = orderService.mapKEntity(
|
|
|
+ OrderInfo::getWlnUid,
|
|
|
+ q -> q.between(OrderInfo::getWlnApproveTime, DateUtil.offsetDay(endDate, -3), endDate)
|
|
|
+ );
|
|
|
+
|
|
|
+ LogicHolder.clear();
|
|
|
+ return orderMap;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 订单是否存在,若订单存在且订单信息被修改,则添加到更新订单数组
|
|
|
+ */
|
|
|
+ private boolean existOrder(Map<String, OrderInfo> orderMap, OrderInfo orderInfo, List<OrderInfo> updateOrderList) {
|
|
|
+
|
|
|
+
|
|
|
+ OrderInfo oldOrderInfo = orderMap.get(orderInfo.getWlnUid());
|
|
|
+ if (oldOrderInfo != null) {
|
|
|
+ if (ObjectUtil.notEqual(oldOrderInfo.getWlnStatus(), orderInfo.getWlnStatus())
|
|
|
+ || ObjectUtil.notEqual(oldOrderInfo.getWlnModifyTimestamp(), orderInfo.getWlnModifyTimestamp())
|
|
|
+ || 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.setWlnModifyTime(orderInfo.getWlnModifyTime());
|
|
|
+ updateOrder.setWlnModifyTimestamp(orderInfo.getWlnModifyTimestamp());
|
|
|
+ updateOrder.setWlnApproveTime(orderInfo.getWlnApproveTime());
|
|
|
+ updateOrder.setWlnPrintTime(orderInfo.getWlnPrintTime());
|
|
|
+ updateOrder.setWlnStorageCode(orderInfo.getWlnStorageCode());
|
|
|
+ updateOrder.setDepartmentId(orderInfo.getDepartmentId());
|
|
|
+ updateOrderList.add(updateOrder);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
* 查询事业部
|
|
|
*/
|
|
|
private Map<String, Department> getDepartmentMap() {
|
|
@@ -387,7 +417,9 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+ * 创建订单包装
|
|
|
+ */
|
|
|
private List<OrderPackageBom> createOrderPackageBomList(List<OrderSku> orderSkuList, Long departmentId) {
|
|
|
|
|
|
|