From cd04aa8b887e82ec664e42f0bc353c079be1d2c5 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 四月 2026 17:57:19 +0800
Subject: [PATCH] fix: filter auto tune out station limits
---
src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java b/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
index 32542f2..781710b 100644
--- a/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
+++ b/src/main/java/com/zy/ai/service/impl/AutoTuneSnapshotServiceImpl.java
@@ -13,12 +13,14 @@
import com.zy.asrs.entity.BasDualCrnp;
import com.zy.asrs.entity.BasStation;
import com.zy.asrs.entity.DeviceConfig;
+import com.zy.asrs.entity.StationFlowCapacity;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.BasDualCrnpService;
import com.zy.asrs.service.BasStationService;
import com.zy.asrs.service.DeviceConfigService;
import com.zy.asrs.service.StationCycleCapacityService;
+import com.zy.asrs.service.StationFlowCapacityService;
import com.zy.asrs.service.WrkMastService;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
@@ -33,9 +35,11 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
+import java.util.LinkedHashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
@Service("autoTuneSnapshotService")
public class AutoTuneSnapshotServiceImpl implements AutoTuneSnapshotService {
@@ -43,6 +47,7 @@
private static final int DEFAULT_CRN_OUT_BATCH_RUNNING_LIMIT = 5;
private static final int DEFAULT_CONVEYOR_STATION_TASK_LIMIT = 30;
private static final int DEFAULT_AI_AUTO_TUNE_INTERVAL_MINUTES = 10;
+ private static final String DIRECTION_OUT = "OUT";
@Autowired
private WrkMastService wrkMastService;
@@ -61,6 +66,9 @@
@Autowired
private BasStationService basStationService;
+
+ @Autowired
+ private StationFlowCapacityService stationFlowCapacityService;
@Autowired
private BasCrnpService basCrnpService;
@@ -244,11 +252,33 @@
if (basStationService == null) {
return result;
}
+ Set<Integer> outStationIds = loadOutStationIds();
+ if (outStationIds.isEmpty()) {
+ return result;
+ }
QueryWrapper<BasStation> wrapper = new QueryWrapper<>();
+ wrapper.in("station_id", outStationIds);
wrapper.orderByAsc("station_id");
return buildStationOutTaskLimitMap(basStationService.list(wrapper));
}
+ private Set<Integer> loadOutStationIds() {
+ LinkedHashSet<Integer> stationIds = new LinkedHashSet<>();
+ if (stationFlowCapacityService == null) {
+ return stationIds;
+ }
+ QueryWrapper<StationFlowCapacity> wrapper = new QueryWrapper<>();
+ wrapper.eq("direction_code", DIRECTION_OUT);
+ wrapper.orderByAsc("station_id");
+ List<StationFlowCapacity> capacityList = safeList(stationFlowCapacityService.list(wrapper));
+ for (StationFlowCapacity capacity : capacityList) {
+ if (capacity != null && capacity.getStationId() != null) {
+ stationIds.add(capacity.getStationId());
+ }
+ }
+ return stationIds;
+ }
+
Map<String, Integer> buildStationOutTaskLimitMap(List<BasStation> stationList) {
Map<String, Integer> result = new LinkedHashMap<>();
for (BasStation station : safeList(stationList)) {
--
Gitblit v1.9.1