From bfcc71f500625a26886b43c43a8fdf2ea1152844 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 23 六月 2026 13:47:59 +0800
Subject: [PATCH] 环境检测排序,仓库绑定物联设备

---
 src/main/java/com/ruoyi/http/service/controller/JclyController.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/http/service/controller/JclyController.java b/src/main/java/com/ruoyi/http/service/controller/JclyController.java
index 409fda4..b8ee77a 100644
--- a/src/main/java/com/ruoyi/http/service/controller/JclyController.java
+++ b/src/main/java/com/ruoyi/http/service/controller/JclyController.java
@@ -67,6 +67,14 @@
                 }
             }
         }
+        // 鎸� deviceName 绗竴涓瓧绗︼紙鏁板瓧锛夋帓搴�
+        maps.sort((a, b) -> {
+            String nameA = a.getOrDefault("deviceName", "");
+            String nameB = b.getOrDefault("deviceName", "");
+            int firstNumA = extractFirstNumber(nameA);
+            int firstNumB = extractFirstNumber(nameB);
+            return Integer.compare(firstNumA, firstNumB);
+        });
         return AjaxResult.success(maps);
     }
 
@@ -81,4 +89,26 @@
         return AjaxResult.success(maps);
     }
 
+    /**
+     * 鎻愬彇瀛楃涓插紑澶寸殑鏁板瓧
+     */
+    private int extractFirstNumber(String str) {
+        if (str == null || str.isEmpty()) {
+            return Integer.MAX_VALUE;
+        }
+        StringBuilder numStr = new StringBuilder();
+        for (int i = 0; i < str.length(); i++) {
+            char c = str.charAt(i);
+            if (Character.isDigit(c)) {
+                numStr.append(c);
+            } else {
+                break;
+            }
+        }
+        if (numStr.length() == 0) {
+            return Integer.MAX_VALUE;
+        }
+        return Integer.parseInt(numStr.toString());
+    }
+
 }

--
Gitblit v1.9.3