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/NoLiftOutServiceImpl.java | 86 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 84 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
index ee7b7de..b3a9855 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
@@ -23,6 +23,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;
@@ -65,7 +67,7 @@
*/
public void shuttleMoveExecute(WrkMast wrkMast) {
//鍒ゆ柇鐩爣搴撲綅鏄惁鍦�1灞傛垨5灞�
- if (Utils.getLev(wrkMast.getLocNo()) == 1 || Utils.getLev(wrkMast.getLocNo()) == 5) {
+ if (Utils.getLev(wrkMast.getSourceLocNo()) == 1 || Utils.getLev(wrkMast.getSourceLocNo()) == 5) {
boolean stepMoveSta = this.shuttleMoveExecuteTransportLiftStepCallShuttle2(wrkMast);//鍛煎彨灏忚溅鑷冲彇璐х偣
if (!stepMoveSta) {
return;
@@ -136,9 +138,28 @@
return false;
}
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ if (devpThread == null) {
+ return false;
+ }
+ int lev = Utils.getLev(wrkMast.getLocNo());
+ StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025);
+ //TODO
+// if (!staProtocol2.isOutEnable()) {
+// log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
+// News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
+// return false;
+// }
+ StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026);
+ if (staProtocol.isLoading()) {
+ log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+ return false;
+ }
+
if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
//灏忚溅鍦ㄥ彇璐х偣
- wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_2.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣
+ wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_1.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣
wrkMast.setModiTime(now);
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMastService.updateById(wrkMast);
@@ -650,6 +671,25 @@
return false;//鎻愬崌鏈哄唴鏃犲皬杞�
}
+ if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(wrkMast.getLocNo())) {
+ ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
+ assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙�
+ assignCommand.setTaskMode(ShuttleTaskModeType.UPDATE_LOCATION.id);//鏇存柊鍧愭爣
+ assignCommand.setTaskNo(wrkMast.getWrkNo());//浠诲姟鍙�
+ assignCommand.setAuto(true);//鑷姩妯″紡
+ assignCommand.setSourceLocNo(shuttleProtocol.getCurrentLocNo());//婧愬簱浣�
+ assignCommand.setLocNo(wrkMast.getLocNo());//鐩爣搴撲綅
+
+ //鏇存柊灏忚溅鍧愭爣
+ ShuttleCommand command = shuttleThread.getUpdateLocationCommand(wrkMast.getWrkNo(), wrkMast.getLocNo());
+ ArrayList<ShuttleCommand> commands = new ArrayList<>();
+ commands.add(command);
+
+ assignCommand.setCommands(commands);
+ shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand);
+ return false;
+ }
+
ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙�
assignCommand.setTaskMode(ShuttleTaskModeType.MOVE_LOC_NO.id);//灏忚溅绉诲簱浠诲姟
@@ -702,6 +742,26 @@
if (shuttleProtocol == null) {
return false;
}
+
+// if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(wrkMast.getLocNo())) {
+// ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
+// assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙�
+// assignCommand.setTaskMode(ShuttleTaskModeType.UPDATE_LOCATION.id);//鏇存柊鍧愭爣
+// assignCommand.setTaskNo(wrkMast.getWrkNo());//浠诲姟鍙�
+// assignCommand.setAuto(true);//鑷姩妯″紡
+// assignCommand.setSourceLocNo(shuttleProtocol.getCurrentLocNo());//婧愬簱浣�
+// assignCommand.setLocNo(wrkMast.getLocNo());//鐩爣搴撲綅
+//
+// //鏇存柊灏忚溅鍧愭爣
+// ShuttleCommand command = shuttleThread.getUpdateLocationCommand(wrkMast.getWrkNo(), wrkMast.getLocNo());
+// ArrayList<ShuttleCommand> commands = new ArrayList<>();
+// commands.add(command);
+//
+// assignCommand.setCommands(commands);
+// shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand);
+// return false;
+// }
+
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleThread.isIdle()) {
@@ -773,6 +833,24 @@
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ if (devpThread == null) {
+ return false;
+ }
+ int lev = Utils.getLev(wrkMast.getLocNo());
+ StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025);
+ //TODO
+// if (!staProtocol2.isOutEnable()) {
+// log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
+// News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
+// return false;
+// }
+ StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026);
+ if (staProtocol.isLoading()) {
+ log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
+ return false;
+ }
if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
//灏忚溅鍦ㄥ彇璐х偣
@@ -826,6 +904,10 @@
return false;
}
+ if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
+ return false;
+ }
+
ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙�
assignCommand.setTaskMode(ShuttleTaskModeType.MOVE_LOC_NO.id);//灏忚溅绉诲簱浠诲姟
--
Gitblit v1.9.1