From 7ac5a3f2bcbb0d0e13dc87cd969c8fb1fd99b488 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期日, 04 一月 2026 10:38:42 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 513df59..9b3886e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -360,12 +360,24 @@
                             newDto.setCodeId(endCode.getId());
                             destPosList.add(newDto);
 
+                            // sort - reference to buildMarjoTask
+                            final String sameGroupXy = configService.getVal("sameGroupXy", String.class);
+
+                            // DEST-only sort
                             destPosList.sort((a, b) -> {
-                                int c1 = Double.compare(a.getXy()[0], b.getXy()[0]); // X
-                                if (c1 != 0) return c1;
-                                int c2 = Double.compare(a.getXy()[1], b.getXy()[1]); // Y
-                                if (c2 != 0) return c2;
-                                // 鍚屽潗鏍囨椂鐢� taskId 鎵撴暎锛堥伩鍏嶆帓搴忎笉绋冲畾锛�
+
+                                // 涓昏酱
+                                double aFirst = a.getFirstWeight(sameGroupXy);
+                                double bFirst = b.getFirstWeight(sameGroupXy);
+                                int c = Double.compare(aFirst, bFirst);
+                                if (c != 0) return c;
+
+                                // 鍓酱
+                                double aSecond = a.getSecondWeight(sameGroupXy);
+                                double bSecond = b.getSecondWeight(sameGroupXy);
+                                c = Double.compare(aSecond, bSecond);
+                                if (c != 0) return c;
+
                                 return Long.compare(a.getTaskId(), b.getTaskId());
                             });
 
@@ -513,7 +525,7 @@
              * val: new TaskPosDto(taskId, new Double[]{code.getX(), code.getY()}, posType)
              */
             Map<String, List<TaskPosDto>> groups = new HashMap<>();
-            final String sameGroupXy = configService.getVal( "sameGroupXy", String.class);
+            final String sameGroupXy = configService.getVal("sameGroupXy", String.class);
 
             int backpackLev = 0;
             for (Task task : taskList) {

--
Gitblit v1.9.1