From 18a81e48e6559009ec39d2c2e28d64312f204189 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 11 三月 2023 13:58:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  234 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 158 insertions(+), 76 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 98acb5e..8a63999 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -315,9 +315,9 @@
                 }
 
 //                // 鍏ュ嚭搴撴ā寮忓垽鏂�
-                if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) {
-                    continue;
-                }
+//                if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) {
+//                    continue;
+//                }
 
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
@@ -517,8 +517,35 @@
         String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
 
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
-            // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
-            for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
+            //鏌ヨ宸ヤ綔妗�
+            List<WrkMast> wrkMasts= wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                    .eq("crn_no",crnSlave.getCrnOutStn())
+                    .and()
+                    .gt("io_type",100)
+                    .orderBy("appe_time")
+            );
+            if(Cools.isEmpty(wrkMasts)){
+                continue;
+            }
+            //閬嶅巻浠诲姟妗o紝鎸夌敓鎴愭椂闂磋繘琛屾帓搴�
+            for (WrkMast wrkMast: wrkMasts) {
+                // 鍒ゆ柇宸ヤ綔妗f潯浠�
+                if (wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+                    continue;
+                }
+                CrnSlave.CrnStn crnStn = null;
+                for (CrnSlave.CrnStn crnStn1 : crnSlave.getCrnOutStn()) {
+                    if (crnStn1.getStaNo() == wrkMast.getSourceStaNo()) {
+                        crnStn = crnStn1;
+                        break;
+                    } else {
+                        continue;
+                    }
+                }
+                if (Cools.isEmpty(crnStn)) {
+                    continue;
+                }
+
                 // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
                 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
                 StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
@@ -528,15 +555,8 @@
                     staProtocol = staProtocol.clone();
                 }
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
-                    // 鏌ヨ宸ヤ綔妗�
-                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
-                    if (wrkMast == null) {
-                        continue;
-                    }
-                    // 鍒ゆ柇宸ヤ綔妗f潯浠�
-                    if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
-                        continue;
-                    }
+
+
                     // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
                     CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
                     CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -574,6 +594,68 @@
             }
         }
     }
+
+//    public synchronized void crnStnToOutStn1() {
+//        String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+//
+//        for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+//            // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
+//            for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
+//                // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+//                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+//                StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+//                if (staProtocol == null) {
+//                    continue;
+//                } else {
+//                    staProtocol = staProtocol.clone();
+//                }
+//                if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
+//                    // 鏌ヨ宸ヤ綔妗�
+//                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
+//                    if (wrkMast == null) {
+//                        continue;
+//                    }
+//                    // 鍒ゆ柇宸ヤ綔妗f潯浠�
+//                    if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+//                        continue;
+//                    }
+//                    // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
+//                    CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
+//                    CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+//                    if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
+//                        // 绉诲姩涓�
+//                        continue;
+//                    }
+//                    //  鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
+//                    if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
+//                            && crnProtocol.statusType == CrnStatusType.WAITING
+//                            && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+//
+//                        // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+//
+//                        // 涓嬪彂绔欑偣淇℃伅
+//                        staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+//                        staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+//                        if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
+//                            continue;
+//                        }
+//
+//                        // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
+//                        wrkMast.setWrkSts(14L);
+//                        wrkMast.setCrnEndTime(new Date());
+//                        if (wrkMastMapper.updateById(wrkMast) != 0) {
+//                            // 澶嶄綅鍫嗗灈鏈�
+//                            crnThread.setResetFlag(true);
+//                        } else {
+//                            News.error(methodName + ":鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
+//                        }
+//
+//                    }
+//
+//                }
+//            }
+//        }
+//    }
 
     /**
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
@@ -861,9 +943,9 @@
 
 //            // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //            if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
-                if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
-                    continue;
-                }
+//                if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+//                    continue;
+//                }
 
                 // 鏌ヨ绔欑偣璇︾粏淇℃伅
                 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -2058,65 +2140,65 @@
     /**
      * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
      */
-    public synchronized void ioConvert() {
-        try {
-            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-            for (DevpSlave devp : slaveProperties.getDevp()) {
-                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-
-                for (DevpSlave.Sta inSta : devp.getInSta()) {
-                    if (inSta.getStaNo() == 2) {
-                        continue;
-                    }
-                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
-                    switch (inSta.getStaNo()) {
-                        case 203://1F
-                            if (pakout != null) {
-                                if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
-                                    // 鍑哄簱鍒囨崲涓�
-                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
-                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
-                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
-                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
-                                        // 鍑哄簱妯″紡
-                                        devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
-                                    }
-                                }
-                            } else {
-                                // 鍏ュ簱妯″紡
-                                devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
-                            }
-                            break;
-                        case 401://1F
-                            if (pakout != null) {
-                                if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
-                                    // 鍑哄簱鍒囨崲涓�
-                                    devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
-                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
-                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
-                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
-                                        // 鍑哄簱妯″紡
-                                        devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
-                                    }
-                                }
-                            } else {
-                                // 鍏ュ簱妯″紡
-                                devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
-                            }
-                            break;
-                    }
-                }
-
-            }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-
-    }
+//    public synchronized void ioConvert() {
+//        try {
+//            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+//            for (DevpSlave devp : slaveProperties.getDevp()) {
+//                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+//
+//                for (DevpSlave.Sta inSta : devp.getInSta()) {
+//                    if (inSta.getStaNo() == 2) {
+//                        continue;
+//                    }
+//                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
+//                    switch (inSta.getStaNo()) {
+//                        case 203://1F
+//                            if (pakout != null) {
+//                                if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+//                                    // 鍑哄簱鍒囨崲涓�
+//                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+//                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+//                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+//                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
+//                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+//                                        // 鍑哄簱妯″紡
+//                                        devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
+//                                    }
+//                                }
+//                            } else {
+//                                // 鍏ュ簱妯″紡
+//                                devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
+//                            }
+//                            break;
+//                        case 401://1F
+//                            if (pakout != null) {
+//                                if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
+//                                    // 鍑哄簱鍒囨崲涓�
+//                                    devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
+//                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+//                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+//                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
+//                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+//                                        // 鍑哄簱妯″紡
+//                                        devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
+//                                    }
+//                                }
+//                            } else {
+//                                // 鍏ュ簱妯″紡
+//                                devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
+//                            }
+//                            break;
+//                    }
+//                }
+//
+//            }
+//
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//
+//
+//    }
 
     public synchronized void outOfDevp() {
         List<WrkMast> wrkMasts = wrkMastMapper.selectPick();

--
Gitblit v1.9.1