From b4cb27e7af2b231e3532b04118fd563c87ca5369 Mon Sep 17 00:00:00 2001 From: Huluwa22 <2667400744@qq.com> Date: Wed, 26 Mar 2025 12:21:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=BA=93=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/wms/bussiness/JobComponent.java | 17 +++++++++++------ .../com/wms/utils/storage/LocationUtils.java | 4 ++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/wms/bussiness/JobComponent.java b/src/main/java/com/wms/bussiness/JobComponent.java index 50cb5ce..9bbdae3 100644 --- a/src/main/java/com/wms/bussiness/JobComponent.java +++ b/src/main/java/com/wms/bussiness/JobComponent.java @@ -100,7 +100,7 @@ public class JobComponent extends BaseController { } if(task.getTaskType().equals(TaskType.MOVE.getCode())){ sendTasksMoveToWcs(task); - return; +// return; } } }catch (Exception exception){ @@ -352,6 +352,7 @@ public class JobComponent extends BaseController { */ @Transactional(isolation = Isolation.REPEATABLE_READ, propagation = Propagation.REQUIRED) public void sendTasksMoveToWcs(Task task){ + // 目标库位 List desLocations = locationService.selLocations(new Location(task.getDestination())); if(desLocations == null) { logger.info("下发移库任务查询库位详细信息失败,数据库网络连接异常"); @@ -385,16 +386,20 @@ public class JobComponent extends BaseController { if (desDeepLocations.isEmpty()) { logger.info("后一个库位信息为空"); }else { - Location desDeepLocation = desDeepLocations.get(0); // 前一个库位 + Location desDeepLocation = desDeepLocations.get(0); // 移动目标库位后一个库位 List desNotCompleteTasks = taskMapper.haveNotCompleteTask(desDeepLocation.getLocationId()); if (desNotCompleteTasks == null) { logger.info("查询任务异常"); return; } - if (!desNotCompleteTasks.isEmpty()) { - logger.info("发送移库任务时目标库位,高深度存在未完成的任务,退出函数"); - return; - } + +// for (Task desNotCompleteTask : desNotCompleteTasks) {&& desNotCompleteTask.getTaskType() != 9 + if (!desNotCompleteTasks.isEmpty() ) { + logger.info("发送移库任务时目标库位,高深度存在未完成的任务,退出函数"); + return; + } +// } + } diff --git a/src/main/java/com/wms/utils/storage/LocationUtils.java b/src/main/java/com/wms/utils/storage/LocationUtils.java index 99b1603..5c43f4d 100644 --- a/src/main/java/com/wms/utils/storage/LocationUtils.java +++ b/src/main/java/com/wms/utils/storage/LocationUtils.java @@ -158,8 +158,8 @@ public class LocationUtils { boolean canUse = true; for (Location location : canUseLocations) { /* 校验此位置是否有遮挡 */ /* 如果这位置有库存(可能出现记错导致有库存),或者这位置其他深度(不论深度大小)有任务则不采用此位置 */ - // 如果在同一排上则不采用 - if (location.getQueue().equals(thisLocation.getQueue())) { + // 如果在同一排 同巷道上则不采用 + if (location.getQueue().equals(thisLocation.getQueue()) && location.getTunnelId().equals(thisLocation.getTunnelId())) { continue; } /* 1 判断库存 */