From 9c7e5bc10f242b71f3d94e2c700cb7de79feda17 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期二, 25 二月 2025 08:45:14 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 101 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java
index b5aca80..8f532b7 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java
@@ -2,18 +2,10 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.entity.WrkMastSplitTwin;
-import com.zy.asrs.service.BasCrnpService;
-import com.zy.asrs.service.WrkMastService;
-import com.zy.asrs.service.WrkMastSplitTwinService;
-import com.zy.asrs.service.impl.BasDevpServiceImpl;
-import com.zy.asrs.service.impl.WrkMastServiceImpl;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
 import com.zy.asrs.task.handler.WrkMastSplitTwinInItHandler;
-import com.zy.asrs.utils.LocAndStaCodeUtil;
-import com.zy.asrs.utils.Utils;
+import com.zy.asrs.utils.TimeCalculatorUtils;
 import com.zy.common.model.enums.CrnStnType;
 import com.zy.common.model.enums.WrkMastExecuteType;
 import org.slf4j.Logger;
@@ -34,6 +26,7 @@
 public class WrkMastSplitTwinInItScheduler {
 
     private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
+//    private static  Integer signBigTurn = 0;
 
     @Autowired
     private WrkMastSplitTwinInItHandler wrkMastSplitTwinInItHandler;
@@ -42,22 +35,23 @@
     @Autowired
     private BasCrnpService basCrnpService;
     @Autowired
-    private BasDevpServiceImpl basDevpService;
+    private BasDevpService basDevpService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private RgvOneSignService rgvOneSignService;
 
     public static final List<Integer> SplitTwin_CRN_NO = new ArrayList<Integer>() {{
         add(3);
         add(4);
         add(5);
     }};
-    @Autowired
-    private WrkMastServiceImpl wrkMastService;
 
 
     @Scheduled(cron = "0/3 * * * * ? ")
     private void execute() {
         for (Integer crnNo : SplitTwin_CRN_NO) {
             try {
-                List<Integer> integers = WrkMastExecuteType.get(crnNo);
                 BasCrnp basCrnp = basCrnpService.selectById(crnNo);
                 if (!Cools.isEmpty(basCrnp)) {
                     if (basCrnp.getWrkNo() == 0 && basCrnp.getCrnSts() != 3) {
@@ -70,7 +64,7 @@
                             continue;
                         }
                         WrkMastSplitTwin wrkMastSplitTwin = wrkMastSplitTwinList.get(0);
-                        if (wrkMastSplitTwin.getWrkType()!=1){
+                        if (wrkMastSplitTwin.getWrkType()!=1 && wrkMastSplitTwin.getWrkType()!=2){
                             continue;
                         }
                         wrkMastSplitTwinList = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4);
@@ -82,7 +76,7 @@
                         }
                         switch (wrkMastSplitTwin.getIoType()){
                             case 1:
-                                Integer count = basDevpService.selectWaitNecessary(integers,wrkMastSplitTwin.getWrkNo().intValue());
+                                Integer count = basDevpService.selectWaitNecessary(WrkMastExecuteType.get(crnNo),wrkMastSplitTwin.getWrkNo().intValue());
                                 if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓�
                                     break;
                                 }
@@ -107,6 +101,7 @@
                             case 2:
                                 List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 12L).eq("crn_no", crnNo));
                                 if (wrkMasts.size()==1){
+                                    WrkMast wrkMast1 = wrkMasts.get(0);
                                     wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11L).eq("crn_no", crnNo));
                                     if (wrkMasts.isEmpty()){
                                         if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓�
@@ -119,9 +114,66 @@
                                         break;
                                     }else {
                                         for (WrkMast wrkMast:wrkMasts){
+//                                            if (wrkMast.getStaNoSign().equals(signBigTurn)){
+//                                                continue;
+//                                            }
+//                                            if (wrkMast.booleanStaNoSign() && wrkMast.booleanStaNoSign()){
+//                                                RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMast.getStaNo()));
+//                                                if (Cools.isEmpty(rgvOneSign)){
+//                                                    continue;
+//                                                }
+//                                                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L));
+//                                                if (wrkCount+rgvOneSign.getRgvOneSign()>2){
+//                                                    continue;
+//                                                }
+//                                                int wrkCountGt = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L));
+//                                                if (wrkCountGt > 2){
+//                                                    continue;
+//                                                }
+////                                                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
+////                                                if (wrkCount>=12){
+////                                                    continue;
+////                                                }
+////                                                RgvOneSign bigTurn = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","bigTurn"));
+////                                                if (Cools.isEmpty(bigTurn)){
+////                                                    continue;
+////                                                }
+////                                                if (bigTurn.getRgvOneSign()>13){
+////                                                    continue;
+////                                                }
+////                                                BasDevp basDevp = basDevpService.selectById(wrkMast.getStaNoBying());
+////                                                if (basDevp.getLoading().equals("Y")
+////                                                        || !basDevp.getAutoing().equals("Y")
+////                                                        || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){
+////                                                    continue;
+////                                                }
+//                                            }
                                             wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin,wrkMast,2);
+//                                            signBigTurn++;
+//                                            if (signBigTurn > 2){
+//                                                signBigTurn = 0;
+//                                            }
                                             break;
                                         }
+                                        WrkMastSplitTwin wrkMastSplitTwin1 = wrkMastSplitTwinService.selectOne(new EntityWrapper<WrkMastSplitTwin>().eq("wrk_no", wrkMast1.getWrkNo()));
+                                        if (!Cools.isEmpty(wrkMastSplitTwin1)){
+                                            long differenceInSeconds = TimeCalculatorUtils.differenceInSeconds(wrkMastSplitTwin1.getUpdateTime(), new Date());
+                                            if (differenceInSeconds>180 || (!Cools.isEmpty(wrkMast1.getStaNo()) && (wrkMast1.getStaNo().equals(312) || wrkMast1.getStaNo().equals(310)) )){
+                                                if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓�
+                                                    break;
+                                                }
+                                                if (wrkMastSplitTwin.getWrkSts()!=2){
+                                                    break;
+                                                }
+                                                wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin);
+                                                break;
+                                            }
+                                        }
+
+//                                        signBigTurn++;
+//                                        if (signBigTurn > 2){
+//                                            signBigTurn = 0;
+//                                        }
                                         break;
                                     }
                                 }
@@ -143,7 +195,7 @@
             try {
                 BasCrnp basCrnp = basCrnpService.selectById(crnNo);
                 if (!Cools.isEmpty(basCrnp)) {
-                    if (basCrnp.getWrkNo() == 0 && basCrnp.getCrnSts() != 3) {
+                    if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) {
                         continue;
                     }
                     if (basCrnp.getCrnStatusOne() == 20 && basCrnp.getCrnStatusTwo() == 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓�  宸ヤ綅2鏈夌墿寰呬綔涓�
@@ -181,4 +233,35 @@
         }
     }
 
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void executeThree() {
+        for (Integer crnNo : SplitTwin_CRN_NO) {
+            try {
+                BasCrnp basCrnp = basCrnpService.selectById(crnNo);
+                if (!Cools.isEmpty(basCrnp)) {
+                    if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) {
+                        continue;
+                    }
+                    if (basCrnp.getCrnStatusOne() == 0 && basCrnp.getCrnStatusTwo() == 20) {//鍫嗗灈鏈哄伐浣�1绌洪棽 宸ヤ綅2鏈夌墿寰呬綔涓�
+                        List<WrkMastSplitTwin> wrkMastSplitTwinListTwo = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4);
+                        if (wrkMastSplitTwinListTwo.isEmpty()){
+                            continue;
+                        }
+                        if (wrkMastSplitTwinListTwo.size() > 1){
+                            log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crnNo,"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃缁存姢鎵ц浣滀笟锛侊紒锛�",2);
+                            continue;
+                        }
+                        WrkMastSplitTwin wrkMastSplitTwinTwo = wrkMastSplitTwinListTwo.get(0);
+                        if (wrkMastSplitTwinTwo.getWrkType()!=1 || wrkMastSplitTwinTwo.getWrkSts()!=2){//宸ヤ綔绫诲瀷 0: 鏈煡  1: 鍙�  2: 鏀�  3: 鍙栨斁  4: 瀹屾垚   //宸ヤ綔鐘舵�� 0: 鍒濆  1: 绛夊緟鍙栬揣瀹屾垚  2: 鍙栬揣瀹屾垚寰呬綔涓�  3: 绛夊緟鏀捐揣瀹屾垚  4: 瀹屾垚
+                            continue;
+                        }
+                        wrkMastSplitTwinInItHandler.start(wrkMastSplitTwinTwo);
+                    }
+                }
+            } catch (Exception e) {
+                log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚澶辫触锛屽爢鍨涙満鍙�={}锛屽紓甯稿師鍥�={}", crnNo, e.getMessage());
+            }
+        }
+    }
+
 }

--
Gitblit v1.9.1