diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java index ce6586bb..33ed9fa1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java @@ -13,6 +13,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; /** @@ -105,6 +106,7 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService { log.warn("【仓储监控】定时任务执行 - 未查询到空闲站点,任务提前结束"); return; } + ArrayList taskIdList = new ArrayList<>(); // ========== 步骤2:遍历空闲站点处理关联任务 ========== int processedCount = 0; // 统计成功处理的站点数量 @@ -118,6 +120,7 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService { new LambdaQueryWrapper() .eq(Task::getTaskStatus, Task.STATUS_TEMPORARY_STORAGE) // 任务状态:待库位 .eq(Task::getWcId, station.getWcId()) // 匹配当前站点的工位ID + .notIn(taskIdList!=null&&taskIdList.size()!=0,Task::getId,taskIdList) .orderByAsc(Task::getCreateTime) // 按创建时间升序,优先处理最早创建的任务 ); @@ -200,6 +203,7 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService { if(null != ctuSchedulingTask && ctuSchedulingTask.getCode().equals("0")){ // 添加任务 boolean record = taskExecuteRecordService.inboundRecord(ctuSchedulingTask, firstTask,null); + taskIdList.add(firstTask.getId()); } processedCount++; // 成功处理计数+1