From 9cfd47f152a8d0dcd825cf9202ddd389b0c4a325 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期五, 19 一月 2024 18:09:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 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 95f5d98..20d24ee 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -323,7 +323,11 @@
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo(wrkMast.getStaNo());
+                    Integer staNo = wrkMast.getStaNo();
+                    if (wrkMast.getSourceStaNo()==145){
+                        staNo = 147;
+                    }
+                    staProtocol.setStaNo(staNo);
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     if (result) {
@@ -4213,6 +4217,57 @@
     }
 
     /**
+     * 鍏朵粬  ===>> 閫�璐х爜鍨涘畬鎴愭墭鐩樼户缁笅涓�姝�
+     */
+    public synchronized void stackingCompletionDriveTrayOk3() {
+        try {
+            int[] staNos=new int[]{118};
+            for (int staNo : staNos){
+                BasDevp basDevp = basDevpService.selectById(staNo);
+                if (Cools.isEmpty(basDevp) || basDevp.getWrkNo()!=0 || basDevp.getReportSign()!=3){
+                    continue;
+                }
+                WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne145(145);
+                if (Cools.isEmpty(wrkMast)){
+                    continue;
+                }
+                // 鑾峰彇绔欑偣淇℃伅
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                StaProtocol staProtocol = devpThread.getStation().get(staNo);
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+
+                if (!staProtocol.isLoading()){
+                    log.info("{}绔欑偣鏃犵墿锛屽紓甯革紒",staNo);
+                    continue;
+                }
+                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                if (staProtocol.isAutoing()
+                        && staProtocol.isLoading()
+                        && !staProtocol.isEmptyMk()
+                ) {
+                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol.setStaNo(wrkMast.getStaNo());
+                    devpThread.setPakMk(staProtocol.getSiteId(), false);
+                    boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
+                    if (!result) {
+                        throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>椹卞姩鐮佸灈浣嶆墭鐩樺墠杩涘け璐ワ紒");
+                    }
+                    wrkMast.setSheetNo("5");
+                    wrkMastMapper.updateById(wrkMast);
+                }
+            }
+        }catch (Exception e){
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            log.error("鍏朵粬  ===>> 閫�璐х爜鍨涘畬鎴愭墭鐩樼户缁笅涓�姝�"+e);
+        }
+    }
+
+    /**
      * 鍏朵粬  ===>> 鎷嗗灈瀹屾垚缁х画涓嬩竴姝�  杩愯閫斾腑鑷姩閬胯绌烘澘
      */
     public synchronized void stackingCompletionDriveTray4() {
@@ -4340,6 +4395,7 @@
                         StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                         WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
                         if (!Cools.isEmpty(wrkMast)){
+                            Thread.sleep(100);
                             // 涓嬪彂绔欑偣淇℃伅
                             staProtocol.setWorkNo(wrkMast.getWrkNo());
                             staProtocol.setStaNo(wrkMast.getStaNo());
@@ -4377,6 +4433,7 @@
                         StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                         WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
                         if (!Cools.isEmpty(wrkMast)){
+                            Thread.sleep(100);
                             // 涓嬪彂绔欑偣淇℃伅
                             staProtocol.setWorkNo(wrkMast.getWrkNo());
                             staProtocol.setStaNo(wrkMast.getStaNo());
@@ -4546,6 +4603,7 @@
                 // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾湁鐗�//rgv鍙敤
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
+                        && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                         &&  (rgvProtocol.getLoaded2()==2  || rgvProtocol.getLoaded2()==3 ) ////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗�  锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
@@ -4672,6 +4730,7 @@
 
                 // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾棤鐗�//rgv鍙敤
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
+                        && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
                         &&  rgvProtocol.getLoaded2()==0  //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛�   锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿
                 ) {

--
Gitblit v1.9.1