From 4cfee88fa7fad14de4908e1776ebd044d0c4e87f Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期五, 09 八月 2024 16:37:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  255 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 207 insertions(+), 48 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 b6ce937..a0d5e80 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -59,7 +59,8 @@
 //    private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
     private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
 
-    private static final Integer jarMaxLoc = 6;
+    private static final Integer jarMaxLoc = 7;
+    private static final Float jarTemperature = 80F;
     @Autowired
     private CommonService commonService;
     @Autowired
@@ -502,6 +503,15 @@
                 if (!Cools.isEmpty(barcode)) {
 //                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
                     if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+                        continue;
+                    }
+                    if ("00000000".equals(barcode)){
+                        log.error(inSta+"绔欑偣锛屾壂鐮佸け璐ワ紝barcode锛�"+barcode);
+                        // led 寮傚父鏄剧ず
+//                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+//                        if (ledThread != null) {
+//                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, inSta+"绔欑偣锛屾壂鐮佸け璐ワ紝barcode锛�"+barcode));
+//                        }
                         continue;
                     }
                 } else {
@@ -2546,7 +2556,7 @@
             }
             //閫�搴撴ā寮忚烦杩�118銆�119鍑哄簱浠诲姟
             if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
-                RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign();
+                RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("oneSign");
                 if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
                     continue;
                 }
@@ -2851,7 +2861,7 @@
             }
             //閫�搴撴ā寮忚烦杩�118銆�119鍑哄簱浠诲姟
             if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
-                RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign();
+                RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("oneSign");
                 if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
                     continue;
                 }
@@ -3839,7 +3849,13 @@
                 // 绔欑偣鏉′欢鍒ゆ柇
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                         && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0)  && staProtocol.isPakMk()) {
-
+                    //鍥炲簱鏍囪
+                    if (emptyInSta.getStaNo()==126 || emptyInSta.getStaNo()==131){
+                        RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("sign"+emptyInSta.getStaNo());
+                        if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()!=1){
+                            continue;
+                        }
+                    }
                     try {
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
 
@@ -3896,7 +3912,13 @@
                 // 绔欑偣鏉′欢鍒ゆ柇
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                         && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0)  && staProtocol.isPakMk()) {
-
+                    //鍥炲簱鏍囪
+                    if (emptyInSta.getStaNo()==310 || emptyInSta.getStaNo()==312){
+                        RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("sign"+emptyInSta.getStaNo());
+                        if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()!=1){
+                            continue;
+                        }
+                    }
                     try {
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
 
@@ -3976,7 +3998,7 @@
      */
     public synchronized void storeEmptyPlt3() {
         try{
-            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign();
+            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("oneSign");
             if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
                 return;
             }
@@ -4889,7 +4911,7 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
@@ -4958,6 +4980,17 @@
                                 if (basJarMastList.size()!=integer){
                                     log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarMastByWrkNo.getJarId(),basJarMastList.size(),integer);
                                 }
+                            } else if (wrkMastExecute.getIoType()==2 && jarMastByWrkNo.getStatus()==5){
+                                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarMastByWrkNo.getJarId(), new ArrayList<Integer>() {{
+                                    add(4);//纭寲瀹屾垚
+                                }});
+                                if (basJarMastList.isEmpty()){
+                                    continue;
+                                }
+                                Integer integer = basJarMastService.updateStatus(jarMastByWrkNo.getJarId(), 4, 5);
+                                if (basJarMastList.size()!=integer){
+                                    log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarMastByWrkNo.getJarId(),basJarMastList.size(),integer);
+                                }
                             } else {
                                 if (!basJarMastService.updateById(jarMastByWrkNo)){
                                     log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
@@ -5023,10 +5056,7 @@
                 if (jarProtocol.modeType != JarModeType.AUTO){
                     continue;
                 }
-                if (jarProtocol.getJarTemperature()>50){
-                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
-                    continue;
-                }
+
 
                 JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
                 JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
@@ -5054,6 +5084,10 @@
                                 break;//寮�闂ㄤ换鍔�   鐢熸垚鍏ョ~鍖栫綈浠诲姟
                             }
                         case 2:
+                            if (jarProtocol.getJarTemperature()>jarTemperature){
+                                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+                                continue;
+                            }
                             if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
                                 signExecute[i] = true;
                                 break;//鍏宠繘鏂欓棬
@@ -5064,6 +5098,10 @@
                                 break;//寮�鍑烘枡闂�
                             }
                         case 4:
+                            if (jarProtocol.getJarTemperature()>jarTemperature){
+                                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+                                continue;
+                            }
                             if (jarWrkMastExecuteGenerate4(jarSlave,sign)){
                                 signExecute[i] = true;
                                 break;//鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
@@ -5102,7 +5140,7 @@
                     signExecute[jarSlave.getId()-5] = true;
                     continue;
                 }
-                if (jarProtocol.getJarTemperature()>50){
+                if (jarProtocol.getJarTemperature()>jarTemperature){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                     continue;
                 }
@@ -5117,9 +5155,10 @@
                 if (jarProtocol.isAutoing() && jarProtocol.jarErr==0){
                     if (jarWrkMastExecuteGenerate5(jarSlave,sign)){
                         signExecute[jarSlave.getId()-5] = true;
-                        //鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
+                        return signExecute;
+                        //鍐峰嵈瀹屾垚涓婅緭閫佺嚎
                     }
-                    return signExecute;
+                    continue;
                 }
             } catch (Exception e){
                 log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
@@ -5150,7 +5189,7 @@
                 if (jarProtocol.modeType != JarModeType.AUTO){
                     continue;
                 }
-                if (jarProtocol.getJarTemperature()>50){
+                if (jarProtocol.getJarTemperature()>jarTemperature){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                     continue;
                 }
@@ -5248,7 +5287,7 @@
                         if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
                             return false;
                         }
-                        if (jarProtocol.getJarTemperature()>50){
+                        if (jarProtocol.getJarTemperature()>jarTemperature){
                             log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                             continue;
                         }
@@ -5264,6 +5303,10 @@
                         BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                         if (Cools.isEmpty(basJar)){
                             log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                            return false;
+                        }
+
+                        if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJar.getRegion())!=0){
                             return false;
                         }
 
@@ -5322,6 +5365,10 @@
             if (Cools.isEmpty(basJarMastSign)){
                 return false;
             }
+
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
+                return false;
+            }
 //            //鍒ゆ柇灏忚溅鐘舵��
 //            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
 //                return false;
@@ -5344,7 +5391,7 @@
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                     return false;
                 }
-                if (jarProtocol.getJarTemperature()>50){
+                if (jarProtocol.getJarTemperature()>jarTemperature){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                     return false;
                 }
@@ -5402,6 +5449,10 @@
             if (Cools.isEmpty(basJarMastSign)){
                 return false;
             }
+
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
+                return false;
+            }
 //            //鍒ゆ柇灏忚溅鐘舵��
 //            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
 //                return false;
@@ -5425,10 +5476,10 @@
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                     return false;
                 }
-                if (jarProtocol.getJarTemperature()>50){
-                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
-                    return false;
-                }
+//                if (jarProtocol.getJarTemperature()>jarTemperature){
+//                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+//                    return false;
+//                }
                 BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                 if (Cools.isEmpty(basJar)){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -5471,13 +5522,26 @@
             if (basJarMastList.isEmpty()){
                 return false;
             }
-
+            List<BasJarMast> basJarMastList10 = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+                add(10);
+            }});
+            if (basJarMastList10.size()==jarMaxLoc){
+                return false;
+            }
             if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0){
                 return false;
             }
 
             BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8);
             if (Cools.isEmpty(jarMastByJarIdMin)){
+                return false;
+            }
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
+                return false;
+            }
+
+            int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", jarMastByJarIdMin.getJarRegin()).lt("status", 17).gt("status", 10));
+            if (count>0){
                 return false;
             }
 //            //鍒ゆ柇灏忚溅鐘舵��
@@ -5561,6 +5625,10 @@
             if (Cools.isEmpty(jarMastByJarIdMin)){
                 return false;
             }
+
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
+                return false;
+            }
 //
 //            //鍒ゆ柇灏忚溅鐘舵��
 //            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),3,SteStatusType.IDLE)){
@@ -5580,13 +5648,33 @@
                 if (jarProtocol.modeType != JarModeType.AUTO){
                     return false;
                 }
-                if (jarProtocol.getJarTemperature()>50){
+                if (jarProtocol.getJarTemperature()>jarTemperature){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                     return false;
                 }
                 BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                 if (Cools.isEmpty(basJar)){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                    return false;
+                }
+
+                // 鑾峰彇纭寲缃愪俊鎭�
+                JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(jarProtocol.getJarNo()));
+                JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+                if (jarProtocolOther == null) {
+                    return false;
+                }
+                if (jarProtocolOther.modeType != JarModeType.AUTO){
+                    return false;
+                }
+
+                BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+                if (Cools.isEmpty(basJarOther)){
+                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
+                    return false;
+                }
+
+                if (!jarProtocolOther.isRightDoor()){
                     return false;
                 }
 
@@ -6003,10 +6091,10 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
-                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
-                return false;
-            }
+//            if (jarProtocol.getJarTemperature()>jarTemperature){
+//                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+//                return false;
+//            }
             BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -6131,7 +6219,7 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
@@ -6259,7 +6347,7 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
@@ -6375,7 +6463,7 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
@@ -6491,13 +6579,33 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
             BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                return false;
+            }
+
+            // 鑾峰彇纭寲缃愪俊鎭�
+            JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(wrkMastExecute.getJarId()));
+            JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+            if (jarProtocolOther == null) {
+                return false;
+            }
+            if (jarProtocolOther.modeType != JarModeType.AUTO){
+                return false;
+            }
+
+            BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+            if (Cools.isEmpty(basJarOther)){
+                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
+                return false;
+            }
+
+            if (!jarProtocolOther.isRightDoor()){
                 return false;
             }
 
@@ -6607,13 +6715,29 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
             BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                return false;
+            }
+
+            // 鑾峰彇纭寲缃愪俊鎭�
+            JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(wrkMastExecute.getJarId()));
+            JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+            if (jarProtocolOther == null) {
+                return false;
+            }
+            if (jarProtocolOther.modeType != JarModeType.AUTO){
+                return false;
+            }
+
+            BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+            if (Cools.isEmpty(basJarOther)){
+                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
                 return false;
             }
 
@@ -6659,7 +6783,7 @@
                         && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
                     log.error("6:鍏ュ喎鍗存Ы Three==>浠诲姟涓嬪彂===>琛�={}",6115);
 
-                    if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
+                    if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){
                         //鍒ゆ柇灏忚溅鐘舵��
                         if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.WAITING2,false)){
                             return false;
@@ -6677,7 +6801,7 @@
                         }
                     } else {
                         //璋冭溅  == > endRow
-                        if (!jarRgvMoveTake(wrkMastExecute,1)){
+                        if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getJarNoEndRow(basJar.getBurial()))){
                             log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
                         }
@@ -6723,7 +6847,7 @@
             if (jarProtocol.modeType != JarModeType.AUTO){
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
@@ -6887,7 +7011,7 @@
 //            if (jarProtocol.modeType != JarModeType.AUTO){
 //                return false;
 //            }
-//            if (jarProtocol.getJarTemperature()>50){
+//            if (jarProtocol.getJarTemperature()>jarTemperature){
 //                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
 //                return false;
 //            }
@@ -7063,7 +7187,7 @@
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
-            if (jarProtocol.getJarTemperature()>50){
+            if (jarProtocol.getJarTemperature()>jarTemperature){
                 log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                 return false;
             }
@@ -7521,10 +7645,6 @@
                 if (jarProtocol.modeType != JarModeType.AUTO){
                     continue;
                 }
-                if (jarProtocol.getJarTemperature()>50){
-                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
-                    return false;
-                }
                 BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                 if (Cools.isEmpty(basJar)){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -7550,6 +7670,10 @@
                         && jarProtocol.leftDoorOpen!=1 && jarProtocol.leftDoorOpen!=3
                         && jarProtocol.rightDoorOpen!=1 && jarProtocol.rightDoorOpen!=3
                         && (jarProtocol.leftDoorOpen==2  || jarProtocol.rightDoorOpen==2)){
+                    if (jarProtocol.getJarTemperature()>jarTemperature){
+                        log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+                        return false;
+                    }
                     WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
                     wrkMastExecuteSou.setWrkSts(3);
                     List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
@@ -7584,6 +7708,10 @@
                         && jarProtocol.leftDoorClose!=1 && jarProtocol.leftDoorClose!=3
                         && jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3
                         && (jarProtocol.leftDoorClose==2  || jarProtocol.rightDoorClose==2)){
+                    if (jarProtocol.getJarTemperature()>jarTemperature){
+                        log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+                        return false;
+                    }
                     WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
                     wrkMastExecuteSou.setWrkSts(3);
                     List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
@@ -7709,6 +7837,8 @@
                         return true;
                     }
                     return true;
+                } else {
+                    log.error("{}鍙峰钩琛¤溅褰撳墠鐘舵�佷笉婊¤冻鍏ョ~鍖栫綈鏉′欢锛屽綋鍓嶄换鍔★紝骞宠 杞︿粠鍙栬揣");
                 }
             }
             return true;
@@ -7956,7 +8086,7 @@
                             if (jarProtocol.statusType .equals(JarStatusType.SOS)){
                                 continue;
                             }
-                            if (jarProtocol.getJarTemperature()>50){
+                            if (jarProtocol.getJarTemperature()>jarTemperature){
                                 continue;
                             }
                             if (jarProtocol.leftDoorOpen != 0 || jarProtocol.rightDoorOpen != 0){
@@ -8080,13 +8210,14 @@
     }
     public synchronized Integer jarGetStartStaNo(Integer staNo) {
         try {
-            int[] jarNos=new int[]{4,2,3,1};//(607鍒嗛厤纭寲缃�)
+            int[] jarNos=new int[]{3,1,4,2};//(607鍒嗛厤纭寲缃�)
             ArrayList<Integer> staNos = new ArrayList<Integer>() {{
                 add(607);add(608);add(609);add(610);add(611);add(612);
                 add(613);add(614);add(615);add(616);add(617);add(618);
                 add(619);add(620);add(621);add(622);
             }};
             ArrayList<Integer> jarNoList = new ArrayList<>();
+            ArrayList<Integer> jarNoList1 = new ArrayList<>();
             ArrayList<Integer> jarNoListNow = new ArrayList<>();
             for (int jarNo : jarNos) {
                 List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
@@ -8103,10 +8234,38 @@
                     jarNoList.add(jarNo);
                 }
             }
-            jarNoList.add(4);
-            jarNoList.add(2);
-            jarNoList.add(3);
-            jarNoList.add(1);
+            for (int jarNo : jarNos) {
+                if (!jarNoList.contains(jarNo)){
+                    jarNoList1.add(jarNo);
+                }
+            }
+            for (int jarNo : jarNoList1) {
+                List<BasJarMast> jarMastByJarIdAndStatusList = basJarMastService.getJarMastByJarIdAndStatusList(8, jarNo);
+                if (jarMastByJarIdAndStatusList.isEmpty()){
+                    jarNoList.add(jarNo);
+                }
+            }
+            jarNoList1 = new ArrayList<Integer>();
+            for (int jarNo : jarNos) {
+                if (!jarNoList.contains(jarNo)){
+                    jarNoList1.add(jarNo);
+                }
+            }
+            for (int jarNo : jarNoList1) {
+                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
+                    add(5);
+                    add(6);
+                    add(7);
+                    add(8);
+                    add(9);
+                    add(13);
+                    add(14);
+                    add(15);
+                }});
+                if (basJarMastList.isEmpty()){
+                    jarNoList.add(jarNo);
+                }
+            }
             for (int jarNo : jarNoList) {
                 if (jarNoListNow.contains(jarNo)){
                     continue;
@@ -8123,7 +8282,7 @@
                 if (jarProtocol.statusType .equals(JarStatusType.SOS)){
                     continue;
                 }
-                if (jarProtocol.getJarTemperature()>50){
+                if (jarProtocol.getJarTemperature()>jarTemperature){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
                     continue;
                 }

--
Gitblit v1.9.1