From 843adafd2eb2934e26a935e2de2b57a9e577d29a Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期四, 27 六月 2024 13:16:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java             |    7 
 src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java |    6 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java           |  435 ++++++++++++++++++++++++++++++++++++++-
 src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java            |    4 
 src/main/java/com/zy/asrs/service/WrkMastExecuteService.java          |    2 
 src/main/java/com/zy/core/enums/SteTaskModeType.java                  |    4 
 src/main/java/com/zy/core/MainProcess.java                            |   11 
 src/main/resources/mapper/WrkMastExecuteMapper.xml                    |    8 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java               |  126 +++++++++--
 src/main/java/com/zy/asrs/entity/WrkMastExecute.java                  |    2 
 10 files changed, 547 insertions(+), 58 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
index 895f5bf..cb0f7c2 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
@@ -141,7 +141,7 @@
 
     /**
      * 宸ヤ綔鐘舵��
-     * 0:鍒濆  wrk_type
+     * 0:鍒濆  wrk_sts
      * 1锛歊GV灏忚溅閬胯銆�2锛氶伩璁╁畬鎴愩��3锛氬紑闂ㄤ腑銆�4锛氬紑闂ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�    //io_type = 1銆�3
      * 1锛歊GV灏忚溅閬胯銆�2锛氶伩璁╁畬鎴愩��3锛氬叧闂ㄤ腑銆�4锛氬叧闂ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�    //io_type = 2銆�4
      * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歳gv鍙栬揣銆�4锛歳gv鍙栬揣瀹屾垚銆�5锛歋te绌挎鐗堝叆纭寲缃愩��6锛氬叆缃愬畬鎴愩��7锛氭洿鏂板畬鎴�   //io_type = 5
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
index 070d820..1032fb7 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
@@ -18,10 +18,10 @@
 
     List<WrkMastExecute> selectWrkMastExecuteByType(@Param("type") Integer type);
 
-    List<WrkMastExecute> selectWrkMastExecuteByTypeAndIoTyperAndWrkType(@Param("type")Integer type,@Param("ioType")Integer ioType,@Param("wrkType")Integer wrkType);
+    List<WrkMastExecute> selectWrkMastExecuteByTypeAndIoTyperAndWrkType(@Param("type")Integer type,@Param("ioType")Integer ioType,@Param("wrkSts")Integer wrkSts);
 
     List<WrkMastExecute> selectWrkMastExecuteByWrk(@Param("type")Integer type,@Param("ioType")Integer ioType,
-                                                   @Param("wrkType")Integer wrkType,@Param("steNo")Integer steNo,
+                                                   @Param("wrkSts")Integer wrkSts,@Param("steNo")Integer steNo,
                                                    @Param("jarNo")Integer jarNo,@Param("rgvNo")Integer rgvNo);
 
 
diff --git a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
index ada23c3..c6116d0 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
@@ -13,7 +13,7 @@
 
     List<WrkMastExecute> selectWrkMastExecuteByType(Integer type);
 
-    List<WrkMastExecute> selectWrkMastExecuteByTypeAndIoTyperAndWrkType(Integer type,Integer ioType,Integer wrkType);
+    List<WrkMastExecute> selectWrkMastExecuteByTypeAndIoTyperAndWrkType(Integer type,Integer ioType,Integer wrkSts);
 
     List<WrkMastExecute> selectWrkMastExecuteByWrk(WrkMastExecute wrkMastExecute);
 
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 358e743..3454118 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5267,7 +5267,16 @@
     * JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂
     * Action
     * */
-    public synchronized void jarWrkMastExecuteAction(Integer sign) {
+    public synchronized void jarWrkMastExecuteAction(Integer sign,Integer sign2) {
+        if (sign2==0){
+            jarWrkMastExecuteActionOne(sign);
+        } else if (sign2 == 1){
+            jarWrkMastExecuteActionTwo(sign);
+        } else if (sign2 == 2){
+            jarWrkMastExecuteActionThree(sign);
+        }
+    }
+    public synchronized void jarWrkMastExecuteActionOne(Integer sign) {
         try{
             List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,0);
             for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
@@ -5328,6 +5337,108 @@
 
     }
 
+    /*
+     * JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂
+     * Action
+     * */
+    public synchronized void jarWrkMastExecuteActionTwo(Integer sign) {
+        try{
+            List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,2);
+            for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+                /*
+                 * 浠诲姟绫诲瀷 0: 鏈煡
+                 * 1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬
+                 * 5: 鍏ョ~鍖栫綈
+                 * 6: 鍏ュ喎鍗存Ы
+                 * 7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�
+                 * 9: 鍑哄喎鍗存Ы
+                 * 10锛欰=>B 11:B=>A
+                 * */
+                switch (wrkMastExecute.getIoType()){
+                    case 1://1: 寮�杩涙枡闂�
+                    case 3://3: 寮�鍑烘枡闂�
+                        if (jarWrkMastExecuteActionExecute1(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                    case 2:
+                    case 4:
+                        if (jarWrkMastExecuteActionExecute2(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                    case 5:
+                        if (jarWrkMastExecuteActionExecute5(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                    case 6:
+                        if (jarWrkMastExecuteActionExecute6(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                    case 7:
+                    case 8:
+                        if (jarWrkMastExecuteActionExecute7(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                    case 9:
+                        if (jarWrkMastExecuteActionExecute9Two(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                    case 10:
+                    case 11:
+                        if (jarWrkMastExecuteActionExecute10(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                }
+            }
+        } catch (Exception e){
+            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>Action==>涓嬪彂"+e.getMessage());
+        }
+
+    }
+
+    /*
+     * JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂
+     * Action
+     * */
+    public synchronized void jarWrkMastExecuteActionThree(Integer sign) {
+        try{
+            List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,4);
+            for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+                /*
+                 * 浠诲姟绫诲瀷 0: 鏈煡
+                 * 1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬
+                 * 5: 鍏ョ~鍖栫綈
+                 * 6: 鍏ュ喎鍗存Ы
+                 * 7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�
+                 * 9: 鍑哄喎鍗存Ы
+                 * 10锛欰=>B 11:B=>A
+                 * */
+                switch (wrkMastExecute.getIoType()){
+                    case 5:
+                        if (jarWrkMastExecuteActionExecute5Three(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                    case 6:
+                        if (jarWrkMastExecuteActionExecute6Three(wrkMastExecute,sign)){
+                            break;
+                        }
+                        return;
+                }
+            }
+        } catch (Exception e){
+            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>Action==>涓嬪彂"+e.getMessage());
+        }
+
+    }
+
+
     /**
      *  JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
      *  1銆�3寮�杩涙枡闂�
@@ -5360,7 +5471,7 @@
 //            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
 //                return false;
 //            }
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
             if (staProtocolRGV == null) {
                 return false;
@@ -5403,7 +5514,7 @@
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                             wrkMastExecute.setWrkType(1);
-                            wrkMastExecute.setWrkSts(1);
+                            wrkMastExecute.setWrkSts(2);
                             if (wrkMastExecuteService.updateById(wrkMastExecute)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
@@ -5478,7 +5589,7 @@
 //                return false;
 //            }
 
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
             if (staProtocolRGV == null) {
                 return false;
@@ -5520,7 +5631,7 @@
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                             wrkMastExecute.setWrkType(1);
-                            wrkMastExecute.setWrkSts(1);
+                            wrkMastExecute.setWrkSts(2);
 
                             if (wrkMastExecuteService.updateById(wrkMastExecute)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -5641,6 +5752,7 @@
                                 ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==3)){
                             log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                            return true;
                         }
                         wrkMastExecute.setWrkType(1);
                         wrkMastExecute.setWrkSts(3);
@@ -5655,9 +5767,114 @@
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
                         wrkMastExecute.setWrkType(1);
-                        wrkMastExecute.setWrkSts(1);
+                        wrkMastExecute.setWrkSts(2);
                         if (wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                        }
+                    }
+                    return true;
+                }
+                return false;
+            } else {
+                log.error("jarWrkMastExecuteActionExecute1===>鎵ц寮傚父===銆婻GV涓嶆弧瓒虫潯浠讹紝绛夊緟===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute));
+                return false;
+            }
+        } catch (Exception e){
+            log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
+     *  io_type==>5:鍏ョ~鍖栫綈  :  wrkSts  ==>4锛歳gv鍙栬揣瀹屾垚
+     *  =====>wrkSts ==>5锛歋te绌挎鐗堝叆纭寲缃�(娓呮RGV璧勬枡)
+     *  浠诲姟涓嬪彂
+     */
+    public synchronized boolean jarWrkMastExecuteActionExecute5Three(WrkMastExecute wrkMastExecute,Integer sign) {
+        try{
+            List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
+            if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+                return false;
+            }
+
+            // 鑾峰彇纭寲缃愪俊鎭�
+            JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, wrkMastExecute.getJarId());
+            JarProtocol jarProtocol = jarThread.getJarProtocol();
+            if (jarProtocol == null) {
+                return false;
+            }
+            if (jarProtocol.modeType != JarModeType.AUTO){
+                return false;
+            }
+
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+            if (Cools.isEmpty(basJar)){
+                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                return false;
+            }
+
+//            //鍒ゆ柇灏忚溅鐘舵��
+//            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
+//                return false;
+//            }
+
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+            StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
+            if (staProtocolRGV == null) {
+                return false;
+            } else {
+                staProtocolRGV = staProtocolRGV.clone();
+            }
+            if (staProtocolRGV == null) {
+                return false;
+            }
+
+            StaProtocol staProtocolRGVOther = devpThread.getStation().get(basJar.getOutRgvNo());
+            if (staProtocolRGVOther == null) {
+                return false;
+            } else {
+                staProtocolRGVOther = staProtocolRGVOther.clone();
+            }
+            if (staProtocolRGVOther == null) {
+                return false;
+            }
+
+            if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){
+                if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
+                    //绉昏蛋  == > 2
+                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                        log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                    }
+                    return true;
+                }
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层��  杩涙枡浠墦寮�闇�鍏抽棴
+                if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
+                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
+
+                    if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
+                        //鍒ゆ柇灏忚溅鐘舵��
+                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                            return false;
+                        }
+                        //璋冭溅  == > 鍙栬揣
+                        if (jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT22.id,SteTaskModeType.STE_WFFH_13,false)){
+                            log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                        }
+                        wrkMastExecute.setWrkType(1);
+                        wrkMastExecute.setWrkSts(5);
+                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                            log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                        }
+                    } else {
+                        //璋冭溅  == > endRow
+                        if (jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+                            log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
                     }
@@ -5707,7 +5924,7 @@
 //                return false;
 //            }
 
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
             if (staProtocolRGV == null) {
                 return false;
@@ -5765,7 +5982,117 @@
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
                         wrkMastExecute.setWrkType(1);
-                        wrkMastExecute.setWrkSts(1);
+                        wrkMastExecute.setWrkSts(2);
+                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                            log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                        }
+                    }
+                    return true;
+                }
+                return false;
+            } else {
+                log.error("jarWrkMastExecuteActionExecute1===>鎵ц寮傚父===銆婻GV涓嶆弧瓒虫潯浠讹紝绛夊緟===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute));
+                return false;
+            }
+        } catch (Exception e){
+            log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
+     *  6:鍏ュ喎鍗存Ы
+     *  浠诲姟涓嬪彂
+     */
+    public synchronized boolean jarWrkMastExecuteActionExecute6Three(WrkMastExecute wrkMastExecute,Integer sign) {
+        try{
+            List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
+            if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+                return false;
+            }
+
+            // 鑾峰彇纭寲缃愪俊鎭�
+            JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, wrkMastExecute.getJarId());
+            JarProtocol jarProtocol = jarThread.getJarProtocol();
+            if (jarProtocol == null) {
+                return false;
+            }
+            if (jarProtocol.modeType != JarModeType.AUTO){
+                return false;
+            }
+
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+            if (Cools.isEmpty(basJar)){
+                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                return false;
+            }
+
+//            //鍒ゆ柇灏忚溅鐘舵��
+//            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
+//                return false;
+//            }
+
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+            StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
+            if (staProtocolRGV == null) {
+                return false;
+            } else {
+                staProtocolRGV = staProtocolRGV.clone();
+            }
+            if (staProtocolRGV == null) {
+                return false;
+            }
+
+            StaProtocol staProtocolRGVOther = devpThread.getStation().get(basJar.getOutRgvNo());
+            if (staProtocolRGVOther == null) {
+                return false;
+            } else {
+                staProtocolRGVOther = staProtocolRGVOther.clone();
+            }
+            if (staProtocolRGVOther == null) {
+                return false;
+            }
+
+            if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
+                if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
+                    //绉昏蛋  == > 2
+                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                        log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                    }
+                    return true;
+                }
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层��
+                if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
+                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
+
+                    if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
+                        //鍒ゆ柇灏忚溅鐘舵��
+                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                            return false;
+                        }
+                        //璋冭溅  == > 鍙栬揣
+                        if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){
+                            log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                        }
+                        wrkMastExecute.setWrkType(1);
+                        wrkMastExecute.setWrkSts(3);
+                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                            log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                        }
+                    } else {
+                        //璋冭溅  == > endRow
+                        if (jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+                            log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                        }
+                        wrkMastExecute.setWrkType(1);
+                        wrkMastExecute.setWrkSts(2);
                         if (wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
@@ -5833,7 +6160,7 @@
 //                return false;
 //            }
 
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
             if (staProtocolRGV == null) {
                 return false;
@@ -5923,7 +6250,7 @@
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
                         wrkMastExecute.setWrkType(1);
-                        wrkMastExecute.setWrkSts(1);
+                        wrkMastExecute.setWrkSts(2);
                         if (wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
@@ -5991,7 +6318,7 @@
 //                return false;
 //            }
 //
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocol = devpThread.getStation().get(basJar.getStaNo());
             if (staProtocol == null) {
                 return false;
@@ -6058,6 +6385,54 @@
 
     /**
      *  JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
+     *  9锛氬嚭鍐峰嵈妲�
+     *  浠诲姟涓嬪彂
+     */
+    public synchronized boolean jarWrkMastExecuteActionExecute9Two(WrkMastExecute wrkMastExecute,Integer sign) {
+        try{
+            List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
+            if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+                return false;
+            }
+
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+            StaProtocol staProtocol = devpThread.getStation().get(wrkMastExecute.getJarOutStaNo());
+            if (staProtocol == null) {
+                return false;
+            } else {
+                staProtocol = staProtocol.clone();
+            }
+            if (staProtocol == null) {
+                return false;
+            }
+            if (staProtocol.getWorkNo()!=0 || !staProtocol.isAutoing() || !staProtocol.isLoading()){
+                return false;
+            }
+
+            //鍒ゆ柇STE灏忚溅鐘舵��
+            if (jarWrkMastExecuteGenerateSteStatus(wrkMastExecute.getSteId(),3,SteStatusType.IDLE)){
+                // 涓嬪彂绔欑偣淇℃伅
+                staProtocol.setWorkNo(wrkMastExecute.getWrkNo().intValue());
+                staProtocol.setStaNo(staProtocol.getStaNo());
+                if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol))) {
+                    return false;
+                }
+                wrkMastExecute.setWrkType(1);
+                wrkMastExecute.setWrkSts(3);
+                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                    log.error("杈撻�佺嚎鍑哄簱鐩爣绔欏懡浠や笅鍙戝け璐�===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},鏀捐揣绔欑偣鏁版嵁={},sign={}",
+                            wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol),sign);
+                }
+            }
+            return true;
+        } catch (Exception e){
+            log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
      *  10锛欰=>B\11锛欱=>A
      *  浠诲姟涓嬪彂
      */
@@ -6089,7 +6464,7 @@
 //                return false;
 //            }
 
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
             if (staProtocolRGV == null) {
                 return false;
@@ -6178,7 +6553,7 @@
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
                         wrkMastExecute.setWrkType(1);
-                        wrkMastExecute.setWrkSts(1);
+                        wrkMastExecute.setWrkSts(2);
                         if (wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
@@ -6234,6 +6609,26 @@
             return true;
         }catch (Exception e){
             log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛孯gv鍙�={},浠诲姟鏁版嵁={},RGV4={},RGV5={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(RGV4), JSON.toJSON(RGV5));
+        }
+        return false;
+    }
+
+    /*
+     * Rgv  鍔ㄤ綔  鍙栬揣瀹屾垚澶嶄綅
+     * */
+    public synchronized boolean jarRgvGetFuTake(WrkMastExecute wrkMastExecute,boolean RGV6){
+        try {
+            StaProtocol staProtocol = new StaProtocol();
+            staProtocol.setSiteId(wrkMastExecute.getRgvId());
+            staProtocol.setRGV6(RGV6);
+            // 涓嬪彂绔欑偣淇℃伅
+            if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(11, staProtocol))) {
+                log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={}", wrkMastExecute.getRgvId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol));
+                return false;
+            }
+            return true;
+        }catch (Exception e){
+            log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛孯gv鍙�={},浠诲姟鏁版嵁={},RGV6={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(RGV6));
         }
         return false;
     }
@@ -6478,7 +6873,7 @@
                         && jarProtocol.rightDoorOpen!=1 && jarProtocol.rightDoorOpen!=3
                         && (jarProtocol.leftDoorOpen==2  || jarProtocol.rightDoorOpen==2)){
                     WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
-                    wrkMastExecuteSou.setWrkType(3);
+                    wrkMastExecuteSou.setWrkSts(3);
                     List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
                     if (wrkMastExecuteList.isEmpty()){
                         WrkMastExecute execute = new WrkMastExecute();
@@ -6512,7 +6907,7 @@
                         && jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3
                         && (jarProtocol.leftDoorClose==2  || jarProtocol.rightDoorClose==2)){
                     WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
-                    wrkMastExecuteSou.setWrkType(3);
+                    wrkMastExecuteSou.setWrkSts(3);
                     List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
                     if (wrkMastExecuteList.isEmpty()){
                         WrkMastExecute execute = new WrkMastExecute();
@@ -6555,7 +6950,7 @@
     public synchronized boolean jarWrkMastExecuteGenerateRgvComplete1(Integer sign) {
         try{
             WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
-            wrkMastExecuteSou.setWrkType(1);
+            wrkMastExecuteSou.setWrkSts(1);
             List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
             for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
                 if (wrkMastExecute.getIoType() == 9){
@@ -6605,7 +7000,7 @@
     public synchronized boolean jarWrkMastExecuteGenerateRgvComplete2(Integer sign) {
         try{
             WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
-            wrkMastExecuteSou.setWrkType(3);
+            wrkMastExecuteSou.setWrkSts(3);
             wrkMastExecuteSou.setIoType(5);
             List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
             for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
@@ -6631,6 +7026,12 @@
                 }
                 if (staProtocolRGV.getNowRow() == staProtocolRGVEnd.getNowRow()
                         && staProtocolRGV.getNowRow() == SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId())){
+                    //璋冭溅  == > 鍙栬揣瀹屾垚澶嶄綅
+                    if (!jarRgvGetFuTake(wrkMastExecute,true)){
+                        log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocolRGV),sign);
+                        return false;
+                    }
                     wrkMastExecute.setWrkSts(4);
                     if (wrkMastExecuteService.updateById(wrkMastExecute)){
                         log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},骞宠 杞gv鏁版嵁={},sign={}",
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
index 900a52a..7311dc5 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
@@ -27,13 +27,13 @@
     }
 
     @Override
-    public List<WrkMastExecute> selectWrkMastExecuteByTypeAndIoTyperAndWrkType(Integer type,Integer ioType,Integer wrkType) {
-        return this.baseMapper.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(type,ioType,wrkType);
+    public List<WrkMastExecute> selectWrkMastExecuteByTypeAndIoTyperAndWrkType(Integer type,Integer ioType,Integer wrkSts) {
+        return this.baseMapper.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(type,ioType,wrkSts);
     }
 
     @Override
     public List<WrkMastExecute> selectWrkMastExecuteByWrk(WrkMastExecute wrkMastExecute) {
-        return this.baseMapper.selectWrkMastExecuteByWrk(wrkMastExecute.getType(),wrkMastExecute.getIoType(),wrkMastExecute.getWrkType(),wrkMastExecute.getSteId(),wrkMastExecute.getJarId(),wrkMastExecute.getRgvId());
+        return this.baseMapper.selectWrkMastExecuteByWrk(wrkMastExecute.getType(),wrkMastExecute.getIoType(),wrkMastExecute.getWrkSts(),wrkMastExecute.getSteId(),wrkMastExecute.getJarId(),wrkMastExecute.getRgvId());
     }
 
     @Override
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 03664b2..451beab 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -28,6 +28,7 @@
     private int i = 0;
     private int j = 0;
     private int k = 0;
+    private int l = 0;
 
     /**
      * =====>>  寮�濮嬪伐浣�
@@ -36,9 +37,15 @@
         thread = new Thread(() -> {
             while (!Thread.currentThread().isInterrupted()) {
                 try {
-                    k++; if (k>10) k=0;
                     i++; if (i>5) i=0;
                     j++; if (j>5) j=0;
+                    k++;
+                    if (k>13) {
+                        k=0;
+                        l++;
+                        if (l>3) l=0;
+                    }
+
 
                     // 闂撮殧
                     Thread.sleep(1000);
@@ -100,7 +107,7 @@
                     //JarWrkMastExecute浠诲姟鍒涘缓   //纭寲缃�
                     mainService.jarWrkMastExecuteGenerate(k);
                     //JarWrkMastExecute浠诲姟鎵ц
-                    mainService.jarWrkMastExecuteAction(k);
+                    mainService.jarWrkMastExecuteAction(k,j);
                     //Jar浠诲姟鍒涘缓  //瀹屾垚
                     mainService.jarMastGenerate();
 
diff --git a/src/main/java/com/zy/core/enums/SteTaskModeType.java b/src/main/java/com/zy/core/enums/SteTaskModeType.java
index b564564..6d8bf48 100644
--- a/src/main/java/com/zy/core/enums/SteTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/SteTaskModeType.java
@@ -24,8 +24,8 @@
 //    CHARGE_RIGHT(14, "鍙冲厖鐢�"),         // 宸﹀厖鐢�
 //    CHECK_LEFT(14, "宸︾洏鐐�"),     // 宸︾洏鐐�
 //    CHECK_RIGHT(15, "鍙崇洏鐐�"),    // 鍙崇洏鐐�
-    STE_YDQH_10(10,"鍘熷湴鍙栬揣"),
-    STE_YDFH_11(11,"鍘熷湴鏀捐揣"),
+//    STE_YDQH_10(10,"鍘熷湴鍙栬揣"),
+//    STE_YDFH_11(11,"鍘熷湴鏀捐揣"),
     STE_WFQH_12(12,"寰�杩斿彇璐�"),
     STE_WFFH_13(13,"寰�杩旀斁璐�"),
     STE_MOVE_14(14,"绉诲姩"),
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index b353b8d..4b26aed 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -87,6 +87,13 @@
     private boolean RGV5;//灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯   鍙�2锛堝彸锛夎揣鐗�  锛堥潰鏈濆叆鏂欏彛锛�
     private boolean RGV6;//涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡
 
+    private short RGV11;//灏忚溅鏃犺揣绌洪棽
+    private short RGV22;//灏忚溅杈撻�佺嚎鍙栬揣鍒颁綅
+    private short RGV33;//灏忚溅杩愯涓�
+    private short RGV44;//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯   鍙�1锛堝乏锛夎揣鐗�  锛堥潰鏈濆叆鏂欏彛锛�
+    private short RGV55;//灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯   鍙�2锛堝彸锛夎揣鐗�  锛堥潰鏈濆叆鏂欏彛锛�
+    private short RGV66;//涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡
+
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
         basDevp.setDevNo(siteId);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 0ea4c8f..e0961e1 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -203,6 +203,9 @@
                     case 10:
                         write10((StaProtocol)task.getData());
                         break;
+                    case 11:
+                        write11((StaProtocol)task.getData());
+                        break;
                     default:
                         break;
                 }
@@ -301,6 +304,7 @@
             int[] staNosRgv = {623,624,625,626};
             for (int i = 0; i < staNosRgv.length; i++) {
                 OperateResultExOne<byte[]> resultRgv = siemensS7Net.Read("DB100."+(1800+i*6), (short) 5);
+                OperateResultExOne<byte[]> resultRgv2 = siemensS7Net.Read("DB100."+(1824+i*4), (short) 4);
                 if (resultRgv.IsSuccess) {
                     Integer siteId = staNosRgv[i]; // 绔欑偣缂栧彿
                     StaProtocol staProtocol = station.get(siteId);
@@ -310,17 +314,18 @@
                         station.put(siteId, staProtocol);
                     }
                     try{
-                        staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 0));     // 灏忚溅鐩爣浣�
+                        staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 0));     // 灏忚溅鐩爣浣�
 
-                        staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2));   // 鐩爣绔�
+                        staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2));   // 褰撳墠浣嶇疆
 
                         boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1);
+                        boolean[] status2 = siemensS7Net.getByteTransform().TransBool(resultRgv2.Content, 2, 1);
                         staProtocol.setRGV1(status[0]);  // 鑷姩
                         staProtocol.setRGV2(status[1]);  // 鏈夌墿
                         staProtocol.setRGV3(status[2]); // 鍙叆
-                        staProtocol.setRGV4(status[3]);//
-                        staProtocol.setRGV5(status[4]);  //
-                        staProtocol.setRGV6(status[5]);  // 婊℃墭鐩�
+                        staProtocol.setRGV4(status2[0]);//
+                        staProtocol.setRGV5(status2[1]);  //
+                        staProtocol.setRGV6(status2[2]);  // 婊℃墭鐩�
                     }catch (Exception e){
                         System.out.println(e.getMessage());
                     }
@@ -550,6 +555,74 @@
     /**
      * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
      */
+    private void write11(StaProtocol staProtocol) throws InterruptedException {
+        if (null == staProtocol) {
+            return;
+        }
+        boolean rgv6 = staProtocol.isRGV6();
+        OperateResult result1 = null;
+        String resultV1 = "";
+        switch (staProtocol.getSiteId()){
+            case 623:
+                resultV1 = "DB100.1826.2";
+                break;
+            case 624:
+                resultV1 = "DB100.1830.2";
+                break;
+            case 625:
+                resultV1 = "DB100.1834.2";
+                break;
+            case 626:
+                resultV1 = "DB100.1838.2";
+                break;
+            default:
+                return;
+        }
+        result1 = siemensS7Net.Write(resultV1, rgv6);
+
+        //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
+        try {
+            Thread.sleep(200);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+
+        int writeCount = 1;
+        do {
+            try{
+                if(!result1.IsSuccess){
+                    log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount);
+                    result1 = siemensS7Net.Write(resultV1, rgv6);
+                    Thread.sleep(100);
+                    writeCount++;
+                    continue;
+                }
+                OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2);
+                if (resultRead1.IsSuccess) {
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1);
+                    if (status[2]){
+                        break;
+                    } else {
+                        log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount);
+                        result1 = siemensS7Net.Write(resultV1, rgv6);
+                        Thread.sleep(100);
+                        writeCount++;
+                        continue;
+                    }
+                } else {
+                    log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount);
+                    result1 = siemensS7Net.Write(resultV1, rgv6);
+                    Thread.sleep(100);
+                    writeCount++;
+                    continue;
+                }
+            }catch (Exception e){
+                log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
+            }
+            writeCount++;
+        } while (writeCount<6);
+    }
+
     private void write10(StaProtocol staProtocol) throws InterruptedException {
         if (null == staProtocol) {
             return;
@@ -560,24 +633,24 @@
         String resultV1 = "";
         switch (staProtocol.getSiteId()){
             case 623:
-                resultV1 = "DB100.1804";
+                resultV1 = "DB100.1826";
                 break;
             case 624:
-                resultV1 = "DB100.1810";
+                resultV1 = "DB100.1830";
                 break;
             case 625:
-                resultV1 = "DB100.1816";
+                resultV1 = "DB100.1834";
                 break;
             case 626:
-                resultV1 = "DB100.1822";
+                resultV1 = "DB100.1838";
                 break;
             default:
                 return;
         }
         if (rgv4){
-            result1 = siemensS7Net.Write(resultV1+".3", rgv4);
+            result1 = siemensS7Net.Write(resultV1+".0", rgv4);
         } else {
-            result1 = siemensS7Net.Write(resultV1+".4", rgv5);
+            result1 = siemensS7Net.Write(resultV1+".1", rgv5);
         }
         //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
         try {
@@ -592,9 +665,9 @@
                 if(!result1.IsSuccess){
                     log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount);
                     if (rgv4){
-                        result1 = siemensS7Net.Write(resultV1+".3", rgv4);
+                        result1 = siemensS7Net.Write(resultV1+".0", rgv4);
                     } else {
-                        result1 = siemensS7Net.Write(resultV1+".4", rgv5);
+                        result1 = siemensS7Net.Write(resultV1+".1", rgv5);
                     }
                     Thread.sleep(100);
                     writeCount++;
@@ -603,14 +676,14 @@
                 OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2);
                 if (resultRead1.IsSuccess) {
                     boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1);
-                    if (status[rgv4? 3:4]){
+                    if (status[rgv4? 0:1]){
                         break;
                     } else {
                         log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount);
                         if (rgv4){
-                            result1 = siemensS7Net.Write(resultV1+".3", rgv4);
+                            result1 = siemensS7Net.Write(resultV1+".0", rgv4);
                         } else {
-                            result1 = siemensS7Net.Write(resultV1+".4", rgv5);
+                            result1 = siemensS7Net.Write(resultV1+".1", rgv5);
                         }
                         Thread.sleep(100);
                         writeCount++;
@@ -619,9 +692,9 @@
                 } else {
                     log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount);
                     if (rgv4){
-                        result1 = siemensS7Net.Write(resultV1+".3", rgv4);
+                        result1 = siemensS7Net.Write(resultV1+".0", rgv4);
                     } else {
-                        result1 = siemensS7Net.Write(resultV1+".4", rgv5);
+                        result1 = siemensS7Net.Write(resultV1+".1", rgv5);
                     }
                     Thread.sleep(100);
                     writeCount++;
@@ -633,6 +706,7 @@
             writeCount++;
         } while (writeCount<6);
     }
+
     private void write9(StaProtocol staProtocol) throws InterruptedException {
         if (null == staProtocol) {
             return;
@@ -644,20 +718,20 @@
         String resultV2 = "";
         switch (staProtocol.getSiteId()){
             case 623:
-                resultV1 = "1800";
-                resultV2 = "1812";
+                resultV1 = "DB100.1824";
+                resultV2 = "DB100.1828";
                 break;
             case 624:
-                resultV1 = "1806";
-                resultV2 = "1818";
+                resultV1 = "DB100.1828";
+                resultV2 = "DB100.1824";
                 break;
             case 625:
-                resultV1 = "1812";
-                resultV2 = "1800";
+                resultV1 = "DB100.1832";
+                resultV2 = "DB100.1836";
                 break;
             case 626:
-                resultV1 = "1818";
-                resultV2 = "1806";
+                resultV1 = "DB100.1836";
+                resultV2 = "DB100.1832";
                 break;
             default:
                 return;
diff --git a/src/main/resources/mapper/WrkMastExecuteMapper.xml b/src/main/resources/mapper/WrkMastExecuteMapper.xml
index 67ce9cc..3eb6f4e 100644
--- a/src/main/resources/mapper/WrkMastExecuteMapper.xml
+++ b/src/main/resources/mapper/WrkMastExecuteMapper.xml
@@ -33,8 +33,8 @@
         <if test="ioType != null">
             and io_type = #{ioType}
         </if>
-        <if test="wrkType != null">
-            and wrk_type = #{wrkType}
+        <if test="wrkSts != null">
+            and wrk_sts = #{wrkSts}
         </if>
         <if test="steNo != null">
             and ste_id = #{steNo}
@@ -84,8 +84,8 @@
         <if test="ioType != null">
             and io_type = #{ioType}
         </if>
-        <if test="wrkType != null">
-            and wrk_type = #{wrkType}
+        <if test="wrkSts != null">
+            and wrk_sts = #{wrkSts}
         </if>
     </select>
 

--
Gitblit v1.9.1