From d60e84cbedb554555578f071de95c4a8049183db Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期五, 13 六月 2025 15:16:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java |  169 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 144 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
index 13b8b2c..bfc361e 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.WrkMastCrnHandler;
 import com.zy.asrs.task.handler.WrkMastStaInItHandler;
+import com.zy.asrs.utils.Utils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,16 +15,18 @@
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
  * Created by Monkey D. Luffy on 2023.07.25
- * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉�
+ * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............宸﹀彸鍙屽伐浣嶅爢鍨涙満鎵ц浠诲姟鐢熸垚
  */
 @Component
 public class WrkMastCrnScheduler {
 
     private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
+//    private static  Integer signSmallTurn = 0;
 
     @Autowired
     private WrkMastCrnHandler wrkMastCrnHandler;
@@ -42,45 +45,161 @@
     @Autowired
     private WrkMastCrnService wrkMastCrnService;
 
-    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
+    public static final List<Integer> CRN_WORK_RU = new ArrayList<Integer>() {{
         add(153);add(145);
+    }};
+
+    public static final List<Integer> CRN_WORK_CU = new ArrayList<Integer>() {{
+        add(100);add(148);
+    }};
+    public static final List<Integer> CRN_WORK_CU_SMA = new ArrayList<Integer>() {{
+        add(126);add(131);
     }};
 
 
     @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
-        for(Integer staNo : STA_WORK_RU){
-            BasDevp basDevp = basDevpService.selectById(staNo);
-            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y") && basDevp.getInEnable().equals("Y")){
-                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
-                if(Cools.isEmpty(wrkMast)){
-                    continue;
-                }
-                if (wrkMast.getWrkSts()!=2){
-                    continue;
-                }
-                WrkMastCrn wrkMastCrn = wrkMastCrnService.selectOne(new EntityWrapper<WrkMastCrn>().eq("wrk_no", wrkMast.getWrkNo()));
-                if (Cools.isEmpty(wrkMastCrn)){
-                    BasDevp basDevpOther = basDevpService.selectById(staNoOther(staNo));
-                    if (basDevpOther.getWrkNo()!=0 && basDevpOther.getLoading().equals("Y") && basDevpOther.getAutoing().equals("Y") && basDevpOther.getInEnable().equals("Y")){
-                        WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpOther.getWrkNo()));
-                        if(Cools.isEmpty(wrkMastOther)){
+        try{
+            for(Integer staNo : CRN_WORK_RU){
+                List<WrkMastCrn> wrkMastCrnList = wrkMastCrnService.selectList(new EntityWrapper<WrkMastCrn>().eq("sta_no", staNo));
+                if (Cools.isEmpty(wrkMastCrnList)){
+                    BasDevp basDevp = basDevpService.selectById(staNo);
+                    if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y") && basDevp.getInEnable().equals("Y")){
+                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
+                        if(Cools.isEmpty(wrkMast)){
                             continue;
                         }
-                        if (wrkMastOther.getWrkSts()!=2){
+                        if (wrkMast.getWrkSts()!=2){
                             continue;
                         }
-                        if (!Cools.isEmpty(wrkMast)){
-                            ReturnT<String> result = wrkMastCrnHandler.start(wrkMast,wrkMastOther);
-                            if (result.getCode()==200){
-                                continue;
-                            }else {
-                                System.out.println(staNo+"澶辫触锛�");
+                        WrkMastCrn wrkMastCrn = wrkMastCrnService.selectOne(new EntityWrapper<WrkMastCrn>().eq("wrk_no", wrkMast.getWrkNo()));
+                        if (Cools.isEmpty(wrkMastCrn)){
+                            BasDevp basDevpOther = basDevpService.selectById(staNoOther(staNo));
+                            if (basDevpOther.getWrkNo()!=0 && basDevpOther.getLoading().equals("Y") && basDevpOther.getAutoing().equals("Y") && basDevpOther.getInEnable().equals("Y")){
+                                WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpOther.getWrkNo()));
+                                if(Cools.isEmpty(wrkMastOther)){
+                                    continue;
+                                }
+                                if (wrkMastOther.getWrkSts()!=2){
+                                    continue;
+                                }
+                                if (!Cools.isEmpty(wrkMast)){
+                                    ReturnT<String> result = wrkMastCrnHandler.start(wrkMast,wrkMastOther);
+                                    if (result.getCode()!=200){
+                                        System.out.println(staNo+"澶辫触锛�");
+                                    }
+                                }
                             }
                         }
                     }
                 }
             }
+        }catch (Exception e){
+            log.error("宸﹀彸鍙屽伐浣嶅爢鍨涙満鎵ц浠诲姟鐢熸垚====銆嬪叆搴撲换鍔$敓鎴愬紓甯革細"+e.getMessage());
+        }
+    }
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute2(){
+        for(Integer staNo : CRN_WORK_CU) {
+//            try{
+//                for(Integer staNo1 : CRN_WORK_CU_SMA) {
+//                    RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+staNo1));
+//                    trunSma.setRgvOneSign(0);
+//                    rgvOneSignService.updateById(trunSma);
+//                }
+//            } catch (Exception e){
+//
+//            }
+
+            BasDevp basDevp = basDevpService.selectById(staNo);
+            if (basDevp.getLoading().equals("Y")
+                    || !basDevp.getAutoing().equals("Y")
+                    || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){
+                continue;
+            }
+
+            BasDevp basDevp1 = basDevpService.selectById(staNo==100? 101:149);
+            if (basDevp1.getLoading().equals("Y")
+                    || !basDevp1.getAutoing().equals("Y")
+                    || (!Cools.isEmpty(basDevp1.getWrkNo()) && basDevp1.getWrkNo()!=0) ){
+                continue;
+            }
+            List<WrkMastCrn> wrkMastCrnList = wrkMastCrnService.selectList(new EntityWrapper<WrkMastCrn>().eq("source_sta_no",staNo));
+            if (Cools.isEmpty(wrkMastCrnList)){
+                List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                        .eq("source_sta_no", staNo).eq("wrk_sts", 11L)
+                        .orderBy("io_pri",false));
+                for (WrkMast wrkMast:wrkMasts){
+//                    if (wrkMast.getStaNoSign().equals(signSmallTurn)){
+//                        continue;
+//                    }
+//                    if (wrkMast.booleanStaNoSignOther()){
+//                        continue;
+//                    }
+                    boolean sign = true;
+                    if ((wrkMast.getIoType()==101 || wrkMast.getIoType() == 110) && wrkMast.booleanStaNoSign() && wrkMast.getIoPri()<99D){
+                        Date now = new Date();
+                        long differenceInSeconds = now.getTime() - wrkMast.getModiTime().getTime();
+                        if (differenceInSeconds<=2000){
+                            continue;
+                        }
+//                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMast.getStaNo()));
+//                        if (Cools.isEmpty(rgvOneSign)){
+//                            continue;
+//                        }
+//                        RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMast.getStaNo()));
+//                        if (Cools.isEmpty(trunSma)){
+//                            continue;
+//                        }
+//                        int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L));
+//                        int wrkCountCrn = wrkMastCrnService.selectCount(new EntityWrapper<WrkMastCrn>().eq("sta_no", wrkMast.getStaNo()));
+//                        if (wrkCountCrn*2+wrkCount+rgvOneSign.getRgvOneSign()+trunSma.getRgvOneSign()>1){
+//                            continue;
+//                        }
+//                        int wrkCountGt = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L));
+//                        if (wrkCountGt > 1){
+//                            continue;
+//                        }
+//                        sign = false;
+//                        int loadIngCount = basDevpService.selectCount(new EntityWrapper<BasDevp>().ge("dev_no", 103).le("dev_no", 121).eq("loading", "Y"));
+//                        if (loadIngCount>8){
+//                            continue;
+//                        }
+//                        RgvOneSign smallTurn = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","smallTurn"));
+//                        if (Cools.isEmpty(smallTurn)){
+//                            continue;
+//                        }
+//                        if (smallTurn.getRgvOneSign()>15){
+//                            continue;
+//                        }
+                    }
+                    try{
+                        int row = Utils.getRow(wrkMast.getSourceLocNo());
+                        if (row == wrkMast.getCrnNo()*4 || row == wrkMast.getCrnNo()*4-3){
+                            WrkMastCrn wrkMastCrn = wrkMastCrnService.selectOne(new EntityWrapper<WrkMastCrn>().eq("wrk_no", wrkMast.getWrkNo()));
+                            if (Cools.isEmpty(wrkMastCrn)){
+                                ReturnT<String> result = wrkMastCrnHandler.start(wrkMast,sign);
+                                if (result.isSuccess()) {
+//                                    signSmallTurn++;
+//                                    if (signSmallTurn > 2){
+//                                        signSmallTurn = 0;
+//                                    }
+                                    break;
+                                }
+                            }
+                        }
+                    }catch (Exception e){
+                        log.error("宸﹀彸鍙屽伐浣嶅爢鍨涙満鎵ц浠诲姟鐢熸垚====銆嬪嚭搴撲换鍔$敓鎴愬紓甯革細"+e.getMessage());
+                    }
+                }
+//                if (!wrkMasts.isEmpty()){
+//                    signSmallTurn++;
+//                    if (signSmallTurn > 2){
+//                        signSmallTurn = 0;
+//                    }
+//                }
+            }
         }
     }
 

--
Gitblit v1.9.1