From 8f93d32b15cff5287a07649da92bd5b6276c14e2 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期三, 26 六月 2024 22:13:47 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  111 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 91 insertions(+), 20 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..358e743 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));
@@ -5325,7 +5323,7 @@
                 }
             }
         } catch (Exception e){
-
+            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>Action==>涓嬪彂"+e.getMessage());
         }
 
     }
@@ -5352,7 +5350,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;
@@ -5469,7 +5467,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;
@@ -5586,7 +5584,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 +5595,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;
@@ -5639,8 +5637,8 @@
                         }
                         //璋冭溅  == > 鍙栬揣
                         if (jarRgvGetTake(wrkMastExecute
-                                ,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarEnterStaNo())==1
-                                ,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarEnterStaNo())==2)){
+                                ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==1
+                                ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==3)){
                             log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                         }
@@ -5698,7 +5696,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;
@@ -5808,7 +5806,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 +5822,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;
@@ -5966,7 +5964,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;
@@ -6080,7 +6078,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;
@@ -6442,6 +6440,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 +6459,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);//纭寲涓�
                     }});
@@ -6469,6 +6472,74 @@
                     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.setWrkType(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.setWrkType(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;
+                        }
+                    }
                 }
             }
             return true;

--
Gitblit v1.9.1