From 55165693f541b63e059af1def45fb2f24c5ed31e Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 03 四月 2024 16:59:42 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/RouteUtils.java | 178 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 138 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java index a8050f7..f3b76fc 100644 --- a/src/main/java/com/zy/asrs/utils/RouteUtils.java +++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java @@ -14,27 +14,33 @@ public class RouteUtils { public static final List<Integer> MERGE_STA_NO_One = new ArrayList<Integer>() {{ - add(116);add(117); +// add(116);add(117); + add(104);add(122); }}; public static final List<Integer> MERGE_STA_NO_TWO = new ArrayList<Integer>() {{ - add(113);add(123);add(114);add(1142); +// add(113);add(123);add(114);add(1142); + add(107);add(118); }}; public static final List<Integer> MERGE_STA_NO_THREE = new ArrayList<Integer>() {{ - add(107);add(118);add(108);add(119); +// add(107);add(118);add(108);add(119); + add(108);add(119); }}; public static final List<Integer> MERGE_STA_NO_FOUR = new ArrayList<Integer>() {{ - add(110);add(120);add(111);add(121); +// add(110);add(120);add(111);add(121); + add(110);add(120); }}; public static final List<Integer> MERGE_STA_NO_FIVE = new ArrayList<Integer>() {{ - add(104);add(122);add(105); +// add(104);add(122);add(105); + add(111);add(121); }}; public static final List<Integer> MERGE_STA_NO_SIX = new ArrayList<Integer>() {{ - add(108);add(119);add(110);add(120); +// add(108);add(119);add(110);add(120); + add(113);add(123);add(114); }}; public static final List<Integer> MERGE_STA_NO_SEVEN = new ArrayList<Integer>() {{ @@ -71,38 +77,132 @@ return msgBuilder.toString(); } } -// /* -// * 鑾峰彇骞叉秹鏈�杩滅珯鐐� -// * */ -// public static Integer RouteIndexFarMas(int rgvNo,Integer staNo){ -// List<Integer> staFall = new ArrayList<>(); -// if (MERGE_STA_NO_SIX.contains(staNo)){ -// staFall = MERGE_STA_NO_SIX; -// }else if (MERGE_STA_NO_One.contains(staNo)){ -// staFall = MERGE_STA_NO_One; -// }else if (MERGE_STA_NO_TWO.contains(staNo)){ -// staFall = MERGE_STA_NO_TWO; -// }else if (MERGE_STA_NO_THREE.contains(staNo)){ -// staFall = MERGE_STA_NO_THREE; -// }else if (MERGE_STA_NO_FOUR.contains(staNo)){ -// staFall = MERGE_STA_NO_FOUR; -// }else if (MERGE_STA_NO_FIVE.contains(staNo)){ -// staFall = MERGE_STA_NO_FIVE; -// }else { -// return staNo; -// } -// -// int indexNo = 0; -// if (rgvNo==1){ -// indexNo=staFall.size()-1; -// } -// return staFall.get(indexNo); -// } - /* * 鑾峰彇骞叉秹鏈�杩滅珯鐐� * */ public static Integer RouteIndexFarMas(int rgvNo,Integer staNo){ + List<Integer> staFall = new ArrayList<>(); + if (MERGE_STA_NO_SIX.contains(staNo)){ +// staFall = MERGE_STA_NO_SIX; + if (rgvNo==1){ + if (staNo==113){ + return 123; + } else { + return 114; + } + }else { + if (staNo==114){ + return 123; + } else { + return 113; + } + } + }else if (MERGE_STA_NO_One.contains(staNo)){ + staFall = MERGE_STA_NO_One; + }else if (MERGE_STA_NO_TWO.contains(staNo)){ + staFall = MERGE_STA_NO_TWO; + }else if (MERGE_STA_NO_THREE.contains(staNo)){ + staFall = MERGE_STA_NO_THREE; + }else if (MERGE_STA_NO_FOUR.contains(staNo)){ + staFall = MERGE_STA_NO_FOUR; + }else if (MERGE_STA_NO_FIVE.contains(staNo)){ + staFall = MERGE_STA_NO_FIVE; + }else { + return staNo; + } + + int indexNo = 0; + if (rgvNo==1){ + indexNo=staFall.size()-1; + } + return staFall.get(indexNo); + } + + public static Integer RouteIndexFarMasOtherNear(int rgvNo,Integer staNo){ + if (rgvNo==1){ + switch (staNo){ + case 117: return 116; + case 116: return 1142; + case 1142: + case 114: return 114; + case 123: return 113; + case 113: return 121; + case 121: return 111; + case 111: return 110; + case 120: + case 110: return 119; + case 119: + case 108: return 118; + case 118: + case 107: return 105; + case 105: + case 122: return 122; + case 104: return 104; + case 102: return 102; + case 101: return 101; + default: + return 102; + } + }else { + switch (staNo){ + case 117: return 117; + case 116: return 116; + case 1142: return 116; + case 114: return 116; + case 123: return 1142; + case 113: return 114; + case 121: return 113; + case 111: return 113; + case 120: return 121; + case 110: return 111; + case 119: return 110; + case 108: return 110; + case 118: return 119; + case 107: return 107; + case 105: return 107; + case 122: return 122; + case 104: return 104; + case 102: return 104; + case 101: return 102; + default: + return 116; + } + } + } + + public static Integer RouteIndexFarMasOtherNearUpMap(int rgvNo,Integer staNo){ +// int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(staNo); +// int ib = TRACK_POSITION_REVERSE_SEQUENCE.indexOf(staNo); +// if (ia<=ib){ +// return new Integer[]{RouteIndexFarMasReverse(1,runStaStart),RouteIndexFarMasReverse(2,runStaEnd)}; +// }else { +// return new Integer[]{RouteIndexFarMasReverse(1,runStaEnd),RouteIndexFarMasReverse(2,runStaStart)}; +// } +// if (ia<=ib){ +// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ia),TRACK_POSITION_POSITIVE_SEQUENCE.get(ib)}; +// }else { +// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ib),TRACK_POSITION_POSITIVE_SEQUENCE.get(ia)}; +// } +// if (rgvNo==1){ +// if (ia-2>=1){ +// return TRACK_POSITION_POSITIVE_SEQUENCE.get(ia-2); +// }else { +// return 102; +// } + return RouteIndexFarMasOther(rgvNo,staNo); +// }else { +// if (ib-2>=1){ +// return TRACK_POSITION_REVERSE_SEQUENCE.get(ib-2); +// }else { +// return 116; +// } +// } + } +// + /* + * 鑾峰彇骞叉秹鏈�杩滅珯鐐� + * */ + public static Integer RouteIndexFarMasOther(int rgvNo,Integer staNo){ if (rgvNo==1){ switch (staNo){ case 101: return 102; @@ -200,7 +300,7 @@ if (rgvNo==1) { switch (staNo) { case 101: - case 102: return 0; + case 102: return 102; case 104: case 122: case 105: return 102; @@ -222,7 +322,7 @@ case 1142: case 116: case 117: - return 0; + return 102; default: return 101; } @@ -231,7 +331,7 @@ case 117: case 116: case 1142: - return 0; + return 116; case 114: case 123: case 113: @@ -253,7 +353,7 @@ return 107; case 102: case 101: - return 0; + return 116; default: return 117; } @@ -500,8 +600,6 @@ // }else { // return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ib+1),TRACK_POSITION_POSITIVE_SEQUENCE.get(ia-1)}; // } - - } public static boolean RgvRunStaSign(Integer staBow,Integer runStaEnd,Integer rgvNo){ -- Gitblit v1.9.1