From e62c1e7ff1fa9623ac3f8e6aa35ad44b725a21ed Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 10 七月 2024 17:52:40 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java | 7 ++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/MapNodeType.java | 49 ++++++++++++++++++++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java | 3 +
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java | 15 ++++++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java | 15 ++++---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateUtils.java | 3 +
zy-asrs-flow/src/pages/map/components/configSettings.jsx | 12 ++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java | 11 +++--
8 files changed, 96 insertions(+), 19 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/components/configSettings.jsx b/zy-asrs-flow/src/pages/map/components/configSettings.jsx
index 32e5015..46d132c 100644
--- a/zy-asrs-flow/src/pages/map/components/configSettings.jsx
+++ b/zy-asrs-flow/src/pages/map/components/configSettings.jsx
@@ -110,6 +110,7 @@
message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '鎿嶄綔鎴愬姛' }));
}
+ console.log(values);
props.onSubmit({ ...values }, confirmSettings);
}
@@ -280,6 +281,17 @@
}}
/>
</Form.Item>
+ <Form.Item
+ name='conveyorHasGo'
+ label={intl.formatMessage({ id: 'map.settings.conveyor.hasGo', defaultMessage: '灏忚溅鍙蛋' })}
+ valuePropName="checked"
+ >
+ <Checkbox
+ style={{
+ width: '50%',
+ }}
+ />
+ </Form.Item>
</>
)}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java
index 5b85e2a..c3125f1 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java
@@ -13,8 +13,9 @@
* -1 绂佺敤
* 0 瀛愯建閬�
* 3 姣嶈建閬�
- * 4 鍏呯數妗�
+ * 4 杈撻�佺珯鐐�
* 5 鍏呯數妗�
+ * 6 灏忚溅鍙蛋杈撻�佺珯鐐�
* 66 绌挎杞﹀潗鏍�
* 67 鎻愬崌鏈哄潗鏍�
* -999 閿佸畾鑺傜偣
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/MapNodeType.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/MapNodeType.java
new file mode 100644
index 0000000..45615c9
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/MapNodeType.java
@@ -0,0 +1,49 @@
+package com.zy.asrs.wcs.core.model.enums;
+
+public enum MapNodeType {
+
+ DISABLE(-1, "绂佺敤"),
+ NORMAL_PATH(0, "璐т綅"),
+ START_POINT(1, "璧风偣"),
+ TARGET_POINT(2, "缁堢偣"),
+ MAIN_PATH(3, "姣嶈建"),
+ CONVEYOR(4, "杈撻�佺珯鐐�"),
+ CHARGE(5, "鍏呯數妗�"),
+ CONVEYOR_CAR_GO(6, "灏忚溅鍙蛋杈撻�佺珯鐐�"),
+ CAR(66, "灏忚溅"),
+ LIFT(67, "鎻愬崌鏈�"),
+ LOCK(-999, "閿佸畾鑺傜偣"),
+ ;
+
+ public Integer id;
+ public String desc;
+
+ MapNodeType(Integer id, String desc) {
+ this.id = id;
+ this.desc = desc;
+ }
+
+ public static MapNodeType get(Short id) {
+ if (null == id) {
+ return null;
+ }
+ for (MapNodeType type : MapNodeType.values()) {
+ if (type.id.equals(id.intValue())) {
+ return type;
+ }
+ }
+ return null;
+ }
+
+ public static MapNodeType get(MapNodeType type) {
+ if (null == type) {
+ return null;
+ }
+ for (MapNodeType type1 : MapNodeType.values()) {
+ if (type1 == type) {
+ return type1;
+ }
+ }
+ return null;
+ }
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
index c2592f2..b84fccf 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -306,6 +306,17 @@
mapNode.setNo(object.getString("row") + "-" + object.getString("bay"));
mapNode.setXBase(object.getInteger("refx"));
mapNode.setYBase(object.getInteger("refy"));
+
+ if(mapNode.getValue() == MapNodeType.CONVEYOR.id) {
+ //杈撻�佺嚎,鍒ゆ柇灏忚溅鏄惁鍙蛋
+ if (object.containsKey("conveyorHasGo")) {
+ if(object.getBoolean("conveyorHasGo")) {
+ //灏忚溅鍙蛋
+ mapNode.setValue(MapNodeType.CONVEYOR_CAR_GO.id);
+ }
+ }
+ }
+
nodes.add(mapNode);
}
@@ -328,7 +339,7 @@
//瀛樺湪绌虹己鑺傜偣锛岃嚜鍔ㄨˉ瓒�
for (int i = defaultBay; i < node.getBay(); i++) {
MapNode mapNode = new MapNode();
- mapNode.setValue(-1);
+ mapNode.setValue(MapNodeType.DISABLE.id);
mapNode.setTop(1000);
mapNode.setBottom(1000);
mapNode.setLeft(1000);
@@ -355,7 +366,7 @@
ArrayList<ArrayList<MapNode>> lists = entry.getValue();//鑾峰彇鍦板浘
MapNode mapNode = new MapNode();
- mapNode.setValue(-1);
+ mapNode.setValue(MapNodeType.DISABLE.id);
mapNode.setTop(1000);
mapNode.setBottom(1000);
mapNode.setLeft(1000);
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 bc5372f..d27a157 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
@@ -9,6 +9,7 @@
import com.zy.asrs.wcs.core.domain.dto.RedisMapDto;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.model.MapNode;
+import com.zy.asrs.wcs.core.model.enums.MapNodeType;
import com.zy.asrs.wcs.core.model.enums.NavigationMapType;
import com.zy.asrs.wcs.core.service.LocService;
import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
@@ -157,7 +158,7 @@
//瀛樺湪绌虹己鑺傜偣锛岃嚜鍔ㄨˉ瓒�
for (int i = defaultBay; i < node.getBay(); i++) {
MapNode mapNode = new MapNode();
- mapNode.setValue(-1);
+ mapNode.setValue(MapNodeType.DISABLE.id);
mapNode.setTop(1000);
mapNode.setBottom(1000);
mapNode.setLeft(1000);
@@ -184,7 +185,7 @@
ArrayList<ArrayList<MapNode>> lists = entry.getValue();//鑾峰彇鍦板浘
MapNode mapNode = new MapNode();
- mapNode.setValue(-1);
+ mapNode.setValue(MapNodeType.DISABLE.id);
mapNode.setTop(1000);
mapNode.setBottom(1000);
mapNode.setLeft(1000);
@@ -312,12 +313,12 @@
|| loc.getLocSts$().equals("D")
|| loc.getLocSts$().equals("X")
) {
- mapNode.setValue(-1);//绂佺敤鑺傜偣
+ mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣
}
} else if (mapType == NavigationMapType.NORMAL.id) {
//杩囨护搴撲綅鐘舵�乆
if (loc.getLocSts$().equals("X")) {
- mapNode.setValue(-1);//绂佺敤鑺傜偣
+ mapNode.setValue(MapNodeType.DISABLE.id);//绂佺敤鑺傜偣
}
}
@@ -334,7 +335,7 @@
int y = points[1];
List<MapNode> list = lists.get(x);
MapNode mapNode = list.get(y);
- mapNode.setValue(66);//璁剧疆涓鸿溅杈嗕唬鐮�66
+ mapNode.setValue(MapNodeType.CAR.id);//璁剧疆涓鸿溅杈嗕唬鐮�66
//鏇存柊list
list.set(y, mapNode);
lists.set(x, list);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
index 6c72996..fb4052f 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
@@ -8,6 +8,7 @@
import com.zy.asrs.wcs.core.domain.dto.RedisMapDto;
import com.zy.asrs.wcs.core.model.MapNode;
import com.zy.asrs.wcs.core.model.NavigateNode;
+import com.zy.asrs.wcs.core.model.enums.MapNodeType;
import com.zy.asrs.wcs.core.model.enums.NavigationMapType;
import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
import org.springframework.beans.factory.annotation.Autowired;
@@ -57,10 +58,10 @@
for (NavigateNode node : nodes) {
List<MapNode> listX = listsHasShuttle.get(node.getX());
MapNode mapNode = listX.get(node.getY());
- if (mapNode.getValue() == -999) {
+ if (mapNode.getValue() == MapNodeType.LOCK.id) {
return false;//璺緞琚攣瀹氳繃锛岀姝㈠啀娆¢攣瀹�
}
- if (mapNode.getValue() == 66) {
+ if (mapNode.getValue() == MapNodeType.CAR.id) {
return false;//璺緞瀛樺湪灏忚溅锛岀姝㈤攣瀹�
}
}
@@ -77,7 +78,7 @@
List<MapNode> listX = lists.get(node.getX());
MapNode mapNode = listX.get(node.getY());
if (lock) {
- mapNode.setValue(-999);//绂佺敤搴撲綅
+ mapNode.setValue(MapNodeType.LOCK.id);//绂佺敤搴撲綅
} else {
//鑾峰彇鍘熷鑺傜偣鏁版嵁
List<MapNode> rows = realMap.get(node.getX());
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java
index 4cbfc4a..7ae2a85 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateSolution.java
@@ -4,6 +4,7 @@
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wcs.core.model.NavigateNode;
+import com.zy.asrs.wcs.core.model.enums.MapNodeType;
import com.zy.asrs.wcs.system.entity.Dict;
import com.zy.asrs.wcs.system.service.DictService;
@@ -17,7 +18,7 @@
*/
public class NavigateSolution {
- // -1 -> 澧欏锛� 0 -> 璐т綅锛� 1 -> 璧风偣 2 -> 缁堢偣 3-> 姣嶈建 4->杈撻�佺珯鐐� 5->鍏呯數妗� 66->灏忚溅 67->鎻愬崌鏈�
+ // -1 -> 澧欏锛� 0 -> 璐т綅锛� 1 -> 璧风偣 2 -> 缁堢偣 3-> 姣嶈建 4->杈撻�佺珯鐐� 5->鍏呯數妗� 6->灏忚溅鍙蛋杈撻�佺珯鐐� 66->灏忚溅 67->鎻愬崌鏈�
int[][] map = {{}};
@@ -138,7 +139,7 @@
// }
if (mapDirection.equals("x")) {//姣嶈建x鏂瑰悜
- if (map[x][y] == 3) {
+ if (map[x][y] == MapNodeType.MAIN_PATH.id) {
//姣嶈建鎵嶈兘杩涜涓婁笅绉诲姩
if (is_valid(x + 1, y))
{
@@ -152,8 +153,8 @@
}
}
- if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5 || map[x][y] == 67) {
- //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜宸﹀彸绉诲姩
+ if (map[x][y] == MapNodeType.NORMAL_PATH.id || map[x][y] == MapNodeType.MAIN_PATH.id || map[x][y] == MapNodeType.CONVEYOR_CAR_GO.id || map[x][y] == MapNodeType.CHARGE.id || map[x][y] == MapNodeType.LIFT.id) {
+ //瀛愯建鍜屾瘝杞ㄣ�佸皬杞﹀彲璧拌緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜宸﹀彸绉诲姩
if (is_valid(x, y + 1))
{
NavigateNode node = new NavigateNode(x, y + 1);
@@ -166,7 +167,7 @@
}
}
}else if (mapDirection.equals("y")) {//姣嶈建y鏂瑰悜
- if (map[x][y] == 3) {
+ if (map[x][y] == MapNodeType.MAIN_PATH.id) {
//姣嶈建鎵嶈兘杩涜宸﹀彸绉诲姩
if (is_valid(x, y + 1))
{
@@ -180,8 +181,8 @@
}
}
- if (map[x][y] == 0 || map[x][y] == 3 || map[x][y] == 4 || map[x][y] == 5 || map[x][y] == 67) {
- //瀛愯建鍜屾瘝杞ㄣ�佽緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜涓婁笅绉诲姩
+ if (map[x][y] == MapNodeType.NORMAL_PATH.id || map[x][y] == MapNodeType.MAIN_PATH.id || map[x][y] == MapNodeType.CONVEYOR_CAR_GO.id || map[x][y] == MapNodeType.CHARGE.id || map[x][y] == MapNodeType.LIFT.id) {
+ //瀛愯建鍜屾瘝杞ㄣ�佸皬杞﹀彲璧拌緭閫佺嚎銆佸厖鐢垫々銆佹彁鍗囨満鎵嶈兘杩涜涓婁笅绉诲姩
if (is_valid(x + 1, y))
{
NavigateNode node = new NavigateNode(x + 1, y);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateUtils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateUtils.java
index 1f21489..6792085 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateUtils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateUtils.java
@@ -3,6 +3,7 @@
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.wcs.core.model.MapNode;
import com.zy.asrs.wcs.core.model.NavigateNode;
+import com.zy.asrs.wcs.core.model.enums.MapNodeType;
import com.zy.asrs.wcs.core.model.enums.NavigationMapType;
import java.util.ArrayList;
@@ -254,7 +255,7 @@
int[][] map = solution.map;
for (NavigateNode node : path) {
int value = map[node.getX()][node.getY()];
- if (value != 0 && value != 3 && value != 5) {//姣嶈建閬�3銆佸瓙杞ㄩ亾0銆佸厖鐢垫々5
+ if (value != MapNodeType.NORMAL_PATH.id && value != MapNodeType.MAIN_PATH.id && value != MapNodeType.CHARGE.id && value != MapNodeType.CONVEYOR_CAR_GO.id) {//姣嶈建閬�3銆佸瓙杞ㄩ亾0銆佸厖鐢垫々5銆佸皬杞﹀彲璧拌緭閫佺珯
return false;
}
}
--
Gitblit v1.9.1