From b3280d431ea42f46afe020782b677b11d504be31 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 14 一月 2026 13:32:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   61 +++++++++++++++++++++++++-----
 1 files changed, 50 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 8646b5a..54da5d7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -314,7 +314,7 @@
                     }
                     WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                             .eq("barcode", barcode)
-                            .in("io_type", 107,103,57));
+                            .in("io_type", 107,103,57,53));
                     if (!Cools.isEmpty(checkPick)) {
                         continue;
                     }
@@ -537,6 +537,44 @@
 //                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
 
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
+                    // 鍒ゆ柇閲嶅宸ヤ綔妗�
+                    WrkMast wrkMast1 = wrkMastMapper.selectPakInStep1(pickSta.getStaNo(), barcode);
+                    if (wrkMast1 != null) {
+                        int wrkNo1 = basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("wrk_no", wrkMast1.getWrkNo()));
+                        if (wrkNo1 != 0){
+                            News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast1.getWrkNo());
+                            StaProtocol staProtocolNew = new StaProtocol();
+                            staProtocolNew.setWorkNo(wrkMast1.getWrkNo());
+                            staProtocolNew.setStaNo(RouteUtils.SouStaEnd(wrkMast1.getStaNo(),wrkMast1.getSourceStaNo()));
+                            staProtocolNew.setSiteId(staProtocol.getSiteId());
+                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+                            staProtocolNew.setBarcode(barcode);
+                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew));
+                            if (ledThread != null) {
+                                MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�="+ wrkMast1.getWrkNo()));
+                            }
+                            continue;
+                        }
+                        barcodeThread.setBarcode("");
+                        staProtocol.setWorkNo(wrkMast1.getWrkNo());
+                        staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast1.getSourceStaNo()));
+                        staProtocol.setBarcode(barcode);
+
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�"+wrkMast1.getWrkNo()+","+wrkMast1.getStaNo());
+
+                        ledThread.errorReset();
+                        log.info("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎");
+
+                        if (!result) {
+                            News.error( ":鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            continue;
+                        }
+                        continue;
+
+                    }
                     News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�");
                     WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
 //                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
@@ -1544,14 +1582,14 @@
                 // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
 //                     if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
 //                        && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
-
-                if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") && !staProtocol.isLoading()
+                boolean unLoading = !staProtocol.isLoading();
+                Config configAGVAUTOIN = configService.selectConfigByCode("COB");
+                if(Boolean.parseBoolean(configAGVAUTOIN.getValue())){
+                    unLoading = true;
+                }
+                if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") && unLoading
                         ) {
-//                    if (slave.getId() == 1 || slave.getId() == 2){
-//                        if (staProtocol.isLoading() || staProtocol.getWorkNo() != 0 || !staProtocol.isOutEnable()){
-//                            continue;
-//                        }
-//                    }
+//
                     // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
                     // 鍫嗗灈鏈烘帶鍒惰繃婊�
@@ -4679,11 +4717,12 @@
             BasRgvOpt basRgvOpt = basRgvOptService.getBasRgvOpt(rgvId);
             // 闃叉閲嶅涓嬪彂鍛戒护
             if (basRgvOpt != null) {
-                if (typeNo.equals(basRgvOpt.getMode()) && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) {
+                if (basRgvOpt.getMode().equals(typeNo) && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) {
                     // 濡傛灉鏈�鏂拌褰曠殑 mode 鍜� posSta 涓庡綋鍓嶅懡浠ょ浉鍚岋紝璁や负鏄噸澶嶅懡浠�
                     log.error("鍛戒护閲嶅涓嬪彂锛屽綋鍓嶅懡浠や笌鏈�鏂拌褰曠浉鍚岋紝浠诲姟涓嶄笅鍙戯紒");
                     return false;
                 }
+                log.info("rgv鍛戒护鏃ュ織wrkNo={},posSta={},mode={}",wrkMastSta.getWrkNo(),basRgvOpt.getPosSta(),basRgvOpt.getMode());
             }
             rgvCommand.setTaskNo(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅宸ヤ綔鍙�
             rgvCommand.setTaskStatus(type); // 宸ヤ綅浠诲姟妯″紡:  鍙栬揣
@@ -5370,7 +5409,7 @@
         // 閬嶅巻缁撴灉闆嗭紝妫�鏌ユ椂闂存埑宸�兼槸鍚﹀皬浜� 5 鍒嗛挓
         for (ApiLog apiLog : apiLogs) {
             long parseLong = Long.parseLong(apiLog.getTimestamp());
-            if (new Date().getTime() - parseLong < 5 * 1000 * 60) {
+            if (new Date().getTime() - parseLong < 30 * 1000 * 60) {
                 // 濡傛灉鎵惧埌绗﹀悎鏉′欢鐨勮褰曚笖鏃堕棿宸皬浜� 5 鍒嗛挓锛屽垯涓嶄繚瀛樻柊璁板綍锛岀洿鎺ヨ繑鍥�
                 return;
             }
@@ -5397,7 +5436,7 @@
         // 閬嶅巻缁撴灉闆嗭紝妫�鏌ユ椂闂存埑宸�兼槸鍚﹀皬浜� 5 鍒嗛挓
         for (ApiLog apiLog : apiLogs) {
             long parseLong = Long.parseLong(apiLog.getTimestamp());
-            if (new Date().getTime() - parseLong < 5 * 1000 * 60) {
+            if (new Date().getTime() - parseLong < 30 * 1000 * 60) {
                 // 濡傛灉鎵惧埌绗﹀悎鏉′欢鐨勮褰曚笖鏃堕棿宸皬浜� 5 鍒嗛挓锛屽垯涓嶄繚瀛樻柊璁板綍锛岀洿鎺ヨ繑鍥�
                 return;
             }

--
Gitblit v1.9.1