From a36b5b1833290b01822d80f2e31a88f9197bf6dc Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期六, 20 七月 2024 00:46:03 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 39 insertions(+), 11 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 5830912..22150b9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -59,6 +59,7 @@
 //    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;
     @Autowired
     private CommonService commonService;
     @Autowired
@@ -4815,10 +4816,10 @@
                             if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),3)!=0){
                                 break;
                             }
-                            if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=14){
+                            if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=jarMaxLoc*2){
                                 break;
                             }
-                            if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,9)>=7){
+                            if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,9)>=jarMaxLoc){
                                 break;
                             }
                             if (!Objects.equals
@@ -4837,7 +4838,7 @@
                                     break;
                                 }
                                 jarLocDigit = 1;
-                            } else if (jarMastByJarIdMax.getJarLocDigit()<7){
+                            } else if (jarMastByJarIdMax.getJarLocDigit()<jarMaxLoc){
                                 jarLocDigit = jarMastByJarIdMax.getJarLocDigit()+1;
                             } else {
                                 continue;
@@ -4954,6 +4955,17 @@
                                     continue;
                                 }
                                 Integer integer = basJarMastService.updateStatus(jarMastByWrkNo.getJarId(), 6, 8);
+                                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);
                                 }
@@ -5313,7 +5325,7 @@
             List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
                 add(4);
             }});
-            if (basJarMastList.size() != 7){
+            if (basJarMastList.size() != jarMaxLoc){
                 return false;
             }
 
@@ -5352,7 +5364,7 @@
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                     return false;
                 }
-                if (basJar.getJarCount()!=7){
+                if (!basJar.getJarCount().equals(jarMaxLoc)){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧搴撳瓨鏁板紓甯革紒锛侊紒搴撳瓨寰呭叆鏁帮細{}",jarProtocol.getJarNo(),basJar.getJarCount());
                     return false;
                 }
@@ -5390,7 +5402,7 @@
             List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
                 add(6);
             }});
-            if (basJarMastList.size() != 7){
+            if (basJarMastList.size() != jarMaxLoc){
                 return false;
             }
             if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=0){
@@ -6616,6 +6628,22 @@
                 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 (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
 //                return false;
@@ -6658,7 +6686,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;
@@ -6676,7 +6704,7 @@
                         }
                     } else {
                         //璋冭溅  == > endRow
-                        if (!jarRgvMoveTake(wrkMastExecute,1)){
+                        if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getJarNoEndRow(jarProtocolOther.getJarNo()))){
                             log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
                         }
@@ -8079,7 +8107,7 @@
     }
     public synchronized Integer jarGetStartStaNo(Integer staNo) {
         try {
-            int[] jarNos=new int[]{1,2,3,4};//(607鍒嗛厤纭寲缃�)
+            int[] jarNos=new int[]{4,2,3,1};//(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);
@@ -8098,7 +8126,7 @@
                 if (basJarMastList.isEmpty()){
                     continue;
                 }
-                if (basJarMastList.size()>0 && basJarMastList.size()<7){
+                if (basJarMastList.size()>0 && basJarMastList.size()<jarMaxLoc){
                     jarNoList.add(jarNo);
                 }
             }
@@ -8152,7 +8180,7 @@
                         }
                     }
                 }
-                if (count<7){
+                if (count<jarMaxLoc){
                     return basJar.getEntStaNo$();
                 }
             }

--
Gitblit v1.9.1