From d6335a2f0540388ab1844fc42d1f770b26c85b6f Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 01 八月 2023 13:27:11 +0800
Subject: [PATCH] 将行走节点添加到每一步移动命令中
---
src/main/java/com/zy/asrs/utils/Utils.java | 27 ++++++++++++++++++---------
1 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 89e907d..041ec0a 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -9,6 +9,7 @@
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.common.model.NavigateNode;
import com.zy.common.model.enums.NavigationMapType;
+import com.zy.common.service.CommonService;
import com.zy.common.utils.NavigateMapData;
import com.zy.common.utils.NavigatePositionConvert;
import com.zy.common.utils.NavigateUtils;
@@ -22,8 +23,10 @@
import com.zy.core.model.Task;
import com.zy.core.model.command.ShuttleAssignCommand;
import com.zy.core.model.command.ShuttleCommand;
+import com.zy.core.model.protocol.NyShuttleProtocol;
import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.NyShuttleThread;
import com.zy.core.thread.ShuttleThread;
import java.text.DecimalFormat;
@@ -419,24 +422,24 @@
}
//鑾峰彇绌挎杞︽墍鍦ㄨ妭鐐逛綅缃�
- ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
+ NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
if (shuttleThread == null) {
continue;
}
- ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+ NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
if (shuttleProtocol == null) {
continue;
}
- if (shuttleProtocol.getLocNo() == null) {
+ if (shuttleProtocol.getCurrentLocNo() == null) {
continue;
}
- if (lev != Utils.getLev(shuttleProtocol.getLocNo())) {
+ if (lev != Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
continue;//妤煎眰涓嶅悓
}
- int[] xyPosition = NavigatePositionConvert.positionToXY(shuttleProtocol.getLocNo());//閫氳繃搴撲綅鍙疯幏鍙杧y鍧愭爣
+ int[] xyPosition = NavigatePositionConvert.positionToXY(shuttleProtocol.getCurrentLocNo());//閫氳繃搴撲綅鍙疯幏鍙杧y鍧愭爣
list.add(xyPosition);
}
return list;
@@ -444,7 +447,7 @@
//妫�娴嬬┛姊溅琛岃蛋璺緞锛屾槸鍚﹀瓨鍦ㄥ叾浠栧皬杞︼紝濡傛湁鍏朵粬灏忚溅鍒欒繘琛岃皟绂�
public static boolean checkShuttlePath(List<NavigateNode> nodes, Integer shuttleId) {
- boolean flag = false;
+ boolean flag = false;
int shuttleX = -1;
int shuttleY = -1;
int shuttleZ = -1;
@@ -505,6 +508,11 @@
return false;
}
+ ShuttleProtocol shuttleProtocol = currentShuttleThread.getShuttleProtocol();
+ if (!shuttleProtocol.isIdle()) {
+ return false;//琚皟搴︾殑灏忚溅澶勪簬宸ヤ綔鐘舵�侊紝绂佹瑙﹀彂閬胯浠诲姟
+ }
+
//鎼滅储涓�鏉℃病鏈夊皬杞︾殑绌哄贩閬擄紝骞惰皟搴﹀皬杞�
ShuttleAssignCommand assignCommand = Utils.searchEmptyGroupToMoveShuttle(shuttleZ, shuttleId, currentShuttleThread, null);//shuttleId鎼滅储鏃堕渶瑕佹帓闄ょ殑杞﹁締id锛宑urrentShuttleThread鏄渶瑕佽璋冨害鐨勮溅杈嗙嚎绋�
@@ -525,6 +533,7 @@
public static ShuttleAssignCommand searchEmptyGroupToMoveShuttle(int z, Integer currentShuttleId, ShuttleThread shuttleThread, String startLocNo) {
LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
MainServiceImpl mainServiceImpl = SpringUtils.getBean(MainServiceImpl.class);
+ CommonService commonService = SpringUtils.getBean(CommonService.class);
if (shuttleThread == null) {
return null;
@@ -579,8 +588,8 @@
//鍒涘缓鍒嗛厤鍛戒护
ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo());//鍥涘悜绌挎杞﹀彿
- assignCommand.setTaskNo((short) 9998);//浠诲姟鍙�
- assignCommand.setTaskMode(ShuttleTaskModeType.MOVE_LOC_NO.id.shortValue());//绉诲姩鍒扮洰鏍囧簱浣�
+ assignCommand.setTaskNo((short) commonService.getWorkNo(7));//浠诲姟鍙�
+ assignCommand.setTaskMode(ShuttleTaskModeType.AVOID.id.shortValue());//閬胯浠诲姟
assignCommand.setSourceLocNo(startLocNo);//婧愬簱浣�
//鍒嗛厤鐩爣搴撲綅
@@ -594,7 +603,7 @@
return null;
}
- assignCommand.setCommands(commands);
+// assignCommand.setCommands(commands);
return assignCommand;
}
return null;
--
Gitblit v1.9.1