From ef942fc4483059aa0526e913f9be41982df7bb79 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期二, 29 四月 2025 10:37:02 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java  |    1 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java             |   50 ++++++++++++++++++++-----
 src/main/java/com/zy/asrs/controller/TVController.java                  |    2 
 src/main/java/com/zy/common/service/CommonService.java                  |   10 ++++
 src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java         |   20 +++------
 src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java |    2 
 6 files changed, 59 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java
index d797b27..540d1d5 100644
--- a/src/main/java/com/zy/asrs/controller/TVController.java
+++ b/src/main/java/com/zy/asrs/controller/TVController.java
@@ -239,7 +239,7 @@
             dev_no2 = 1012;
         } else if (ledId == 2) {
             dev_no1 = 1013;
-            dev_no2 = 1015;
+            dev_no2 = 1014;
             dev_no3 = 1015;
         } else if (ledId == 3) {
             dev_no1 = 1021;
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 65dcae0..4df0f9f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -182,7 +182,7 @@
                     LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                     String errMsg = "";
                     if (!back && staProtocol.isBackErr()) {
-                        errMsg = "瓒呭寮傚父";
+                        errMsg = "瓒呴暱寮傚父";
                         back = true;
                     }
                     if (!back && staProtocol.isHighErr()) {
@@ -190,11 +190,7 @@
                         back = true;
                     }
                     if (!back && staProtocol.isRightErr()) {
-                        errMsg = "瓒呴暱寮傚父";
-                        back = true;
-                    }
-                    if (!back && staProtocol.isWeightErr()) {
-                        errMsg = "瓒呴噸";
+                        errMsg = "瓒呭寮傚父";
                         back = true;
                     }
                     // 閫�鍥�
@@ -405,6 +401,29 @@
                 if (wrkMast.getStaNo() == 1026) {
                     locNo = "1200305";
                 }
+                //鑾峰彇鎻愬崌鏈轰俊鎭�
+                LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, 1);
+                if (liftThread == null) {
+                    continue;
+                }
+
+                LiftProtocol liftProtocol = liftThread.getStatus();
+                if (liftProtocol == null) {
+                    continue;
+                }
+
+                if (!liftThread.isIdle()) {
+                    continue;
+                }
+
+
+                //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
+                if (liftProtocol.getHasTray()) {
+                    News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮棤鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+                    continue;
+                }
+
+
                 boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP");
                 if (!dispatchShuttle) {
                     News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
@@ -454,15 +473,19 @@
             if (wrkMast.getStaNo() == 1024) {
                 locNo = "1200305";
             }
+
             boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP");
             if (!dispatchShuttle) {
                 News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
                 continue;
             }
-
+            WrkMast wrkMast2 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
             wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts);
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
             wrkMast.setModiTime(now);
+            if (wrkMast2 != null) {
+                wrkMast.setShuttleNo(wrkMast2.getShuttleNo());
+            }
             if (!wrkMastService.updateById(wrkMast)) {
                 News.info("{}浠诲姟锛屾洿鏂板伐浣滄。澶辫触", wrkMast.getWrkNo());
             } else {
@@ -944,7 +967,7 @@
             LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led);
             String errMsg = "";
             if (!back && staProtocol.isBackErr()) {
-                errMsg = "瓒呭寮傚父";
+                errMsg = "瓒呴暱寮傚父";
                 back = true;
             }
             if (!back && staProtocol.isHighErr()) {
@@ -952,7 +975,7 @@
                 back = true;
             }
             if (!back && staProtocol.isRightErr()) {
-                errMsg = "瓒呴暱寮傚父";
+                errMsg = "瓒呭寮傚父";
                 back = true;
             }
             if (!back && staProtocol.isWeightErr()) {
@@ -968,7 +991,6 @@
                 }
             }
             String barcode = staProtocol.getBarcode();
-
 
 
             if (!staProtocol.isLoading()) {
@@ -1800,6 +1822,14 @@
         try {
             this.recShuttleErr();
             this.recLiftErr();
+            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 1);
+            ledThread.errorReset();
+            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 2);
+            ledThread.errorReset();
+            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 3);
+            ledThread.errorReset();
+            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 4);
+            ledThread.errorReset();
         } catch (Exception e) {
             News.error("recErr fail", e);
         }
diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
index fe36b16..f83dcf7 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
@@ -64,6 +64,7 @@
 
     /**
      * 浠庢病鏈夋彁鍗囨満渚у叆搴擄紝鏈変袱绉嶆儏鍐碉紝涓�绉嶅叆搴撳埌鍚屽眰锛屼竴绉嶅叆搴撳埌涓嶅悓灞傦紝鍒欓渶瑕佹彁鍗囨満
+     *
      * @param wrkMast
      */
     public void shuttleMoveExecute(WrkMast wrkMast, Integer staNo, Integer lev) {
@@ -439,14 +440,7 @@
                 return false;
             }
 
-            //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
-            if (liftWrkMast != null) {
-                if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
-                    News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
-                    return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
-                }
-            }
+
 
             if (!liftThread.isIdle()) {
                 News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -474,11 +468,11 @@
             }
 
             //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
-            WrkMast w = wrkMastService.selectLiftWrkMast(1);
-            if (w != null) {
-                if (!w.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
-                    News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鍒殑缁戝畾浠诲姟ru锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), 1);
-                    return false;
+            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
+            if (liftWrkMast != null) {
+                if (!liftWrkMast.getWrkNo().equals(wrkMast.getMainWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
+                    News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
+                    return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
                 }
             }
 
diff --git a/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java
index 7a5cb18..8b3e275 100644
--- a/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java
@@ -137,6 +137,7 @@
                 return false;
             }
 
+
             if (!liftStandByLocNo.equals(wrkMast.getSourceLocNo())) {
                 //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満浣嶈璧板懡浠�
                 List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftStandByLocNo, mapType, assignCommand, shuttleThread);
diff --git a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
index 2dd8e9c..8f1d367 100644
--- a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
@@ -558,7 +558,7 @@
 
             }
             //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満琛岃蛋鍛戒护
-            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.DFX.id, assignCommand, shuttleThread);
+            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
             if (commands == null) {
                 News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
                 return false;
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 27935c9..6807dbb 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -1,5 +1,6 @@
 package com.zy.common.service;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.param.*;
@@ -184,6 +185,10 @@
         if (!locMast.getLocSts().equals("O")) {
             throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�");
         }
+        WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo()));
+        if (wms_wrk_no!=null){
+            throw new CoolException("宸ヤ綔褰撳凡缁忓瓨鍦�");
+        }
 
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = getWorkNo(WrkIoType.IN.id);
@@ -225,7 +230,10 @@
         if (!locMast.getLocSts().equals("F")) {
             throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��");
         }
-
+        WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo()));
+        if (wms_wrk_no!=null){
+            throw new CoolException("宸ヤ綔褰撳凡缁忓瓨鍦�");
+        }
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = getWorkNo(WrkIoType.OUT.id);
         // 淇濆瓨宸ヤ綔妗�

--
Gitblit v1.9.1