From ecd5b6b51b7ddc4efe63c49c3c68adb276a2a2cb Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期五, 06 三月 2026 15:08:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop-phyz' into devlop-phyz
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java | 32 ++++++++++++++++++++------------
1 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java
index e3a1518..e6f0307 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskMissionSchedules.java
@@ -29,6 +29,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
/**
* @author Munch D. Luffy
@@ -163,9 +164,10 @@
//娌℃湁璺緞 杩涘叆搴撳尯绛涢�夌珯鐐�
List<String> targSiteArea = task.getTargSiteArea();
//鎻愬彇鍑烘墍鏈夌珯鐐�
- List<String> siteList = new ArrayList<>();
+// List<String> siteList = new ArrayList<>();
+ ConcurrentHashMap<String,List<String>> siteList = new ConcurrentHashMap<>();
//绛涢�夊嚭瀛樺湪璺緞鐨勭珯鐐�
- List<String> siteListRoute = new ArrayList<>();
+ List<String[]> siteListRoute = new ArrayList<>();
//绛涢�夊彲鏇挎崲閫夐」
List<String> siteListUp = new ArrayList<>();
if (targSiteArea != null && !targSiteArea.isEmpty()) {
@@ -174,34 +176,40 @@
if (basStationArea == null || basStationArea.getStationAlias() == null || basStationArea.getStationAlias().isEmpty()) {
continue;
}
- siteList.addAll(basStationArea.getStationAlias());
+ siteList.put(basStationArea.getStationAreaId(), basStationArea.getStationAlias());
+// siteList.addAll(basStationArea.getStationAlias());
}
if (!siteList.isEmpty()) {
//鏌ヨ绔欑偣璺緞
- for (String site : siteList) {
- List<Long> routeGet = RouteWmsStepFlow.routeGet(stationList, sou, site);
- if (routeGet!=null && !routeGet.isEmpty()){
- siteListRoute.add(site);
+ for (ConcurrentHashMap.Entry<String, List<String>> entry : siteList.entrySet()) {
+ String stationAreaId = entry.getKey(); // 鑾峰彇String閿�
+ List<String> valueList = entry.getValue(); // 鑾峰彇瀵瑰簲鐨凩ist<String>
+ for (String value : valueList) {
+ List<Long> routeGet = RouteWmsStepFlow.routeGet(stationList, sou, value);
+ if (routeGet!=null && !routeGet.isEmpty()){
+ siteListRoute.add(new String[]{stationAreaId, value});
+ }
}
}
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc()));
//鏌ヨ绔欑偣閰嶇疆
if (!siteListRoute.isEmpty()) {
- for (String site : siteListRoute) {
- //鎷f枡鍑哄簱 -- 鐩樼偣鍑哄簱
+ for (String[] siteArray : siteListRoute) {
+ //鍑哄簱璺緞鎺掓煡
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
- .eq(DeviceSite::getSite, site)
+ .eq(DeviceSite::getSite, siteArray[1])
.eq(!Objects.isNull(loc.getChannel()),DeviceSite::getChannel, loc.getChannel())
.eq(DeviceSite::getType, task.getTaskType()).last("limit 1"),false);
if (!Objects.isNull(deviceSite)) {
BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
- .eq(BasStation::getStationName, site)
+ .eq(BasStation::getStationName, siteArray[1])
.eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
);
if (Cools.isEmpty(basStation) || !basStation.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
continue;
}
- task.setTargSite(site);
+ task.setTargSiteAreaNow(siteArray[0]);
+ task.setTargSite(siteArray[1]);
taskService.updateById(task);
break;
}
--
Gitblit v1.9.1