|
@@ -9,6 +9,7 @@ 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.department.po.Department;
|
|
|
+import com.sd.business.entity.order.enums.OrderExceptionTypeEnum;
|
|
|
import com.sd.business.entity.order.enums.OrderStatusEnum;
|
|
|
import com.sd.business.entity.order.po.OrderInfo;
|
|
|
import com.sd.business.entity.order.po.OrderPackageBom;
|
|
@@ -93,12 +94,6 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
// 部门实体
|
|
|
Department department = context.getDepartmentMap().get(storageCode);
|
|
|
|
|
|
- // 未匹配到部门id
|
|
|
- if (department == null) {
|
|
|
- log.error("未知仓库code:{}", storageCode);
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
OrderInfo orderInfo = orderMap.get(wlnUid);
|
|
|
|
|
|
if (orderInfo == null) {
|
|
@@ -135,7 +130,6 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderInfo.setTag("0");
|
|
|
orderInfo.setSettlementStatus(1);
|
|
|
|
|
|
- orderInfo.setDepartmentId(department.getId());
|
|
|
orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
orderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
@@ -156,10 +150,27 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderInfo.setDeliveryTime(DateUtil.offsetDay(orderInfo.getWlnCreateTime(), 1));
|
|
|
orderInfo.setRemark(wlnOrder.getString("remark"));
|
|
|
|
|
|
- // 订单状态
|
|
|
- if (orderInfo.getWlnStatus() == 10 || orderInfo.getWlnStatus() == 11 || orderInfo.getWlnStatus() == 12) {
|
|
|
- orderInfo.setStatus(OrderStatusEnum.EXCEPTION.getKey());
|
|
|
- } else if (Objects.equals(department.getOrderMode(), "2")) {
|
|
|
+ // 赋值订单异常类型
|
|
|
+ orderInfo.setExceptionType("0");
|
|
|
+ if (orderInfo.getWlnStatus() == 10) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_CLOSURE);
|
|
|
+ }
|
|
|
+ if (orderInfo.getWlnStatus() == 11) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_ABORT);
|
|
|
+ }
|
|
|
+ if (orderInfo.getWlnStatus() == 12) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_EXCEPTION_HANDLING);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 事业部id
|
|
|
+ if (department == null) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_WAREHOUSE);
|
|
|
+ } else {
|
|
|
+ orderInfo.setDepartmentId(department.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 订单进度
|
|
|
+ if (department != null && Objects.equals(department.getOrderMode(), "2")) {
|
|
|
orderInfo.setStatus(OrderStatusEnum.STOCK_PREPARATION.getKey());
|
|
|
} else {
|
|
|
orderInfo.setStatus(OrderStatusEnum.UNDER_REVIEW.getKey());
|
|
@@ -175,7 +186,6 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
private void updateOrder(OrderContext context, JSONObject wlnOrder, Department department, OrderInfo orderInfo) {
|
|
|
List<OrderInfo> updateOrderList = context.getUpdateOrderList();
|
|
|
|
|
|
- orderInfo.setDepartmentId(department.getId());
|
|
|
orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
orderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
@@ -196,6 +206,24 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderInfo.setDeliveryTime(DateUtil.offsetDay(orderInfo.getWlnCreateTime(), 1));
|
|
|
orderInfo.setRemark(wlnOrder.getString("remark"));
|
|
|
|
|
|
+ // 赋值订单异常类型
|
|
|
+ if (orderInfo.getWlnStatus() == 10) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_CLOSURE);
|
|
|
+ }
|
|
|
+ if (orderInfo.getWlnStatus() == 11) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_ABORT);
|
|
|
+ }
|
|
|
+ if (orderInfo.getWlnStatus() == 12) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_EXCEPTION_HANDLING);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 事业部id
|
|
|
+ if (department == null) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_WAREHOUSE);
|
|
|
+ } else {
|
|
|
+ orderInfo.setDepartmentId(department.getId());
|
|
|
+ }
|
|
|
+
|
|
|
updateOrderList.add(orderInfo);
|
|
|
}
|
|
|
|
|
@@ -209,12 +237,16 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
orderSku.setWlnSkuSpecId(wlnOrderSku.getString("sys_spec_uid"));
|
|
|
orderSku.setWlnSkuName(wlnOrderSku.getString("oln_sku_name"));
|
|
|
orderSku.setOrderId(orderInfo.getId());
|
|
|
- orderSku.setSkuId(skuSpec.getSkuId());
|
|
|
- orderSku.setSkuSpecId(skuSpec.getId());
|
|
|
- orderSku.setBomSpecId(skuSpec.getBomSpecId());
|
|
|
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;
|
|
|
}
|
|
|
|
|
@@ -298,8 +330,8 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
List<OrderSku> orderSkuList = new ArrayList<>();
|
|
|
|
|
|
- // 是否添加
|
|
|
- boolean isAdd = true;
|
|
|
+ // 是否异常
|
|
|
+ boolean isException = false;
|
|
|
|
|
|
// 创建订单sku
|
|
|
for (JSONObject wlnOrderSku : wlnOrder.getJSONArray("orders").toJavaList(JSONObject.class)) {
|
|
@@ -311,9 +343,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
SkuSpec skuSpec = skuSpecMap.get(sysSpecUid);
|
|
|
|
|
|
if (skuSpec == null) {
|
|
|
- isAdd = false;
|
|
|
- log.error("没有通过万里牛sys_spec_uid: {} 找到sku规格", sysSpecUid);
|
|
|
- break;
|
|
|
+ isException = true;
|
|
|
}
|
|
|
|
|
|
// 创建订单sku
|
|
@@ -322,8 +352,8 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
}
|
|
|
|
|
|
- if (!isAdd) {
|
|
|
- return;
|
|
|
+ if (isException) {
|
|
|
+ addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_SKU_SPEC);
|
|
|
}
|
|
|
|
|
|
// 订单关联
|
|
@@ -524,6 +554,14 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 添加订单异常类型
|
|
|
+ */
|
|
|
+ private void addExceptionType(OrderInfo orderInfo, OrderExceptionTypeEnum exceptionTypeEnum) {
|
|
|
+ String exceptionType = orderInfo.getExceptionType();
|
|
|
+ orderInfo.setExceptionType(orderService.addExceptionType(exceptionType, exceptionTypeEnum.getKey()));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 保存或更新数据
|
|
|
*/
|
|
|
private void saveOrUpdateOrder(OrderContext context) {
|