From efad59da8921d93537fca47d6ec2512e312bc1c3 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期四, 27 六月 2024 14:39:23 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  669 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 568 insertions(+), 101 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 6f1a206..22b8e4d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4522,8 +4522,7 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                 return false;
             }
-
-            if (basJar.getJarMode()!=1 && basJar.getJarMode()!=0){
+            if (basJar.getJarMode()!=2){
                 return false;
             }
 
@@ -4796,7 +4795,7 @@
             for (BasJarMast basJarMast : basJarMastList){
                 JarSlave.StaStn staStn = null;
                 for (JarSlave.StaStn staStn1 : jarSlave.getJarInSta()){
-                    if (staStn1.getStaNo().equals(basJarMast.getEnterStaNo())){
+                    if (staStn1.getStaNo().equals(basJarMast.getJarEnterStaNo())){
                         staStn = staStn1;
                     }
                 }
@@ -4848,16 +4847,15 @@
 
                         //闂ㄤ綔涓�  鏃�
                         //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
-                        if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
-                                && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
-                                && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
+                        if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
+                                && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
                             if (!jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
                                 //鐢熸垚寮�闂ㄤ换鍔� OpenTheDoor
                                 if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvNo(),1,1})){
                                     log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
                                 }
                                 return true;
-                            } else if (jarProtocol.statusType == JarStatusType.WAITING3 && jarProtocol.isLeftDoor()){
+                            } else if ((jarProtocol.statusType == JarStatusType.WAITING3 || jarProtocol.statusType == JarStatusType.MOVING) && jarProtocol.isLeftDoor()){
                                 //鐢熸垚鍏ョ~鍖栫綈浠诲姟
                                 if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvNo(),5,1})){
                                     log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
@@ -5269,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){
@@ -5325,10 +5332,112 @@
                 }
             }
         } catch (Exception e){
-
+            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>Action==>涓嬪彂"+e.getMessage());
         }
 
     }
+
+    /*
+     * 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浠诲姟==>涓嬪彂 //瀹屾垚
@@ -5352,7 +5461,7 @@
                 return false;
             }
 
-            BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo());
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                 return false;
@@ -5362,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;
@@ -5387,7 +5496,7 @@
             if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
                 if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
                     //绉昏蛋  == > 2
-                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                    if (!jarRgvMoveTake(wrkMastExecute,2)){
                         log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                 wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                     }
@@ -5400,26 +5509,26 @@
                     if (!jarProtocol.isLeftDoor() && !jarProtocol.isRightDoor()){
                         if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
                             //绉昏蛋  == > 2
-                            if (jarRgvMoveTake(wrkMastExecute,2)){
+                            if (!jarRgvMoveTake(wrkMastExecute,2)){
                                 log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                             wrkMastExecute.setWrkType(1);
-                            wrkMastExecute.setWrkSts(1);
-                            if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                            wrkMastExecute.setWrkSts(2);
+                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                         } else {
                             //鐩存帴寮�闂�/鍏抽棬
-                            if (jarDoorTake(wrkMastExecute,JarTaskModeType.OPEN_THE_DOOR)){
+                            if (!jarDoorTake(wrkMastExecute,JarTaskModeType.OPEN_THE_DOOR)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                             wrkMastExecute.setWrkType(1);
                             wrkMastExecute.setWrkSts(3);
 
-                            if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
@@ -5428,7 +5537,7 @@
                         //鐩存帴瀹屾垚
                         wrkMastExecute.setWrkType(1);
                         wrkMastExecute.setWrkSts(4);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                        if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
@@ -5469,7 +5578,7 @@
                 return false;
             }
 
-            BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo());
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                 return false;
@@ -5480,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;
@@ -5504,7 +5613,7 @@
             if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
                 if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
                     //绉昏蛋  == > 2
-                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                    if (!jarRgvMoveTake(wrkMastExecute,2)){
                         log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                 wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                     }
@@ -5517,27 +5626,27 @@
                     if (jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()){
                         if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
                             //绉昏蛋  == > 2
-                            if (jarRgvMoveTake(wrkMastExecute,2)){
+                            if (!jarRgvMoveTake(wrkMastExecute,2)){
                                 log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                             wrkMastExecute.setWrkType(1);
-                            wrkMastExecute.setWrkSts(1);
+                            wrkMastExecute.setWrkSts(2);
 
-                            if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                         } else {
                             //鐩存帴鍏抽棬
-                            if (jarDoorTake(wrkMastExecute,JarTaskModeType.CLOSE_THE_DOOR)){
+                            if (!jarDoorTake(wrkMastExecute,JarTaskModeType.CLOSE_THE_DOOR)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
                             wrkMastExecute.setWrkType(1);
                             wrkMastExecute.setWrkSts(3);
 
-                            if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                 log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                         wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                             }
@@ -5546,7 +5655,7 @@
                         //鐩存帴瀹屾垚
                         wrkMastExecute.setWrkType(1);
                         wrkMastExecute.setWrkSts(4);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                        if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
@@ -5586,7 +5695,7 @@
                 return false;
             }
 
-            BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo());
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                 return false;
@@ -5597,7 +5706,120 @@
 //                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;
+            } 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 (!jarRgvGetTake(wrkMastExecute
+                                ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==1
+                                ,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);
+                        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);
+                        }
+                    }
+                    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;
@@ -5618,10 +5840,10 @@
                 return false;
             }
 
-            if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
+            if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){
                 if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
                     //绉昏蛋  == > 2
-                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                    if (!jarRgvMoveTake(wrkMastExecute,2)){
                         log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                 wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                     }
@@ -5638,28 +5860,20 @@
                             return false;
                         }
                         //璋冭溅  == > 鍙栬揣
-                        if (jarRgvGetTake(wrkMastExecute
-                                ,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarEnterStaNo())==1
-                                ,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarEnterStaNo())==2)){
-                            log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                        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(3);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                        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()))){
+                        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(1);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
-                            log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
                     }
@@ -5698,7 +5912,7 @@
                 return false;
             }
 
-            BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo());
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                 return false;
@@ -5709,7 +5923,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;
@@ -5733,7 +5947,7 @@
             if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
                 if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
                     //绉昏蛋  == > 2
-                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                    if (!jarRgvMoveTake(wrkMastExecute,2)){
                         log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                 wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                     }
@@ -5750,25 +5964,135 @@
                             return false;
                         }
                         //璋冭溅  == > 鍙栬揣
-                        if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,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)){
+                        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()))){
+                        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(1);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                        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);
                         }
@@ -5808,7 +6132,7 @@
                 return false;
             }
 
-            BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo());
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                 return false;
@@ -5824,7 +6148,7 @@
                 return false;
             }
 
-            BasJar basJarOther = basJarMapper.selectByJarNo(jarProtocolOther.getJarNo());
+            BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
             if (Cools.isEmpty(basJarOther)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
                 return false;
@@ -5835,7 +6159,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;
@@ -5859,7 +6183,7 @@
             if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
                 if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
                     //绉昏蛋  == > 2
-                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                    if (!jarRgvMoveTake(wrkMastExecute,2)){
                         log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                 wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                     }
@@ -5877,20 +6201,20 @@
                         if (wrkMastExecute.getIoType()==7){
                             if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
-                                if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFQH_12,false)){
+                                if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(3);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                             } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
@@ -5898,20 +6222,20 @@
                         } else {
                             if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
-                                if (jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
+                                if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(3);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                             } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
@@ -5920,13 +6244,13 @@
 
                     } else {
                         //璋冭溅  == > endRow
-                        if (jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+                        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(1);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                        wrkMastExecute.setWrkSts(2);
+                        if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
@@ -5966,7 +6290,7 @@
 //                return false;
 //            }
 
-            BasJar basJar = basJarMapper.selectByJarNo(wrkMastExecute.getJarId());
+            BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙峰喎鍗存Ы鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
                 return false;
@@ -5993,7 +6317,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;
@@ -6034,13 +6358,13 @@
                     //鍒ゆ柇灏忚溅鐘舵��
                     if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
                         //璋冭溅  == > 鍙栬揣
-                        if (jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT24.id,SteTaskModeType.STE_WFQH_12,false)){
+                        if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT24.id,SteTaskModeType.STE_WFQH_12,false)){
                             log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},鍐峰嵈妲芥暟鎹�={},sign={}",
                                     wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(basJar),sign);
                         }
                         wrkMastExecute.setWrkType(1);
                         wrkMastExecute.setWrkSts(1);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                        if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},鍐峰嵈妲芥暟鎹�={},sign={}",
                                     wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(basJar),sign);
                         }
@@ -6052,6 +6376,54 @@
 //                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浠诲姟==>涓嬪彂 //瀹屾垚
+     *  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());
         }
@@ -6080,7 +6452,7 @@
                 return false;
             }
 
-            BasJar basJar = basJarMapper.selectByJarNo(jarProtocol.getJarNo());
+            BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                 return false;
@@ -6091,7 +6463,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;
@@ -6115,7 +6487,7 @@
             if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
                 if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
                     //绉昏蛋  == > 2
-                    if (jarRgvMoveTake(wrkMastExecute,2)){
+                    if (!jarRgvMoveTake(wrkMastExecute,2)){
                         log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                 wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                     }
@@ -6132,20 +6504,20 @@
                         if (wrkMastExecute.getIoType()==10){
                             if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
-                                if (jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
+                                if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(3);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                             } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
@@ -6153,20 +6525,20 @@
                         } else {
                             if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
-                                if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_WFQH_12,false)){
+                                if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(3);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                             } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
-                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
@@ -6175,13 +6547,13 @@
 
                     } else {
                         //璋冭溅  == > endRow
-                        if (jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+                        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(1);
-                        if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                        wrkMastExecute.setWrkSts(2);
+                        if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                             log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
@@ -6236,6 +6608,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;
     }
@@ -6349,10 +6741,11 @@
                                         //ste浠诲姟瀹屾垚
                                         if (jarSteTake(wrkMastExecute,null,null,null,true)){
                                             wrkMastExecute.setWrkSts(4);
-                                            if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                                 log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
                                                         wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                             }
+                                            return true;
                                         }
                                     }
                                     log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>涓嬪彂寮傚父锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
@@ -6370,10 +6763,11 @@
                                             //ste浠诲姟瀹屾垚
                                             if (jarSteTake(wrkMastExecute,null,null,null,true)){
                                                 wrkMastExecute.setWrkSts(6);
-                                                if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                                     log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
                                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                                 }
+                                                return true;
                                             }
                                         }
                                         log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>涓嬪彂寮傚父锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
@@ -6394,10 +6788,11 @@
                                         //ste浠诲姟瀹屾垚
                                         if (jarSteTake(wrkMastExecute,null,null,null,true)){
                                             wrkMastExecute.setWrkSts(4);
-                                            if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                                 log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
                                                         wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                             }
+                                            return true;
                                         }
                                     }
                                     log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>涓嬪彂寮傚父锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
@@ -6413,10 +6808,11 @@
                                         //ste浠诲姟瀹屾垚
                                         if (jarSteTake(wrkMastExecute,null,null,null,true)){
                                             wrkMastExecute.setWrkSts(2);
-                                            if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                                                 log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
                                                         wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
                                             }
+                                            return true;
                                         }
                                     }
                                     log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>涓嬪彂寮傚父锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
@@ -6442,6 +6838,9 @@
     public synchronized boolean jarWrkMastExecuteGenerateJarComplete(Integer sign) {
         try{
             for (JarSlave jarSlave : slaveProperties.getJar()) {
+                if (jarSlave.getId()>4){
+                    continue;
+                }
                 // 鑾峰彇纭寲缃愪俊鎭�
                 JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
                 JarProtocol jarProtocol = jarThread.getJarProtocol();
@@ -6458,7 +6857,9 @@
                 }
                 //WAITING2(4, "纭寲瀹屾垚"),
                 if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2)
-                        && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor() ){
+                        && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+                        && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
+                ){
                     List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
                         add(5);//纭寲涓�
                     }});
@@ -6468,6 +6869,74 @@
                     Integer integer = basJarMastService.updateStatus(jarProtocol.getJarNo(), 5, 6);
                     if (basJarMastList.size()!=integer){
                         log.error("{}鍙风~鍖栫綈纭寲瀹屾垚淇敼纭寲妗f鐘舵�佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarProtocol.getJarNo(),basJarMastList.size(),integer);
+                    }
+                } else if (jarProtocol.getJarErr()==0
+                        && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+                        && jarProtocol.leftDoorOpen!=1 && jarProtocol.leftDoorOpen!=3
+                        && jarProtocol.rightDoorOpen!=1 && jarProtocol.rightDoorOpen!=3
+                        && (jarProtocol.leftDoorOpen==2  || jarProtocol.rightDoorOpen==2)){
+                    WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+                    wrkMastExecuteSou.setWrkSts(3);
+                    List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+                    if (wrkMastExecuteList.isEmpty()){
+                        WrkMastExecute execute = new WrkMastExecute();
+                        execute.setJarId(jarProtocol.getJarNo());
+                        //鐩存帴鍏抽棬
+                        if (!jarDoorTake(execute,JarTaskModeType.OPEN_THE_DOOR_COMPLETE)){
+                            log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    execute.getJarId(), JSON.toJSON(execute), JSON.toJSON(jarProtocol),sign);
+                        }
+                        return true;
+                    }
+                    for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+                        if (wrkMastExecute.getIoType() == 1 || wrkMastExecute.getIoType() == 3){
+                            //鐩存帴鍏抽棬
+                            if (!jarDoorTake(wrkMastExecute,JarTaskModeType.OPEN_THE_DOOR_COMPLETE)){
+                                log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                        wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                            }
+                            wrkMastExecute.setWrkSts(4);
+                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+                                log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                        wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                                return false;
+                            }
+                            return true;
+                        }
+                    }
+                } else if (jarProtocol.getJarErr()==0
+                        && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+                        && jarProtocol.leftDoorClose!=1 && jarProtocol.leftDoorClose!=3
+                        && jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3
+                        && (jarProtocol.leftDoorClose==2  || jarProtocol.rightDoorClose==2)){
+                    WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+                    wrkMastExecuteSou.setWrkSts(3);
+                    List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+                    if (wrkMastExecuteList.isEmpty()){
+                        WrkMastExecute execute = new WrkMastExecute();
+                        execute.setJarId(jarProtocol.getJarNo());
+                        //鐩存帴鍏抽棬
+                        if (!jarDoorTake(execute,JarTaskModeType.CLOSE_THE_DOOR_COMPLETE)){
+                            log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                    execute.getJarId(), JSON.toJSON(execute), JSON.toJSON(jarProtocol),sign);
+                        }
+                        return true;
+                    }
+                    for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+                        if (wrkMastExecute.getIoType() == 2 || wrkMastExecute.getIoType() == 4){
+                            //鐩存帴鍏抽棬
+                            if (!jarDoorTake(wrkMastExecute,JarTaskModeType.CLOSE_THE_DOOR_COMPLETE)){
+                                log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                        wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                            }
+                            wrkMastExecute.setWrkSts(4);
+                            if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+                                log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                        wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                                return false;
+                            }
+                            return true;
+                        }
                     }
                 }
             }
@@ -6484,7 +6953,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){
@@ -6513,7 +6982,7 @@
                 if (staProtocolRGV.getNowRow() == staProtocolRGVEnd.getNowRow()
                         && staProtocolRGV.getNowRow() == SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId())){
                     wrkMastExecute.setWrkSts(2);
-                    if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                    if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                         log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},骞宠 杞gv鏁版嵁={},sign={}",
                                 wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocolRGV),sign);
                         return false;
@@ -6534,7 +7003,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){
@@ -6549,22 +7018,20 @@
                     continue;
                 }
 
-                StaProtocol staProtocolRGVEnd = devpThread.getStation().get(wrkMastExecute.getRgvEndId());
-                if (staProtocolRGVEnd == null) {
-                    continue;
-                } else {
-                    staProtocolRGVEnd = staProtocolRGVEnd.clone();
-                }
-                if (staProtocolRGVEnd == null) {
-                    continue;
-                }
-                if (staProtocolRGV.getNowRow() == staProtocolRGVEnd.getNowRow()
+
+                if ( staProtocolRGV.rgvBoolean(2)
                         && 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 true;
+                    }
                     wrkMastExecute.setWrkSts(4);
-                    if (wrkMastExecuteService.updateById(wrkMastExecute)){
+                    if (!wrkMastExecuteService.updateById(wrkMastExecute)){
                         log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},骞宠 杞gv鏁版嵁={},sign={}",
                                 wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocolRGV),sign);
-                        return false;
+                        return true;
                     }
                     return true;
                 }

--
Gitblit v1.9.1