diff --git a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/conveyorLine/service/processor/ScanTrayProcessor.java b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/conveyorLine/service/processor/ScanTrayProcessor.java index 0643292..7a595e3 100644 --- a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/conveyorLine/service/processor/ScanTrayProcessor.java +++ b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/conveyorLine/service/processor/ScanTrayProcessor.java @@ -694,9 +694,9 @@ public class ScanTrayProcessor { * * @param movePoints 移库目标库位 */ - public void buildMoveTask(List movePoints) { + public List buildMoveTask(List movePoints) { if(CollectionUtils.isEmpty(movePoints)){ - return; + return new ArrayList<>(); } //定义去重集合,缓存已处理过的容器编码,避免单次调用内重复生成任务 Set processedStock = new HashSet<>(); @@ -751,7 +751,8 @@ public class ScanTrayProcessor { //移位的库位是否需要移位 List movePointsForInbound = getMovePointsForInbound(toPoint); if (CollectionUtils.isNotEmpty(movePointsForInbound)) { - buildMoveTask(movePointsForInbound); + List recursiveTasks = buildMoveTask(movePointsForInbound); + moveList.addAll(recursiveTasks); } log.info("生成移位任务:{}- 容器:{} - 库位:{} - 库存数量:{}", taskNo, stock.getStockCode(), fromPoint.getPointCode(), inv.getQuantity()); } catch (Exception e) { @@ -764,6 +765,7 @@ public class ScanTrayProcessor { if (CollectionUtils.isNotEmpty(moveList)) { batchUtil.saveBatchTask(moveList); } + return moveList; } diff --git a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/shipping/service/processor/AllocateProcessor.java b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/shipping/service/processor/AllocateProcessor.java index 67cd68c..2c6ee3a 100644 --- a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/shipping/service/processor/AllocateProcessor.java +++ b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/shipping/service/processor/AllocateProcessor.java @@ -997,9 +997,10 @@ public class AllocateProcessor { //移位的库位是否需要移位 List movePointsForInbound = getMovePointsForOutbound(toPoint); if (CollectionUtils.isNotEmpty(movePointsForInbound)) { - buildMoveTask(toPoint.getPointCode(),movePointsForInbound,processedStock); + List recursiveTasks = buildMoveTask(toPoint.getPointCode(), movePointsForInbound, processedStock); + moveList.addAll(recursiveTasks); } - log.info("生成移位任务:{}- 容器:{} - 库位:{} - 库存数量:{}", taskNo, stock.getStockCode(), fromPoint.getPointCode(), inv.getQuantity()); + } catch (Exception e) { throw e; }