From ea9b2ddb6c523088b4800337478ffa0bac880766 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 26 十月 2023 15:50:03 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 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 e70ce0f..e6dcfca 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -863,6 +863,12 @@
                 return false;//鍑哄簱绔欑偣涓嶅彲鍑�
             }
 
+            Integer liftNo = basDevp.getLiftNo();//鎼滅储鍑哄簱鎻愬崌鏈烘槸鍚﹀瓨鍦ㄥ叆搴撲换鍔★紝濡傚瓨鍦ㄧ姝㈠嚭搴�
+            List<WrkMast> liftWrkMasts = wrkMastMapper.selectInWrkMastByLiftNo(liftNo);
+            if (!liftWrkMasts.isEmpty()) {
+                return false;//瀛樺湪鍏ュ簱浠诲姟锛岀姝㈠嚭搴�
+            }
+
             //鑾峰彇婧愮珯
             LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(basDevp.getLiftNo(), Utils.getLev(wrkMast.getSourceLocNo()));
             if (liftStaProtocol == null) {
@@ -1107,6 +1113,18 @@
 
             if (!sourceBasDevp.getInEnable().equals("Y")) {
                 return false;//绔欑偣涓嶅彲鍏�
+            }
+
+            //鍒ゆ柇鎻愬崌鏈烘暣涓笁妤兼槸鍚﹂兘澶勪簬鍏ュ簱妯″紡
+            Integer outInModel1 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 1);
+            Integer outInModel2 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 5);
+            Integer outInModel3 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 8);
+            if (outInModel1 == null || outInModel2 == null || outInModel3 == null) {
+                return false;//涓嶅瓨鍦ㄥ嚭鍏ュ簱妯″紡
+            }
+
+            if (outInModel1 == 2 || outInModel2 == 2 && outInModel3 == 2) {
+                return false;//鍙鏈変竴涓浜庡嚭搴撴ā寮忥紝绂佹鍏ュ簱
             }
 
             LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, sourceBasDevp.getLiftNo());
@@ -3078,18 +3096,6 @@
                 return false;//娌℃湁璁剧疆鎻愬崌鏈虹偣浣嶅潗鏍�
             }
 
-            //*************灏濊瘯瑙i攣鐩爣绔欒矾寰�***************
-            List<NavigateNode> targetNodes = NyLiftUtils.getLiftStaNodes(liftSta.getStaNo());
-            if (targetNodes == null) {
-                return false;//鏈幏鍙栧埌鑺傜偣
-            }
-            //灏濊瘯瑙i攣鐩爣绔欒矾寰�
-            boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, false);//鎵�浣跨敤鐨勮矾寰勮繘琛岃В閿�
-            if (!result) {
-                return false;//璺緞瑙i攣澶辫触
-            }
-            //*************灏濊瘯瑙i攣鐩爣绔欒矾寰�***************
-
             NavigateNode liftNode = new NavigateNode(basLift.getPoint$().getX(), basLift.getPoint$().getY());
             liftNode.setZ(liftSta.getLev());
 
@@ -3154,6 +3160,27 @@
                 return false;
             }
 
+            //璺ㄦゼ灞傜Щ鍔ㄤ换鍔�
+            if (Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(wrkMast.getLocNo())) {
+                //鑾峰彇鐩爣绔�
+                LiftStaProtocol liftSta = NyLiftUtils.getLiftStaByStaNo(wrkMast.getStaNo());
+                if (liftSta == null) {
+                    return false;//鎵句笉鍒扮珯鐐�
+                }
+
+                //*************灏濊瘯瑙i攣鐩爣绔欒矾寰�***************
+                List<NavigateNode> targetNodes = NyLiftUtils.getLiftStaNodes(liftSta.getStaNo());
+                if (targetNodes == null) {
+                    return false;//鏈幏鍙栧埌鑺傜偣
+                }
+                //灏濊瘯瑙i攣鐩爣绔欒矾寰�
+                boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, false);//鎵�浣跨敤鐨勮矾寰勮繘琛岃В閿�
+                if (!result) {
+                    return false;//璺緞瑙i攣澶辫触
+                }
+                //*************灏濊瘯瑙i攣鐩爣绔欒矾寰�***************
+            }
+
 //            //鑾峰彇鐩爣绔欏搴旂殑杈撻�佺珯鐐�
 //            BasDevp targetBasDevp = basDevpService.selectByLevAndLiftNo(Utils.getLev(wrkMast.getLocNo()), wrkMast.getLiftNo());
 //            if (targetBasDevp == null) {

--
Gitblit v1.9.1