From 6c9cf8648e8f0cae079a7a540e0b0830693f7120 Mon Sep 17 00:00:00 2001
From: L <L@123>
Date: 星期二, 15 七月 2025 15:35:19 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java |   64 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java b/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java
index e0b4f21..5ff7c65 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java
@@ -13,6 +13,7 @@
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -66,7 +67,22 @@
 
     @Scheduled(cron = "0/1 * * * * ? ")
     private void execute(){
+        List<Integer> integersStaArr = new ArrayList<>();
+        List<int[]> stalistArr = new ArrayList<>();
         for(Integer staNo : STA_WORK_CU){
+            Integer crnNo = getCrnNo(staNo);
+            int selectCount = wrkMastService.selectCount(
+                    new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("wrk_sts", 11L));
+            stalistArr.add(new int[]{staNo, selectCount});
+        }
+
+// 鎸塻electCount闄嶅簭鎺掑簭锛堟渶澶х殑鎺掔涓�浣嶏級
+        Collections.sort(stalistArr, (a, b) -> b[1] - a[1]);  // 闄嶅簭鎺掑垪
+// 濡傛灉鎮ㄩ渶瑕佽浆涓烘暟缁勶紙鍙�夛級
+        for (int[] staNowArr : stalistArr){
+            integersStaArr.add(staNowArr[0]);
+        }
+        for(Integer staNo : integersStaArr){
             try{
                 BasDevp basDevp = basDevpService.selectById(staNo);
                 if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -142,7 +158,22 @@
     @Scheduled(cron = "0/1 * * * * ? ")
     private void execute2(){
         try{
+            List<Integer> integersStaArr = new ArrayList<>();
+            List<int[]> stalistArr = new ArrayList<>();
             for(Integer staNo : STA_WORK_CU){
+                Integer crnNo = getCrnNo(staNo);
+                int selectCount = wrkMastService.selectCount(
+                        new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("wrk_sts", 11L));
+                stalistArr.add(new int[]{staNo, selectCount});
+            }
+
+// 鎸塻electCount闄嶅簭鎺掑簭锛堟渶澶х殑鎺掔涓�浣嶏級
+            Collections.sort(stalistArr, (a, b) -> b[1] - a[1]);  // 闄嶅簭鎺掑垪
+// 濡傛灉鎮ㄩ渶瑕佽浆涓烘暟缁勶紙鍙�夛級
+            for (int[] staNowArr : stalistArr){
+                integersStaArr.add(staNowArr[0]);
+            }
+            for(Integer staNo : integersStaArr){
                 try{
                     BasDevp basDevp = basDevpService.selectById(staNo);
                     if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -298,7 +329,7 @@
                 }
             }
 
-            for(Integer staNo : STA_WORK_CU){
+            for(Integer staNo : integersStaArr){
                 try{
                     BasDevp basDevp = basDevpService.selectById(staNo);
                     if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -398,4 +429,35 @@
         return false;
     }
 
+    public Integer getCrnNo(Integer staNo){
+        switch (staNo){
+            case 100:
+            case 101:
+            case 102:
+                return 1;
+            case 103:
+            case 104:
+            case 105:
+                return 2;
+            case 106:
+            case 107:
+            case 108:
+                return 3;
+            case 109:
+            case 110:
+            case 111:
+                return 4;
+            case 112:
+            case 113:
+            case 114:
+                return 5;
+            case 115:
+            case 116:
+            case 117:
+                return 6;
+            default:
+                return 0;
+        }
+    }
+
 }

--
Gitblit v1.9.1