From 0b6c8b7687ff593d254cfcacacf72a75bfdf11ca Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期二, 24 六月 2025 08:20:36 +0800 Subject: [PATCH] #限制线体上托盘数量 --- src/main/java/com/zy/asrs/utils/RouteUtils.java | 443 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 365 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java index 8f42bc4..ea72548 100644 --- a/src/main/java/com/zy/asrs/utils/RouteUtils.java +++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java @@ -3,6 +3,8 @@ import java.util.ArrayList; import java.util.List; import static java.util.stream.Collectors.toList; + +import com.zy.asrs.entity.WrkMastSta; import com.zy.core.enums.RouteCollectCountType; import springfox.documentation.spring.web.json.Json; @@ -12,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>() {{ @@ -69,81 +77,308 @@ 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 101: - case 102: return 102; + 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; + case 102: return 122; case 104: - case 122: return 118; - case 105: return 119; + case 122: + case 105: return 105; case 107: - case 118: return 120; + case 118: return 119; case 108: - case 119: return 111; + case 119: return 120; case 110: - case 120: return 113; - case 111: - case 121: return 113; - case 113: return 114; + case 120: + case 111: return 121; + case 121: return 113; + case 113: return 1142; case 123: - case 114: return 1142; + case 114: return 116; default: return 116; } }else { switch (staNo){ case 117: - case 116: return 123; + case 116: return 1142; case 1142: - case 114: return 113; - case 123: - case 113: return 111; + case 114: + case 123: return 113; + case 113: return 121; case 121: - case 111: return 108; + case 111: return 110; case 120: - case 110: return 107; + case 110: return 108; case 119: - case 108: return 107; + case 108: case 118: - case 107: return 105; - case 105: + case 107: return 107; + case 105: return 104; case 122: - case 104: return 104; + case 104: return 102; default: return 102; } + } +// if (rgvNo==1){ +// switch (staNo){ +// case 101: +// case 102: return 102; +// case 104: +// case 122: return 118; +// case 105: return 119; +// case 107: +// case 118: return 120; +// case 108: +// case 119: return 111; +// case 110: +// case 120: return 113; +// case 111: +// case 121: return 113; +// case 113: return 114; +// case 123: +// case 114: return 1142; +// default: +// return 116; +// } +// }else { +// switch (staNo){ +// case 117: +// case 116: return 123; +// case 1142: +// case 114: return 113; +// case 123: +// case 113: return 111; +// case 121: +// case 111: return 108; +// case 120: +// case 110: return 107; +// case 119: +// case 108: return 107; +// case 118: +// case 107: return 105; +// case 105: +// case 122: +// case 104: return 104; +// default: +// return 102; +// } +// } + } + + /* + * 鑾峰彇骞叉秹鏈�杩滅珯鐐� + * */ + public static Integer RouteIndexFarMasReverse(int rgvNo,Integer staNo){ + if (rgvNo==1) { + switch (staNo) { + case 101: + case 102: return 102; + case 104: + case 122: + case 105: return 102; + case 107: + case 118: + case 108: + case 119: return 105; + case 110: + case 120: + return 107; + case 111: + case 121: + return 108; + case 113: + return 111; + case 123: + case 114: + return 121; + case 1142: + case 116: + case 117: + return 102; + default: + return 101; + } + }else{ + switch (staNo) { + case 117: + case 116: + case 1142: + return 116; + case 114: + case 123: + case 113: + return 117; + case 121:return 123; + case 111: + case 120: + case 110: + return 113; + case 119: + case 108: + return 111; + case 118: + case 107: + return 110; + case 105: + case 122: + case 104: + return 107; + case 102: + case 101: + return 116; + default: + return 117; + } + /* + * switch (staNo){ + case 117: + case 116: return 1142; + case 1142: + case 114: + case 123: return 113; + case 113: return 121; + case 121: + case 111: return 110; + case 120: + case 110: return 108; + case 119: + case 108: + case 118: + case 107: return 107; + case 105: return 104; + case 122: + case 104: return 102; + default: + return 102; + }*/ } } @@ -186,35 +421,48 @@ int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(b); int ic = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(c); int id = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(d); - if (id==0){ - if (ia>ib){ - if (ia>ic){ - return a; - }else { - return c; - } + if (id == 0){ + if (ib>ic){ + return b; }else { - if (ib>ic){ - return b; - }else { - return c; - } + return c; } }else { - if (ia<ib){ - if (ia<ic){ - return a; - }else { - return c; - } + if (ib<ic){ + return b; }else { - if (ib<ic){ - return b; - }else { - return c; - } + return c; } } +// if (id==0){ +// if (ia>ib){ +// if (ia>ic){ +// return a; +// }else { +// return c; +// } +// }else { +// if (ib>ic){ +// return b; +// }else { +// return c; +// } +// } +// }else { +// if (ia<ib){ +// if (ia<ic){ +// return a; +// }else { +// return c; +// } +// }else { +// if (ib<ic){ +// return b; +// }else { +// return c; +// } +// } +// } } /* @@ -347,6 +595,45 @@ return getRouteIntersection(getRoute(a, c), getRoute(b, c), RouteCollectCountType.DEDUPLICATIONUNION); } + public static Integer[] RgvRunSta(Integer runStaStart,Integer runStaEnd){ + int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaStart); + int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaEnd); + 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 (ia<=ib){ +// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ia-1),TRACK_POSITION_POSITIVE_SEQUENCE.get(ib+1)}; +// }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){ + int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(staBow); + int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaEnd); + if (rgvNo==1){ + if (ia>ib){ + return true;//闇�瑕侀伩璁� + }else { + return false;//涓嶉渶瑕侀伩璁� + } + }else { + if (ia<ib){ + return true;//闇�瑕侀伩璁� + }else { + return false;//涓嶉渶瑕侀伩璁� + } + } + + } + public static void main(String[] arge){ -- Gitblit v1.9.1