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

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  239 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 176 insertions(+), 63 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 c323c3b..b88f85a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4582,67 +4582,55 @@
     }
 
     /**
-     *  JarWrkMastExecute浠诲姟鍒涘缓   //鏈畬鎴�
-     *  寮�闂ㄣ�佸叆纭寲缃�
+     *  JarWrkMastExecute浠诲姟鍒涘缓   //瀹屾垚
      */
-    public synchronized void jarWrkMastExecuteGenerate() {
+    public synchronized void jarWrkMastExecuteGenerate(Integer sign) {
         for (JarSlave jarSlave : slaveProperties.getJar()) {
             try{
                 if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
                     continue;
                 }
-                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
-                    add(0);
-                    add(2);
-                }});
-                for (BasJarMast basJarMast : basJarMastList){
-                    // 鑾峰彇纭寲缃愪俊鎭�
-                    JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
-                    JarProtocol jarProtocol = jarThread.getJarProtocol();
-                    if (jarProtocol == null) {
-                        break;
-                    }
-                    if (jarProtocol.modeType != JarModeType.AUTO){
-                        break;
-                    }
 
-                    JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
-                    JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
-                    if (jarOtherProtocol == null) {
-                        break;
-                    }
+                // 鑾峰彇纭寲缃愪俊鎭�
+                JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
+                JarProtocol jarProtocol = jarThread.getJarProtocol();
+                if (jarProtocol == null) {
+                    break;
+                }
+                if (jarProtocol.modeType != JarModeType.AUTO){
+                    break;
+                }
+
+                JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+                JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+                if (jarOtherProtocol == null) {
+                    break;
+                }
 //                    if (jarOtherProtocol.modeType != JarModeType.AUTO){
 //                        continue;
 //                    }
 
-                    BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
-                    if (Cools.isEmpty(basJar)){
-                        log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
-                        break;
-                    }
-
-                    //闂ㄤ綔涓�  鏃�
-                    //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   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;
-                        } 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;
-                        } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
-                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
-                        }
-                    }
+                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+                if (Cools.isEmpty(basJar)){
+                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                     break;
+                }
+
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
+                if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
+                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
+                    switch (sign){
+                        case 0:
+                        case 2:
+                            if (jarWrkMastExecuteGenerate1(jarSlave,sign)){
+                                break;
+                            }
+                        case 3:
+//                            if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
+//                                break;
+//                            }
+                    }
                 }
             } catch (Exception e){
                 log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
@@ -4651,10 +4639,147 @@
     }
 
     /**
+     *  JarWrkMastExecute浠诲姟鍒涘缓   //瀹屾垚
+     *  寮�闂ㄤ换鍔�
+     *  鐢熸垚鍏ョ~鍖栫綈浠诲姟
+     */
+    public synchronized boolean jarWrkMastExecuteGenerate1(JarSlave jarSlave,Integer sign) {
+        try{
+            if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                return false;
+            }
+            List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+                add(0);
+                add(2);
+            }});
+            for (BasJarMast basJarMast : basJarMastList){
+                // 鑾峰彇纭寲缃愪俊鎭�
+                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;
+                }
+
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   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 false;
+            }
+        } catch (Exception e){
+            log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟鍒涘缓   //鏈畬鎴�
+     *  鍏冲叆鏂欓棬銆佸紑鍑烘枡闂ㄣ�佸叧鍑烘枡闂�
+     */
+    public synchronized boolean jarWrkMastExecuteGenerate2(JarSlave jarSlave,Integer sign) {
+        try{
+            if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                return false;
+            }
+            List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+                add(0);
+                add(2);
+            }});
+            for (BasJarMast basJarMast : basJarMastList){
+                // 鑾峰彇纭寲缃愪俊鎭�
+                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;
+                }
+
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   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 false;
+            }
+        } catch (Exception e){
+            log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
+        }
+        return false;
+    }
+
+    /**
      *  JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц   //鏈畬鎴�
      */
     public synchronized boolean jarWrkMastExecuteGenerateExecute(BasJar basJar,BasJarMast basJarMast,int[] digit) {
-        try{
+        try {
             WrkMastExecute wrkMastExecute = new WrkMastExecute(basJarMast);
             wrkMastExecute.setJarId(digit[3]==2? basJar.getBurial():basJar.getJarNo());
             wrkMastExecute.setSteId(digit[0]);//绌挎鏉縄D
@@ -4662,20 +4787,8 @@
             wrkMastExecute.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы
             wrkMastExecute.setType(digit[3]);//璁惧  0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  3: 纭寲缃�==>鍐峰嵈妲�
             return wrkMastExecuteService.insert(wrkMastExecute);
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage());
-        }
-        return false;
-    }
-
-    /*
-     * 寮�闂ㄤ换鍔″垱寤�
-     * */
-    public synchronized boolean jarWrkMastExecuteGenerate2(){
-        try{
-
-        } catch (Exception e){
-            log.error("{}鍙风~鍖栫綈OpenTheDoorGenerate==銆婮arWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",null,e.getMessage());
         }
         return false;
     }

--
Gitblit v1.9.1