From d4daea691450958841e393fe56ae20472c9a9382 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 22 六月 2024 18:00:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  111 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 72 insertions(+), 39 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 b88f85a..c81ce35 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4627,9 +4627,9 @@
                                 break;
                             }
                         case 3:
-//                            if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
-//                                break;
-//                            }
+                            if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
+                                break;
+                            }
                     }
                 }
             } catch (Exception e){
@@ -4653,54 +4653,87 @@
                 add(2);
             }});
             for (BasJarMast basJarMast : basJarMastList){
-                // 鑾峰彇纭寲缃愪俊鎭�
-                JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
-                JarProtocol jarProtocol = jarThread.getJarProtocol();
-                if (jarProtocol == null) {
-                    return false;
+                JarSlave.StaStn staStn = null;
+                for (JarSlave.StaStn staStn1 : jarSlave.getJarInSta()){
+                    if (staStn1.getStaNo().equals(basJarMast.getEnterStaNo())){
+                        staStn = staStn1;
+                    }
                 }
-                if (jarProtocol.modeType != JarModeType.AUTO){
-                    return false;
+                if (Cools.isEmpty(staStn)){
+                    continue;
                 }
+                //妫�娴嬬珯鐐圭姸鎬�
+                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, staStn.getDevpPlcId());
+                StaProtocol staProtocol = devpThread.getStation().get(staStn.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()==basJarMast.getWrkNo().intValue()){
 
-                JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
-                JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
-                if (jarOtherProtocol == null) {
-                    return false;
-                }
+                    //妫�娴婻GV鐘舵��
+                    StaProtocol staProtocolRGV = devpThread.getStation().get(staStn.getRgvNo());
+                    if (staProtocolRGV == null) {
+                        continue;
+                    } else {
+                        staProtocolRGV = staProtocolRGV.clone();
+                    }
+                    if (staProtocolRGV.isRGV1() && !staProtocolRGV.isRGV2() && !staProtocolRGV.isRGV3() && !staProtocolRGV.isRGV4() && !staProtocolRGV.isRGV5() && !staProtocolRGV.isRGV6()){
+                        // 鑾峰彇纭寲缃愪俊鎭�
+                        JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
+                        JarProtocol jarProtocol = jarThread.getJarProtocol();
+                        if (jarProtocol == null) {
+                            return false;
+                        }
+                        if (jarProtocol.modeType != JarModeType.AUTO){
+                            return false;
+                        }
+
+                        JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+                        JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+                        if (jarOtherProtocol == null) {
+                            return false;
+                        }
 //                    if (jarOtherProtocol.modeType != JarModeType.AUTO){
 //                        continue;
 //                    }
 
-                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
-                if (Cools.isEmpty(basJar)){
-                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
-                    return false;
-                }
+                        BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+                        if (Cools.isEmpty(basJar)){
+                            log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                            return false;
+                        }
 
-                //闂ㄤ綔涓�  鏃�
-                //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   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.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
-                        //鐢熸垚寮�闂ㄤ换鍔� OpenTheDoor
-                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
-                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        //闂ㄤ綔涓�  鏃�
+                        //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   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.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
+                                //鐢熸垚寮�闂ㄤ换鍔� OpenTheDoor
+                                if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
+                                    log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                                }
+                                return true;
+                            } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
+                                //鐢熸垚鍏ョ~鍖栫綈浠诲姟
+                                if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
+                                    log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                                }
+                                return true;
+                            } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
+                                log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                            }
                         }
-                        return true;
-                    } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
-                        //鐢熸垚鍏ョ~鍖栫綈浠诲姟
-                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
-                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
-                        }
-                        return true;
-                    } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
-                        log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        return false;
+                    } else {
+                        log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆婻GV涓嶆弧瓒虫潯浠讹紝绛夊緟===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(staProtocolRGV)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        return false;
                     }
                 }
-                return false;
             }
+
         } catch (Exception e){
             log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
         }

--
Gitblit v1.9.1