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 |  104 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 93 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 95435d8..8a63999 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -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();
@@ -575,6 +595,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());
+//                        }
+//
+//                    }
+//
+//                }
+//            }
+//        }
+//    }
+
     /**
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
      */

--
Gitblit v1.9.1