From c2b0be1a368a88e4adb6dda12d0aa5d3bb0df838 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 27 六月 2023 16:50:50 +0800
Subject: [PATCH] 搜索最近穿梭车,提升机完成方法
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 43 ++++++++++++++++++++++++++++++-------------
1 files changed, 30 insertions(+), 13 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 33c6fd8..cfede0a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1216,6 +1216,16 @@
ArrayList<ShuttleThread> sameLev = new ArrayList<>();//鐩稿悓妤煎眰鐨勭┛姊溅
ArrayList<ShuttleThread> diffLev = new ArrayList<>();//涓嶅悓妤煎眰鐨勭┛姊溅
+ //鍒ゆ柇鍏朵粬绌洪棽绌挎杞︽槸鍚︾浠诲姟鏈�杩�
+ String distLocNo = null;//鐩爣鍦扮偣锛屽叆搴�=銆嬫彁鍗囨満鍙o紝鍑哄簱=銆嬭揣鐗╁簱浣嶅彿
+ if (wrkMast.getIoType() < 101) {
+ //鍏ュ簱
+ distLocNo = Utils.levToOutInStaLocNo(lev);
+ }else {
+ //鍑哄簱
+ distLocNo = locNo;
+ }
+
for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId());
@@ -1231,6 +1241,14 @@
if (shuttleLocNo == null) {
continue;
}
+
+ if (shuttleLocNo.equals(distLocNo)) {
+ //杞﹁締褰撳墠浣嶇疆宸茬粡鏄洰鏍囧簱浣嶏紝鏃犻渶璁$畻
+ map.put("sameLay", true);//鍚屽眰
+ map.put("result", shuttleThread);
+ return map;
+ }
+
int shuttleLocNoLey = Utils.getLev(shuttleLocNo);//搴撲綅鍙峰搴斿眰楂�
if (lev == shuttleLocNoLey) {
//宸ヤ綔妗fゼ灞傜浉鍚岀殑绌挎杞�
@@ -1248,16 +1266,6 @@
for (ShuttleThread shuttleThread : sameLev) {
if (recentShuttle == null) {//鏈�杩戠┛姊溅涓虹┖锛屽垯榛樿璧嬩簣涓烘渶杩戠┛姊溅
recentShuttle = shuttleThread;
- }
-
- //鍒ゆ柇鍏朵粬绌洪棽绌挎杞︽槸鍚︾浠诲姟鏈�杩�
- String distLocNo = null;//鐩爣鍦扮偣锛屽叆搴�=銆嬫彁鍗囨満鍙o紝鍑哄簱=銆嬭揣鐗╁簱浣嶅彿
- if (wrkMast.getIoType() < 101) {
- //鍏ュ簱
- distLocNo = Utils.levToOutInStaLocNo(lev);
- }else {
- //鍑哄簱
- distLocNo = locNo;
}
//褰撳墠绌挎杞﹀簱浣嶅彿
@@ -1715,15 +1723,15 @@
//鍒ゆ柇鎻愬崌鏈烘槸鍚﹀埌杈句换鍔℃ゼ灞�
String locNo = wrkMast.getIoType() < 101 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo();
int lev = Utils.getLev(locNo);//浠诲姟鐩爣妤煎眰
- if (liftProtocol.getLev().intValue() != lev) {
- continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍�
- }
//鏍囪澶嶄綅
liftProtocol.setPakMk(true);
switch (wrkMast.getWrkSts().intValue()) {
case 3://3.鎻愬崌鏈烘惉杩愪腑 ==> 4.鎻愬崌鏈烘惉杩愬畬鎴�
+ if (liftProtocol.getLev().intValue() != lev) {
+ continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍�
+ }
//缁欑洰鏍囩珯璁剧疆宸ヤ綔鍙�
StaProtocol staProtocol = devpThread.getStation().get(wrkMast.getStaNo());//鐩爣绔�
staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
@@ -1737,12 +1745,21 @@
wrkMast.setWrkSts(4L);
break;
case 7://7.鎻愬崌鏈鸿縼绉诲皬杞︿腑 ==> 8.鎻愬崌鏈鸿縼绉诲皬杞﹀畬鎴�
+ if (liftProtocol.getLev().intValue() != lev) {
+ continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍�
+ }
wrkMast.setWrkSts(8L);
break;
case 24://24.鎻愬崌鏈鸿縼绉诲皬杞︿腑 ==> 25.鎻愬崌鏈鸿縼绉诲皬杞﹀畬鎴�
+ if (liftProtocol.getLev().intValue() != lev) {
+ continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍�
+ }
wrkMast.setWrkSts(25L);
break;
case 28://28.鎻愬崌鏈烘惉杩愪腑 ==> 29.鎻愬崌鏈烘惉杩愬畬鎴�
+ if (liftProtocol.getPositionArrivalFeedback().intValue() != 2) {
+ continue;//鎻愬崌鏈烘槸鍚﹁揪鍒拌緭閫佺嚎妤煎眰
+ }
wrkMast.setWrkSts(29L);
wrkMast.setWrkSts(34L);//34.鍑哄簱瀹屾垚锛屾殏鏃跺厛鐩存帴瀹屾垚鍑哄簱宸ヤ綔妗o紝鍚庣画闇�瑕佹牴鎹緭閫佺嚎缁欏嚭鐨勭姸鎬佹潵纭畾34.鍑哄簱瀹屾垚鐘舵��
//浠诲姟鍙锋竻闆�
--
Gitblit v1.9.1