From 323d014b95241cd42dfa01227dd4a15575f58a2b Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 16 九月 2025 11:01:33 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/task/AutoMoveScheduler.java |   71 ++++++++++++++++++++++-------------
 1 files changed, 44 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 7f31374..7d875d2 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -23,6 +23,7 @@
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -66,8 +67,8 @@
      * ioType 108.鑷姩璋冩嫧
      * crnNo :2鐩爣妤煎眰
      */
-    @Scheduled(cron = "0/1 * * * * ? ")
-    private synchronized void execute2() {
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public synchronized void execute2() {
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 108).andNew().eq("crn_no", 2).or().eq("crn_no", 3).orderBy("io_pri", false).orderBy("appe_time", true));
         if (agvWrkMastList.isEmpty()) {
             return;
@@ -110,8 +111,8 @@
      * wrkSts 22.璋冩嫧寰呭垎閰�
      * ioType 111.鎵嬪姩璋冩嫧
      */
-    @Scheduled(cron = "0/2 * * * * ? ")
-    private void execute3() {
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public void execute3() {
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 111).orderBy("io_pri", false).orderBy("appe_time", true));
         if (agvWrkMastList.isEmpty()) {
             return;
@@ -126,8 +127,8 @@
 
     }
 
-    @Scheduled(cron = "0/2 * * * * ? ")
-    private void execute4() {
+    //@Scheduled(cron = "0/2 * * * * ? ")
+    public void execute4() {
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 114).orderBy("io_pri", false).orderBy("appe_time", true));
         if (agvWrkMastList.isEmpty()) {
             return;
@@ -144,7 +145,7 @@
 
 //    // 绌烘澘鑷姩鍥炲簱  搴撲綅-鎺ラ┏鐐�
 //    //@Scheduled(cron = "0/2 * * * * ? ")
-//    private void autoEmptyBack(){
+//    public void autoEmptyBack(){
 //        // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
 //        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
 //                new EntityWrapper<AgvLocMast>()
@@ -169,8 +170,8 @@
      * wrkSts 214.绌烘枡鏋跺洖娴佸緟鍒嗛厤
      * ioType 113.绌烘墭鐩樻墜鍔ㄥ洖娴�
      */
-    @Scheduled(cron = "0/2 * * * * ? ")
-    private void autoEmptyBack3() {
+    @Scheduled(cron = "0/4 * * * * ? ")
+    public void autoEmptyBack3() {
         // 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 214).eq("loc_no", "").eq("io_type", 113).orderBy("io_pri", false));
         if (agvWrkMastList.isEmpty()) {
@@ -214,21 +215,21 @@
      * 2妤兼垨3妤肩珯鐐瑰彲鍏ヤ俊鍙峰叏閮ㄦ病鏈夛紝浠h〃璧扮數姊嚜鍔ㄦ惉杩愭ā寮�
      */
     @Scheduled(cron = "0/30 * * * * ? ")
-    private void autoEmptyBack4() {
+    public void autoEmptyBack4() {
         List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>()
                 // TODO 鍥涙湡
                 .eq("loc_sts", "D").eq("loc_type1", 3).andNew().ne("floor", 1).or().ne("lev1", 1));
         if (agvLocMasts.isEmpty()) {
             return;
         }
-
-
+        Collections.shuffle(agvLocMasts);
+        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME"));
         for (AgvLocMast agvLocMast : agvLocMasts) {
-            if (agvLocMast.getLocNo().contains("F4")) {
-                Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME"));
+            if (agvLocMast.getLocNo().contains("02F1")) {
                 boolean flag = false;
                 if (config != null && !Cools.isEmpty(config.getValue())) {
                     try {
+
                         // 鍒ゆ柇鏄惁鍦ㄦ墽琛屾椂闂村唴
                         ProcesTimeData procesTimeData = JSONObject.parseObject(config.getValue(), ProcesTimeData.class);
                         if (procesTimeData != null && config.getStatus() == 1 && TimeUtils.between(procesTimeData)) {
@@ -243,14 +244,14 @@
                     try {
                         autoMoveHandler.autoEmptyBack4(agvLocMast);
                     } catch (Exception e) {
-                        log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+                        //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
                     }
                 }
             } else {
                 try {
                     autoMoveHandler.autoEmptyBack4(agvLocMast);
                 } catch (Exception e) {
-                    log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+                    //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�  搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
                 }
             }
 
@@ -264,8 +265,24 @@
      * 灏嗕簩鍘傜殑6绫诲瀷鐨勭┖璐ф灦璋冩嫧鍥炲惛濉戜簩妤�
      */
     // TODO 鍥涙湡
-    @Scheduled(cron = "0/30 * * * * ? ")
-    private void autoEmptyBackSiqi() {
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public void autoEmptyBackSiqi() {
+        Config config2 = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_EMPTY"));
+        //鍏堝垽鏂┖搴撲綅鏁颁簡
+        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_type1", 6).eq("floor", 1).eq("lev1", 2).eq("loc_sts", "O"));
+        int size = 0;
+        if (agvLocMasts != null) {
+            size = agvLocMasts.size();
+        }
+        if (config2 != null && config2.getStatus() == 1 && !Cools.isEmpty(config2.getValue())) {
+            if (size < Integer.parseInt(config2.getValue())) {
+                return;
+            }
+        } else {
+            if (size < 20) {
+                return;
+            }
+        }
         // 鏌ヨ6绫诲瀷绌鸿揣鏋惰繑鍥炵殑鎵ц鏃堕棿鐐�
         Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_TIME"));
         if (config != null && !Cools.isEmpty(config.getValue())) {
@@ -290,9 +307,9 @@
     }
 
 
-    private void executeLocType6() {
+    public void executeLocType6() {
         // 鏌ヨ 浜屽巶鐨勭殑鍗婃垚鍝佺澹崇被鍨嬬殑绌鸿揣鏋�
-        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "D").eq("loc_type1", 6).eq("floor", 2));
+        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "D").eq("loc_type1", 6).in("floor", 2,3).orderBy("bay1",false));
         if (agvLocMasts.isEmpty()) {
             return;
         }
@@ -305,7 +322,7 @@
         }
     }
 
-    private boolean determineFloorConnection(Integer floor) {
+    public boolean determineFloorConnection(Integer floor) {
         try {
             List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", floor).like("dev_no", "DB_"));
             if (!agvBasDevps.isEmpty()) {
@@ -328,8 +345,8 @@
      * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦
      * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱
      */
-    @Scheduled(cron = "0/2 * * * * ? ")
-    private void autoEmptyBack5() {
+    @Scheduled(cron = "0/8 * * * * ? ")
+    public void autoEmptyBack5() {
         List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().ne("floor", 1).eq("loc_sts", "F").like("dev_no", "DB"));
         if (agvBasDevps.isEmpty()) {
             return;
@@ -348,7 +365,7 @@
      * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦
      */
     @Scheduled(cron = "0/30 * * * * ? ")
-    private void autoEmptyBack6() {
+    public void autoEmptyBack6() {
         List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", 1).eq("loc_sts", "F").like("dev_no", "DB"));
         if (agvBasDevps.isEmpty()) {
             return;
@@ -365,8 +382,8 @@
     /**
      * 璺ㄥ眰鑷姩绉诲簱
      */
-    @Scheduled(cron = "0/2 * * * * ? ")
-    private void autoEmptyBack7() throws ParseException {
+    @Scheduled(cron = "0/8 * * * * ? ")
+    public void autoEmptyBack7() throws ParseException {
         Date now = new Date();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         String currentDay = sdf.format(now);
@@ -414,7 +431,7 @@
      * 鍦ㄥ簱浣嶄笉澶熺殑鎯呭喌涓嬶紝绠卞3鍏ュ簱鍒殑妤煎眰搴撲綅鐨勬椂鍊欙紝鏅氫笂杩涜璺ㄥ眰绉诲簱
      */
     @Scheduled(cron = "0/30 * * * * ? ")
-    private void autoEmptyBack8() throws ParseException {
+    public void autoEmptyBack8() throws ParseException {
         Date now = new Date();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         String currentDay = sdf.format(now);

--
Gitblit v1.9.1