24282 1 rok pred
rodič
commit
558996f0ef

+ 4 - 3
sd-business/src/main/java/com/sd/business/service/production/impl/StockPreparationServiceImpl.java

@@ -177,7 +177,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
         Assert.notNull(outDepartmentId, "出库事业部id不能为空");
 
         List<StockPreparationVo> list = stockPreparationMapper.uncompletedList(getWrapper(dto));
-        if (list.size() == 0) {
+        if (list.isEmpty()) {
             return;
         }
 
@@ -211,11 +211,11 @@ public class StockPreparationServiceImpl implements StockPreparationService {
             addTaskAndWorkOrder(orderId, orderCode, productionTaskList, productionWorkOrderList);
         });
 
-        if (productionTaskList.size() > 0) {
+        if (!productionTaskList.isEmpty()) {
             productionTaskService.saveBatch(productionTaskList);
         }
 
-        if (productionWorkOrderList.size() > 0) {
+        if (!productionWorkOrderList.isEmpty()) {
             productionWorkOrderService.saveBatch(productionWorkOrderList);
         }
 
@@ -380,6 +380,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
 
         IWrapper<StockPreparationVo> wrapper = IWrapper.getWrapper();
         wrapper.eq("oi", OrderInfo::getStatus, OrderStatusEnum.STOCK_PREPARATION.getKey());
+        wrapper.ge("oi", OrderInfo::getWlnStatus, 3);
         wrapper.eq("oi", OrderInfo::getExceptionType, OrderExceptionTypeEnum.NORMAL.getKey().toString());
         wrapper.eq("os", OrderSku::getStockPreparationStatus, StatusConstant.NO);
         wrapper.eq("oi", OrderInfo::getDepartmentId, dto.getDepartmentId());

+ 21 - 8
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -27,6 +27,7 @@ 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.SkuSpecService;
 import com.sd.wln.context.OrderContext;
 import com.sd.wln.service.WlnOrderService;
 import com.sd.wln.util.WlnUtil;
@@ -70,13 +71,16 @@ public class WlnOrderServiceImpl implements WlnOrderService {
     @Autowired
     private InventoryService inventoryService;
 
+    @Autowired
+    private SkuSpecService skuSpecService;
+
     @Override
     public void syncOrder() {
 
         LogicHolder.setLogicHolder(false);
 
         List<DictCommonData> warehouseCodeList = dictCommonDataService.list(q -> q.eq(DictCommonData::getDictCode, "warehouse_code"));
-        if (warehouseCodeList.size() == 0) {
+        if (warehouseCodeList.isEmpty()) {
             log.error("订单同步失败,仓库字典:warehouse_code 为空");
             return;
         }
@@ -292,7 +296,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
                 }
             }
 
-            if (orderSkuList.size() != 0) {
+            if (!orderSkuList.isEmpty()) {
                 addExceptionType(orderInfo, OrderExceptionTypeEnum.SKU_UPDATE);
             }
         }
@@ -567,19 +571,19 @@ public class WlnOrderServiceImpl implements WlnOrderService {
         List<OrderSkuBom> saveOrderSkuBomList = context.getSaveOrderSkuBomList();
         List<OrderPackageBom> orderPackageBomList = context.getOrderPackageBomList();
 
-        if (saveOrderList.size() > 0) {
+        if (!saveOrderList.isEmpty()) {
             orderService.saveBatch(saveOrderList);
         }
-        if (updateOrderList.size() > 0) {
+        if (!updateOrderList.isEmpty()) {
             orderService.updateBatchById(updateOrderList);
         }
-        if (saveOrderSkuList.size() > 0) {
+        if (!saveOrderSkuList.isEmpty()) {
             orderSkuService.saveBatch(saveOrderSkuList);
         }
-        if (saveOrderSkuBomList.size() > 0) {
+        if (!saveOrderSkuBomList.isEmpty()) {
             orderSkuBomService.saveBatch(saveOrderSkuBomList);
         }
-        if (orderPackageBomList.size() > 0) {
+        if (!orderPackageBomList.isEmpty()) {
             orderPackageBomService.saveBatch(orderPackageBomList);
         }
 
@@ -633,7 +637,16 @@ public class WlnOrderServiceImpl implements WlnOrderService {
 
                 List<OrderSku> orderSkuList = existOrderSkuMap.get(orderInfo.getId())
                         .stream()
-                        .filter(item -> bomSpecBoMap.get(item.getBomSpecId()).getClassifyParentId().equals(1L))
+                        .filter(item -> {
+                            Long bomSpecId = item.getBomSpecId();
+                            BomSpecBo bomSpecBo = bomSpecBoMap.get(bomSpecId);
+                            if (bomSpecBo == null) {
+                                Map<Long, BomSpecBo> tempMap = skuSpecService.getBomSpecBoByIdList(Collections.singletonList(bomSpecId));
+                                bomSpecBo = tempMap.get(bomSpecId);
+                                bomSpecBoMap.put(bomSpecId, bomSpecBo);
+                            }
+                            return Objects.equals(bomSpecBo.getClassifyParentId(), 1L);
+                        })
                         .collect(Collectors.toList());
 
                 inventoryService.unlockStorage(orderSkuList);