From f0b0f5d954d54840d62135a4a88db94797898967 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 16 十月 2024 13:45:41 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java | 36 +++++++----
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java | 98 +++++++++++++++-----------------
2 files changed, 67 insertions(+), 67 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
index 730dcd8..61cd617 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -36,6 +36,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.Optional;
@Component
public class ShuttleAction {
@@ -131,6 +132,27 @@
ShuttleAssignCommand assignCommand = redisCommand.getAssignCommand();
int commandStep = redisCommand.getCommandStep();
+
+ Integer mode = -1;
+ if(commandStep < commands.size()) {
+ //鍙栧嚭鍛戒护
+ ShuttleCommand currentCommand = commands.get(commandStep);
+ mode = currentCommand.getMode();
+ }
+
+ //鍒ゆ柇璁惧鏄惁绌洪棽
+ Integer finalMode = mode;
+ if (!shuttleThread.isDeviceIdle(new ExecuteSupport() {
+ @Override
+ public Boolean judgement() {
+ if (ShuttleCommandModeType.CHARGE_CLOSE.id.equals(finalMode)) {//鍏抽棴鍏呯數motion
+ return false;//涓嶉渶瑕佸垽鏂姸鎬�
+ }
+ return true;//闇�瑕佸垽鏂姸鎬�
+ }
+ })) {
+ return false;
+ }
// 瀹岀粨涓婁竴鏉″懡浠�
boolean updateCommand = false;
@@ -236,20 +258,6 @@
//鍙栧嚭鍛戒护
ShuttleCommand command = commands.get(commandStep);
-
- Integer mode = command.getMode();
- //鍒ゆ柇璁惧鏄惁绌洪棽
- if (!shuttleThread.isDeviceIdle(new ExecuteSupport() {
- @Override
- public Boolean judgement() {
- if (ShuttleCommandModeType.CHARGE_CLOSE.id.equals(mode)) {//鍏抽棴鍏呯數motion
- return false;//涓嶉渶瑕佸垽鏂姸鎬�
- }
- return true;//闇�瑕佸垽鏂姸鎬�
- }
- })) {
- return false;
- }
// 涓嬪彂鍛戒护
if (!write(command, device)) {
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java
index 09c3188..2100d40 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java
@@ -280,63 +280,55 @@
lists.add(list);
}
- //鑾峰彇涓ユ牸妯″紡鍙傛暟
- boolean mapStrict = true;//榛樿涓ユ牸妯″紡
- Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict"));
- if (dict != null) {
- mapStrict = Boolean.parseBoolean(dict.getValue());
- }
+ //杩囨护鏁版嵁
+ //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
+ List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getLev, lev)
+ .eq(Loc::getStatus, 1)
+ .orderByAsc(Loc::getRow, Loc::getBay));
+ for (Loc loc : locs) {
+ Integer row = loc.getRow();
+ Integer bay = loc.getBay();
- if (mapStrict) {//涓ユ牸妯″紡涓嬶紝杞藉叆搴撲綅鐘舵��
- //杩囨护鏁版嵁
- //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
- List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>()
- .eq(Loc::getLev, lev)
- .orderByAsc(Loc::getRow, Loc::getBay));
- for (Loc loc : locs) {
- Integer row = loc.getRow();
- Integer bay = loc.getBay();
-
- boolean whiteFlag = false;//榛樿涓嶅瓨鍦ㄧ櫧鍚嶅崟
- if (whitePoints != null) {
- for (int[] whitePoint : whitePoints) {
- if (whitePoint[0] == row && whitePoint[1] == bay) {
- //瀛樺湪鐧藉悕鍗�
- whiteFlag = true;
- break;
- }
+ boolean whiteFlag = false;//榛樿涓嶅瓨鍦ㄧ櫧鍚嶅崟
+ if (whitePoints != null) {
+ for (int[] whitePoint : whitePoints) {
+ if (whitePoint[0] == row && whitePoint[1] == bay) {
+ //瀛樺湪鐧藉悕鍗�
+ whiteFlag = true;
+ break;
}
}
- if (whiteFlag) {
- continue;//瀛樺湪鐧藉悕鍗曪紝涓嶆墽琛屼笅鍒楄繃婊ゆ柟妗�
- }
-
-
- List<MapNode> list = lists.get(row);
- MapNode mapNode = list.get(bay);
-
- if (mapType == NavigationMapType.NONE.id) {
- //涓嶈繃婊や换浣曟暟鎹�
- } else if (mapType == NavigationMapType.DFX.id) {
- //杞﹁締鏈夎揣
- //璇诲彇瀵瑰簲搴撲綅鏁版嵁锛屽皢DFX搴撲綅鐘舵�佺殑鑺傜偣缃负-1(闅滅鐗�)
- if (loc.getLocSts$().equals("F")
- || loc.getLocSts$().equals("D")
- || loc.getLocSts$().equals("X")
- ) {
- mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣
- }
- } else if (mapType == NavigationMapType.NORMAL.id) {
- //杩囨护搴撲綅鐘舵�乆
- if (loc.getLocSts$().equals("X")) {
- mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣
- }
- }
-
- //鏇存柊list
- list.set(bay, mapNode);
- lists.set(row, list);
}
+ if (whiteFlag) {
+ continue;//瀛樺湪鐧藉悕鍗曪紝涓嶆墽琛屼笅鍒楄繃婊ゆ柟妗�
+ }
+
+
+ List<MapNode> list = lists.get(row);
+ MapNode mapNode = list.get(bay);
+
+ if (mapType == NavigationMapType.NONE.id) {
+ //涓嶈繃婊や换浣曟暟鎹�
+ } else if (mapType == NavigationMapType.DFX.id) {
+ //杞﹁締鏈夎揣
+ //璇诲彇瀵瑰簲搴撲綅鏁版嵁锛屽皢DFX搴撲綅鐘舵�佺殑鑺傜偣缃负-1(闅滅鐗�)
+ if (loc.getLocStsFlag().equals("F")
+ || loc.getLocStsFlag().equals("D")
+ || loc.getLocStsFlag().equals("X")
+ ) {
+ mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣
+ }
+ } else if (mapType == NavigationMapType.NORMAL.id) {
+ //杩囨护搴撲綅鐘舵�乆
+ if (loc.getLocStsFlag().equals("X")) {
+ mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣
+ }
+ }
+
+ //鏇存柊list
+ list.set(bay, mapNode);
+ lists.set(row, list);
}
//鍔犺浇杞﹁締鍧愭爣鍒板湴鍥句腑
--
Gitblit v1.9.1