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