From 6d4ae730f093c9bcbb28fd97d8e3ce8867b9d693 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期三, 01 一月 2025 17:42:02 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  133 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 111 insertions(+), 22 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 209b3a0..dd57260 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3101,7 +3101,7 @@
                 if (Cools.isEmpty(rgvOneSign)){
                     continue;
                 }
-                RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig");
+                RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig"+wrkMast.getStaNo());
                 if (Cools.isEmpty(trunBig)){
                     continue;
                 }
@@ -3111,10 +3111,10 @@
                 if (trunBig.getRgvOneSign()+wrkCount+rgvOneSign.getRgvOneSign()>2){
                     continue;
                 }
-//                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
-//                if (wrkCount>=12){
-//                    continue;
-//                }
+                int wrkCountGt = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L));
+                if (wrkCountGt > 2){
+                    continue;
+                }
 //                RgvOneSign bigTurn = rgvOneSignMapper.selectOneSign("bigTurn");
 //                if (Cools.isEmpty(bigTurn)){
 //                    continue;
@@ -3271,8 +3271,8 @@
                     crnCommand.setDestinationPosX((short)0);     // 鐩爣搴撲綅鎺�
                     crnCommand.setDestinationPosY((short)0);     // 鐩爣搴撲綅鍒�
                     crnCommand.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
-                    if (!Cools.isEmpty(wrkMast.getStaNo()) && (wrkMast.getStaNo().equals(312) || wrkMast.getStaNo().equals(310))){
-                        updateRgvOneSign("TrunBig",turnBigInt+1);
+                    if (wrkMast.booleanStaNoSign()){
+                        updateRgvOneSign("TrunBig"+wrkMast.getStaNo(),turnBigInt+1);
                     }
                     if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
                         log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
@@ -5158,7 +5158,7 @@
                             if (jarMaxLoc == 0 || basJarOther.getJarCount() == 0) {
                                 break;
                             }
-                            int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 6));
+                            int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 5));
                             if (count>0){
                                 break;
                             }
@@ -5367,8 +5367,8 @@
                 case 3:
                 case 4:
                     signExecute = jarWrkMastExecuteGenerateJar(signExecute,sign);//纭寲缃愪换鍔�
-                case 5:
-                    signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
+//                case 5:
+//                    signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉幓杈撻�佺嚎
                 default:
                     jarWrkMastExecuteGenerateSte(signExecute,sign);//灏忚溅绉诲姩
 //                    signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
@@ -5967,9 +5967,9 @@
                 if (!basJarMastListOther.isEmpty() && basJarMastListOther.size() < basJarOther.getJarCount()){
                     return false;
                 }
-                if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
-                    return false;
-                }
+//                if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
+//                    return false;
+//                }
 
 //                //涓存椂
 //                if (basJar.getJarCode()==1){
@@ -6462,12 +6462,12 @@
                         if (jarWrkMastExecuteActionExecute5Three(wrkMastExecute,sign)){
                             break;
                         }
-                        return;
+                        continue;
                     case 6:
                         if (jarWrkMastExecuteActionExecute6Three(wrkMastExecute,sign)){
                             break;
                         }
-                        return;
+                        continue;
                 }
             }
         } catch (Exception e){
@@ -7202,7 +7202,7 @@
                             return false;
                         }
                         //璋冭溅  == > 鍙栬揣
-                        if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT25.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
+                        if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
                             log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                     wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
                         }
@@ -7927,26 +7927,88 @@
             switch (sign){
                 case 1:
                     if (jarWrkMastExecuteGenerateSteComplete(sign)){
-                        break;
+                        return;
                     }
                 case 2:
                     if (jarWrkMastExecuteGenerateJarComplete(sign)){
-                        break;
+                        return;
                     }
                 case 3:
                     if (jarWrkMastExecuteGenerateRgvComplete1(sign)){
-                        break;
+                        return;
                     }
                 case 4:
                     if (jarWrkMastExecuteGenerateRgvComplete2(sign)){
-                        break;
+                        return;
                     }
                 default:
-                    return;
+                    break;
             }
+            jarWrkMastExecuteGenerateDevComplete(sign);
         }catch (Exception e){
             log.error("JarWrkMastExecute浠诲姟瀹屾垚鎶ラ敊锛�"+e);
         }
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟瀹屾垚 ===>Devp   //瀹屾垚
+     */
+    public synchronized boolean jarWrkMastExecuteGenerateDevComplete(Integer sign) {
+        try{
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                // 閬嶅巻鍏ュ簱鍙�
+                for (DevpSlave.Sta inSta : devp.getOutJarInSta()) {
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+                    if (staProtocol.isAutoing()
+                            && staProtocol.isLoading()
+                            && staProtocol.isInEnable()
+                            && staProtocol.getWorkNo() == 0
+                            && staProtocol.isPakMk()) {
+                        for (DevpSlave.Jar jar : inSta.getJarList()) {
+                            // 鍒ゆ柇閲嶅宸ヤ綔妗�
+                            List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListB(jar.getBurial(), new ArrayList<Integer>() {{
+                                add(9);
+                                add(11);
+                            }});
+                            if (basJarMastList.isEmpty()){
+                                continue;
+                            }
+                            BasJarMast jarMastByWrkNo = basJarMastList.get(0);
+                            jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete(6));
+
+
+                            StaProtocol staProtocolNew = new StaProtocol();
+                            staProtocolNew.setSiteId(staProtocol.getSiteId());
+                            staProtocolNew.setWorkNo(basJarMastList.get(0).getWrkNo().intValue());
+                            staProtocolNew.setStaNo(jar.getEndStaNo());
+                            devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989);
+                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew));
+                            if (!result) {
+                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
+                                throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            }
+                            if (!basJarMastService.updateById(jarMastByWrkNo)){
+                                log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+                                throw new CoolException("鏇存柊basJarMast澶辫触");
+                            }
+                            break;
+                        }
+                    }
+                }
+            }
+            return true;
+        }catch (Exception e){
+            log.error("JarWrkMastExecute浠诲姟瀹屾垚 ===>Ste鎶ラ敊锛�"+e);
+        }
+        return false;
     }
 
     /**
@@ -8089,6 +8151,30 @@
                 if (Cools.isEmpty(basJar)){
                     log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                     continue;
+                }
+                if (jarProtocol.getJarErr()==0 && (jarProtocol.getStatusType().equals(JarStatusType.WAITING1) || jarProtocol.getStatusType().equals(JarStatusType.MOVING))
+                        && 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(6);//纭寲瀹屾垚
+                    }});
+                    if (!basJarMastList.isEmpty()){
+                        WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+                        wrkMastExecuteSou.setWrkSts(3);
+                        List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+                        for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+                            if (wrkMastExecute.getIoType() == 3){
+                                wrkMastExecute.setWrkSts(4);
+                                if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+                                    log.error("纭寲缃怞ar鍛戒护淇敼澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+                                            wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+                                    return false;
+                                }
+                                return true;
+                            }
+                        }
+                    }
                 }
                 //WAITING2(4, "纭寲瀹屾垚"),
                 if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2)
@@ -8447,7 +8533,10 @@
      *  ste鍏呯數浠诲姟鍒涘缓   //瀹屾垚
      */
     public synchronized void signTrunBig() {
-        updateRgvOneSign("TrunBig",0);
+        updateRgvOneSign("TrunSma126",0);
+        updateRgvOneSign("TrunSma131",0);
+        updateRgvOneSign("TrunBig310",0);
+        updateRgvOneSign("TrunBig312",0);
     }
 
     public synchronized boolean jarChargeGenerate() {

--
Gitblit v1.9.1