diff --git a/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java b/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java index 0051721..59f8f29 100644 --- a/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java +++ b/src/main/java/com/wms/service/business/serviceImplements/WorkServiceImplements.java @@ -677,9 +677,14 @@ public class WorkServiceImplements implements IWorkService { List usablePickStands = allPickStands.stream().filter(stand -> stand.getStandStatus() == 0).toList(); if (usablePickStands.size() != allPickStands.size()) { logger.info("站台未全部释放,不执行分配。"); + return; } // 映射出站台号 List standIds = usablePickStands.stream().map(Stand::getStandId).distinct().toList(); + if (standIds.isEmpty()) { + logger.info("没有站台能够分配,不执行分配。"); + return; + } // 查询出所有的工作流 List allCurrentWorks = workFlowService.list(); // 查询这些站台是否已经分配了工作 @@ -740,7 +745,8 @@ public class WorkServiceImplements implements IWorkService { .eq(ETagLocation::getELocationStatus, 0) .orderByAsc(ETagLocation::getSequenceId)); // 获取已经添加的电子标签库位分配 - List oldELocationConfigs = eLocationConfigService.list(); + List oldELocationConfigs = eLocationConfigService.list(new LambdaQueryWrapper() + .in(ELocationConfig::getWorkStation, standIds)); if (oldELocationConfigs != null && !oldELocationConfigs.isEmpty()) { logger.info("存在旧的标签配置,不执行分配。"); return;