From 123a17c9d50745ea609f91943adca64e5ed12355 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 12 四月 2025 09:08:14 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java | 164 ++++++++++++++++++++++++++++--------------------------
1 files changed, 85 insertions(+), 79 deletions(-)
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 1d0e7f3..caa7842 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
@@ -5,7 +5,6 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.NotifyUtils;
import com.zy.asrs.utils.Utils;
-import com.zy.common.model.NavigateNode;
import com.zy.common.model.enums.NavigationMapType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.LiftUtils;
@@ -25,6 +24,8 @@
import com.zy.core.model.command.ShuttleCommand;
import com.zy.core.model.protocol.LiftProtocol;
import com.zy.core.model.protocol.ShuttleProtocol;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.thread.DevpThread;
import com.zy.core.thread.LiftThread;
import com.zy.core.thread.ShuttleThread;
import lombok.extern.slf4j.Slf4j;
@@ -128,7 +129,22 @@
if (shuttleProtocol == null) {
return false;
}
-
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ if (devpThread == null) {
+ return false;
+ }
+ StaProtocol staProtocol = devpThread.getStation().get(Utils.getLev(wrkMast.getSourceLocNo()) == 1 ? 1015 : 1026);
+ if (!staProtocol.isLoading()) {
+ log.info("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+ return false;
+ }
+ //TODO
+// if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) {
+// log.info( "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+// News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+// return false;
+// }
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleThread.isIdle()) {
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
@@ -137,7 +153,7 @@
if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
//灏忚溅鍦ㄥ彇璐х偣
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣
wrkMast.setModiTime(now);
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMastService.updateById(wrkMast);
@@ -150,7 +166,7 @@
return false;
}
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣
wrkMast.setModiTime(now);
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMastService.updateById(wrkMast);
@@ -170,7 +186,7 @@
Date now = new Date();
//灏忚溅绉诲姩鑷崇珯鐐� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 302.灏忚溅绉诲姩鑷崇珯鐐逛腑
- if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_2.sts) {
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_1.sts) {
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
if (shuttleThread == null) {
@@ -186,7 +202,9 @@
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
-
+ if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
+ return false;
+ }
//鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満
LiftThread liftThread = LiftUtils.getRecentLift(shuttleProtocol.getCurrentLocNo());
@@ -213,19 +231,25 @@
List<ShuttleCommand> commands = new ArrayList<>();
Integer mapType = NavigationMapType.NORMAL.id;
- if (!liftStandByLocNo.equals(wrkMast.getSourceLocNo())) {
- //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満浣嶈璧板懡浠�
- List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftStandByLocNo, mapType, assignCommand, shuttleThread);
- if (moveCommands == null) {
- News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
- return false;//璺緞瑙i攣澶辫触
- }
- commands.addAll(moveCommands);
+
+ //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満浣嶈璧板懡浠�
+ List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftStandByLocNo, mapType, assignCommand, shuttleThread);
+ if (moveCommands == null) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+ return false;//璺緞瑙i攣澶辫触
}
+ commands.addAll(moveCommands);
+
+ List<ShuttleCommand> liftCommand = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, true);
+ if (liftCommand == null) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇椤跺崌鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+ return false;
+ }
+ commands.addAll(0, liftCommand);
assignCommand.setCommands(commands);
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_3.sts);//灏忚溅绉诲姩鍒板緟鏈虹偣
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_3.sts);//灏忚溅绉诲姩鍒板緟鏈虹偣
wrkMast.setModiTime(now);
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
if (wrkMastService.updateById(wrkMast)) {
@@ -250,7 +274,7 @@
//--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------//
Date now = new Date();
//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞�
- if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_4.sts) {
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_4.sts) {
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
if (shuttleThread == null) {
@@ -326,16 +350,12 @@
return false;//鎻愬崌鏈哄唴鏃犲皬杞�
}
- //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
- if (!liftProtocol.getHasTray()) {
- News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮棤鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
- return false;//鎻愬崌鏈哄唴鏃犲皬杞�
- }
+
//鍒ゆ柇鎻愬崌鏈烘ゼ灞�
if (liftProtocol.getLev() == Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
//鎻愬崌鏈哄湪灏忚溅妤煎眰
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_6.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_6.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
wrkMast.setModiTime(now);
wrkMastService.updateById(wrkMast);
return false;
@@ -359,7 +379,7 @@
assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue());
assignCommand.setTaskMode(LiftCommandModeType.MOVE.id.shortValue());
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_5.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞�
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_5.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞�
wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈�
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMast.setModiTime(now);
@@ -386,7 +406,7 @@
//--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------//
Date now = new Date();
//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� ==> 灏忚溅杩佸叆鎻愬崌鏈轰腑
- if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_6.sts) {
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_6.sts) {
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
if (shuttleThread == null) {
@@ -443,11 +463,7 @@
return false;//鎻愬崌鏈哄唴鏃犲皬杞�
}
- //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
- if (!liftProtocol.getHasTray()) {
- News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮棤鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
- return false;//鎻愬崌鏈哄唴鏃犲皬杞�
- }
+
//鍒ゆ柇鎻愬崌鏈烘ゼ灞�
if (liftProtocol.getLev() != Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
@@ -471,7 +487,7 @@
assignCommand.setCommands(commands);
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_7.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� ==> 灏忚溅杩佸叆鎻愬崌鏈轰腑
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_7.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� ==> 灏忚溅杩佸叆鎻愬崌鏈轰腑
wrkMast.setModiTime(now);
if (wrkMastService.updateById(wrkMast)) {
//涓嬪彂浠诲姟
@@ -496,7 +512,7 @@
//--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------//
Date now = new Date();
//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅杩佸叆鎻愬崌鏈哄畬鎴� ==> 鎻愬崌鏈鸿嚦鏀捐揣灞�
- if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_8.sts) {
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_8.sts) {
if (wrkMast.getLiftNo() == null) {
News.info("{}浠诲姟鏈粦瀹氭彁鍗囨満", wrkMast.getWrkNo());
return false;
@@ -559,7 +575,7 @@
assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue());
assignCommand.setTaskMode(LiftCommandModeType.MOVE.id.shortValue());
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_9.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅杩佸叆鎻愬崌鏈哄畬鎴� ==> 鎻愬崌鏈鸿嚦鏀捐揣灞�
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_9.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅杩佸叆鎻愬崌鏈哄畬鎴� ==> 鎻愬崌鏈鸿嚦鏀捐揣灞�
wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈�
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMast.setModiTime(now);
@@ -586,7 +602,7 @@
//--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------//
Date now = new Date();
//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦鏀捐揣灞傚畬鎴� ==> 灏忚溅杩佸嚭鎻愬崌鏈轰腑
- if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_10.sts) {
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_10.sts) {
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
if (shuttleThread == null) {
@@ -691,15 +707,10 @@
return false;
}
- List<ShuttleCommand> liftCommand = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, true);
- if (liftCommand == null) {
- News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇椤跺崌鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
- return false;
- }
- commands.addAll(0, liftCommand);
+
assignCommand.setCommands(commands);
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_11.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦鏀捐揣灞傚畬鎴� ==> 灏忚溅杩佸嚭鎻愬崌鏈轰腑
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_11.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦鏀捐揣灞傚畬鎴� ==> 灏忚溅杩佸嚭鎻愬崌鏈轰腑
wrkMast.setModiTime(now);
if (wrkMastService.updateById(wrkMast)) {
//涓嬪彂浠诲姟
@@ -725,7 +736,7 @@
Date now = new Date();
//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 灏忚溅鏀捐揣涓�
- if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_12.sts) {
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_12.sts) {
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
if (shuttleThread == null) {
@@ -769,7 +780,7 @@
assignCommand.setCommands(commands);
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 灏忚溅鏀捐揣涓�
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 灏忚溅鏀捐揣涓�
wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMast.setModiTime(now);
@@ -792,35 +803,8 @@
Date now = new Date();
//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 309.灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 310.灏忚溅绉诲姩涓�
- if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_2.sts) {
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_1.sts) {
- List<NavigateNode> targetNodes = null;
- if (wrkMast.getLiftNo() != null) {
- //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
- WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo());
- if (liftWrkMast != null) {
- if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
- News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
- return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
- }
- }
-
- LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, wrkMast.getLiftNo());
- if (liftThread == null) {
- News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満绾跨▼涓嶅瓨鍦紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
- return false;
- }
-
- //灏忚溅鐩爣灏辨槸鎻愬崌鏈轰綅缃紝鐩存帴璁ゅ畾灏忚溅绉诲姩浠诲姟瀹屾垚
- if (liftThread.getLiftLocNo(Utils.getLev(wrkMast.getLocNo())).equals(wrkMast.getLocNo())) {
- wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);//311.灏忚溅绉诲姩瀹屾垚
- wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
- wrkMast.setModiTime(now);
- wrkMastService.updateById(wrkMast);
- return false;
- }
-
- }
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
@@ -837,13 +821,24 @@
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ if (devpThread == null) {
+ return false;
+ }
+ StaProtocol staProtocol = devpThread.getStation().get(Utils.getLev(wrkMast.getSourceLocNo()) == 1 ? 1015 : 1026);
+ if (!staProtocol.isLoading()) {
+ log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+ return false;
+ }
+ //TODO
+// if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) {
+// log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+// News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+// return false;
+// }
- //灏忚溅宸茬粡鍦ㄧ洰鏍囧簱浣嶏紝鐩存帴璁ゅ畾灏忚溅绉诲姩浠诲姟瀹屾垚
- if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getLocNo())) {
- wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);//311.灏忚溅绉诲姩瀹屾垚
- wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
- wrkMast.setModiTime(now);
- wrkMastService.updateById(wrkMast);
+ if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
return false;
}
@@ -856,7 +851,6 @@
assignCommand.setLocNo(wrkMast.getLocNo());//鐩爣搴撲綅
List<ShuttleCommand> commands = new ArrayList<>();
- List<ShuttleCommand> liftCommand = null;
Integer mapType = NavigationMapType.NORMAL.id;
List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), wrkMast.getLocNo(), mapType, assignCommand, shuttleThread);
@@ -867,10 +861,22 @@
commands.addAll(moveCommands);
+ List<ShuttleCommand> liftCommand = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, true);
+ if (liftCommand == null) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇椤跺崌鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+ return false;
+ }
+ commands.addAll(0, liftCommand);
+
+ List<ShuttleCommand> liftCommandDown = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, false);
+ if (liftCommandDown == null) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇涓嬮檷鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+ return false;
+ }
+ commands.addAll(liftCommandDown);
assignCommand.setCommands(commands);
- wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑
- wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMast.setModiTime(now);
--
Gitblit v1.9.1