From b82892d4b6d7ddd51d550871223036e993f76cf6 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 02 八月 2023 14:32:50 +0800
Subject: [PATCH] 提升机、穿梭车独占令牌页面显示与控制
---
src/main/java/com/zy/common/utils/NavigateUtils.java | 25 ++++++++++++++++++++++---
1 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java
index 846f8b4..e0a730d 100644
--- a/src/main/java/com/zy/common/utils/NavigateUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateUtils.java
@@ -222,9 +222,9 @@
/**
* 鑾峰彇涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
*/
- public static Integer getMiddleToDistDistance(List<NavigateNode> path, Integer distance) {
- //涓棿璺緞
- NavigateNode middlePath = path.get(path.size() - distance);
+ public static Integer getMiddleToDistDistance(List<NavigateNode> path, NavigateNode middlePath) {
+ //鏈�鍚庝竴鏉¤妭鐐逛笉璁$畻杩涜璧拌窛绂�
+ NavigateNode lastPath = path.get(path.size() - 1);
//鎬昏窛绂�
int allDistance = 0;
boolean flag = false;
@@ -233,6 +233,10 @@
flag = true;
}
+ if (navigateNode.equals(lastPath)) {
+ continue;//鏈�鍚庝竴鏉¤妭鐐逛笉璁$畻杩涜璧拌窛绂�
+ }
+
if (flag) {
allDistance += navigateNode.getMoveDistance();
}
@@ -240,6 +244,21 @@
return allDistance;
}
+ /**
+ * 妫�娴嬭矾寰勬槸鍚﹀彲鐢�(鍙蛋)
+ */
+ public static boolean checkPathIsAvailable(List<NavigateNode> path, Integer shuttleNo, Integer lev) {
+ NavigateSolution solution = new NavigateSolution(NavigationMapType.DFX.id, lev, null, Utils.getShuttlePoints(shuttleNo, lev));//鑾峰彇鏃犵櫧鍚嶅崟鍦板浘(璇ュ湴鍥惧寘鍚皬杞﹀潗鏍�)
+ int[][] map = solution.map;
+ for (NavigateNode node : path) {
+ int value = map[node.getX()][node.getY()];
+ if (value != 0 && value != 3) {
+ return false;
+ }
+ }
+ return true;
+ }
+
public static void main(String[] args) {
//璁$畻璺緞
List<NavigateNode> calc = calc("1000901", "1800201", NavigationMapType.NONE.id, null);
--
Gitblit v1.9.1