From f41df488a23abd9fff472fa72a8fa3bb283c936b Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 01 三月 2024 14:41:21 +0800
Subject: [PATCH] #车锁

---
 src/main/java/com/zy/core/thread/RgvThread.java             |    6 +
 src/main/java/com/zy/asrs/utils/RouteUtils.java             |  101 ++++++++++++++++++---------------
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   14 ++++
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/java/com/zy/core/RgvThread2.java                   |    6 ++
 5 files changed, 79 insertions(+), 50 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 3d0c749..9dafb82 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2346,6 +2346,7 @@
                     rgvProtocol.getModeType() == RgvModeType.AUTO
                     && rgvProtocol.getLoaded1()==0  //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
                     && (rgvProtocol.getTaskNo1()==0)
+                        &&rgvThread.isPakMk()
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
 
@@ -2361,9 +2362,17 @@
                         && rgvProtocolOther.getModeType() == RgvModeType.AUTO
                         && rgvProtocolOther.getLoaded1()==0
                         && (rgvProtocolOther.getTaskNo1()==0)
+                        &&rgvThreadOther.isPakMk()
                     ){
+                        //瀵瑰伐浣滄。杩涜鍒ゆ柇
                         basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
-                        rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2366");
+                        if (rgvProtocol.getTaskNo1() >0 && rgvProtocol.getTaskNo1()<=9000){
+                            WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
+                            rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2366");
+                        }else if (rgvProtocol.getTaskNo1() == 0){
+                            rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2366");
+                        }
+
                     }
 
 
@@ -2413,6 +2422,7 @@
                             BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
                             basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                             rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2415");
+                            rgvThread.setPakMk(true);
                             break;
                         }
                         WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue());
@@ -2469,6 +2479,7 @@
                         BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
                         basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                         rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2471");
+                        rgvThread.setPakMk(true);
                     }
 
                     else {
@@ -2523,6 +2534,7 @@
                         boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
                         wrkEnable = true;
                         if (sign){
+                            rgvThread.setPakMk(false);
                             boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2526");
                             if (signMap){
                                 Thread.sleep(300);
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index e769506..32f7b51 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -31,11 +31,11 @@
 
 //    姝e簭
     public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = new ArrayList<Integer>() {{
-        add(161);add(157);add(153);add(149);add(124);add(119);add(113);add(999);add(112);add(107);add(106);add(101);add(100);
+        add(161);add(157);add(153);add(149);add(124);add(119);add(113);add(112);add(107);add(106);add(101);add(100);
     }};
 //    鍙嶅簭
     public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<Integer>() {{
-        add(100);add(101);add(106);add(107);add(112);add(999);add(113);add(119);add(124);add(149);add(153);add(157);add(161);
+        add(100);add(101);add(106);add(107);add(112);add(113);add(119);add(124);add(149);add(153);add(157);add(161);
     }};
 
     public static String zerofill(String msg, Integer count){
@@ -257,52 +257,59 @@
 
 
     public static void main(String[] arge){
-        List<Integer> routeCurrent = getRoute(100, 124);  //鑾峰彇褰撳墠灏忚溅璺緞
-        List<Integer> routeOther = getRoute(149, 161);  //鑾峰彇鍏跺畠灏忚溅璺緞
-        System.out.println("褰撳墠灏忚溅璺緞:\t"+routeCurrent);
-        System.out.println("鍏跺畠灏忚溅璺緞:\t"+routeOther);
+        //{"endRoute":999,"lockEndRoute":124,"lockStartRoute":161,"nowRoute":161,"rgvNo":3,"rgvStatus":0,"startRoute":161}   3hao
+        Integer i = RouteIndexFarMas(112, 161, 124, 161);
+        System.out.println(i);
+        //{"endRoute":119,"lockEndRoute":112,"lockStartRoute":100,"nowRoute":112,"rgvNo":2,"rgvStatus":0,"startRoute":100} 2
+        Integer i1 = RouteIndexFarMas(112, 100, 112, 100);
+        System.out.println(i1);
 
-        boolean routeBoolean = getRouteBoolean(routeCurrent, routeOther);  //鏄惁鏈変氦闆�
-        System.out.println("鏄惁鏈変氦闆�:\t"+routeBoolean);
-
-        List<Integer> routeIntersection = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.INTERSECTION);//浜ら泦
-        System.out.println("璺緞浜ら泦锛歕t"+routeIntersection);
-
-        List<Integer> routeIntersection1 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.DIFFERENCESET);//宸泦
-        System.out.println("璺緞宸泦锛歕t"+routeIntersection1);
-
-        List<Integer> routeIntersection2 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.UNION);//骞堕泦
-        System.out.println("璺緞骞堕泦锛歕t"+routeIntersection2);
-
-        List<Integer> routeIntersection3 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.DEDUPLICATIONUNION);//鍘婚噸骞堕泦
-        System.out.println("璺緞鍘婚噸骞堕泦锛歕t"+routeIntersection3);
-
-        /*
-         * a  灏忚溅褰撳墠浣嶇疆
-         * b  灏忚溅浠诲姟寮�濮嬩綅缃�
-         * c  灏忚溅浠诲姟缁撴潫浣嶇疆
-         * sign  鍙︿竴涓皬杞︾┖闂叉爣璁�
-         * */
-        System.out.println("鏄惁鏈変氦闆嗭細\t"+RouteAutoBoolean(100,101,124,149,161,153,true));   //鏄惁鏈変氦闆�  true鏃犱氦闆�  false鏈変氦闆�
-
-        /*
-         * a  灏忚溅褰撳墠浣嶇疆
-         * b  灏忚溅浠诲姟寮�濮嬩綅缃�
-         * c  灏忚溅浠诲姟缁撴潫浣嶇疆
-         * d  灏忚溅鍒濆浣嶇疆
-         * 鑾峰彇鏈�澶ц矾寰勫樊鍊�
-         * */
-        List<Integer> routeDIFF = RouteMapCurrentFar(100,101,124,149);
-        System.out.println("褰撳墠璺緞鏈�澶ч泦鍚堬細\t"+ routeDIFF);
-
-        Integer routeFarOther= RouteMapOtherFarStnNo(routeDIFF,124);
-        System.out.println("鍙︿竴鍙板皬杞︽渶杩滅珯鐐癸細\t"+routeFarOther);
-
-
-        Integer[] integers = RouteIndexFarArr(100,101,124,149);
-        for (Integer integer:integers){
-            System.out.println(integer);
-        }
+//        List<Integer> routeCurrent = getRoute(100, 124);  //鑾峰彇褰撳墠灏忚溅璺緞
+//        List<Integer> routeOther = getRoute(149, 161);  //鑾峰彇鍏跺畠灏忚溅璺緞
+//        System.out.println("褰撳墠灏忚溅璺緞:\t"+routeCurrent);
+//        System.out.println("鍏跺畠灏忚溅璺緞:\t"+routeOther);
+//
+//        boolean routeBoolean = getRouteBoolean(routeCurrent, routeOther);  //鏄惁鏈変氦闆�
+//        System.out.println("鏄惁鏈変氦闆�:\t"+routeBoolean);
+//
+//        List<Integer> routeIntersection = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.INTERSECTION);//浜ら泦
+//        System.out.println("璺緞浜ら泦锛歕t"+routeIntersection);
+//
+//        List<Integer> routeIntersection1 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.DIFFERENCESET);//宸泦
+//        System.out.println("璺緞宸泦锛歕t"+routeIntersection1);
+//
+//        List<Integer> routeIntersection2 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.UNION);//骞堕泦
+//        System.out.println("璺緞骞堕泦锛歕t"+routeIntersection2);
+//
+//        List<Integer> routeIntersection3 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.DEDUPLICATIONUNION);//鍘婚噸骞堕泦
+//        System.out.println("璺緞鍘婚噸骞堕泦锛歕t"+routeIntersection3);
+//
+//        /*
+//         * a  灏忚溅褰撳墠浣嶇疆
+//         * b  灏忚溅浠诲姟寮�濮嬩綅缃�
+//         * c  灏忚溅浠诲姟缁撴潫浣嶇疆
+//         * sign  鍙︿竴涓皬杞︾┖闂叉爣璁�
+//         * */
+//        System.out.println("鏄惁鏈変氦闆嗭細\t"+RouteAutoBoolean(100,101,124,149,161,153,true));   //鏄惁鏈変氦闆�  true鏃犱氦闆�  false鏈変氦闆�
+//
+//        /*
+//         * a  灏忚溅褰撳墠浣嶇疆
+//         * b  灏忚溅浠诲姟寮�濮嬩綅缃�
+//         * c  灏忚溅浠诲姟缁撴潫浣嶇疆
+//         * d  灏忚溅鍒濆浣嶇疆
+//         * 鑾峰彇鏈�澶ц矾寰勫樊鍊�
+//         * */
+//        List<Integer> routeDIFF = RouteMapCurrentFar(100,101,124,149);
+//        System.out.println("褰撳墠璺緞鏈�澶ч泦鍚堬細\t"+ routeDIFF);
+//
+//        Integer routeFarOther= RouteMapOtherFarStnNo(routeDIFF,124);
+//        System.out.println("鍙︿竴鍙板皬杞︽渶杩滅珯鐐癸細\t"+routeFarOther);
+//
+//
+//        Integer[] integers = RouteIndexFarArr(100,101,124,149);
+//        for (Integer integer:integers){
+//            System.out.println(integer);
+//        }
     }
 
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 1192aa1..3341f0a 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -37,7 +37,7 @@
                 try {
 
                     // 闂撮殧
-                    Thread.sleep(500);
+                    Thread.sleep(1000);
 
                     // 绯荤粺杩愯鐘舵�佸垽鏂�
                     if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
diff --git a/src/main/java/com/zy/core/RgvThread2.java b/src/main/java/com/zy/core/RgvThread2.java
new file mode 100644
index 0000000..82ced52
--- /dev/null
+++ b/src/main/java/com/zy/core/RgvThread2.java
@@ -0,0 +1,6 @@
+package com.zy.core;
+
+public interface RgvThread2 extends ThreadHandler{
+
+    void setPakMk(boolean lock);
+}
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 3d626eb..8920a92 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.service.BasRgvOptService;
 import com.zy.asrs.service.BasRgvService;
 import com.zy.common.utils.News;
+import com.zy.core.RgvThread2;
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -35,7 +36,7 @@
  */
 @Data
 @Slf4j
-public class RgvThread implements Runnable, ThreadHandler {
+public class RgvThread implements Runnable, RgvThread2 {
 
     private SiemensS7Net siemensNet;
     private RgvSlave slave;
@@ -49,6 +50,9 @@
      */
     private boolean resetFlag2 = false;
 
+    //閿佸畾鏍囪
+    private boolean PakMk = true;
+
     public RgvThread(RgvSlave slave) {
         this.slave = slave;
     }

--
Gitblit v1.9.1