From fb74f60f1d8397acf5251ae289e80ab8a056857f Mon Sep 17 00:00:00 2001 From: 1 <1> Date: 星期四, 09 十月 2025 09:08:05 +0800 Subject: [PATCH] #和得服务器 --- src/main/java/com/zy/asrs/utils/RouteUtils.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 94 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java index 22d0b62..a472b6e 100644 --- a/src/main/java/com/zy/asrs/utils/RouteUtils.java +++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java @@ -2,8 +2,7 @@ import com.zy.core.enums.RouteCollectCountType; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import static java.util.stream.Collectors.toList; @@ -14,29 +13,66 @@ //闂2 鍛ㄤ繆鏉� public static final List<Integer> MERGE_STA_NO_One = new ArrayList<Integer>() {{ - add(113);add(119); +// add(113);add(119); }}; public static final List<Integer> MERGE_STA_NO_TWO = new ArrayList<Integer>() {{ -// add(116);add(117); +// add(100);add(101); }}; public static final List<Integer> MERGE_STA_NO_THREE = new ArrayList<Integer>() {{ -// add(116);add(117); +// add(106);add(107); }}; public static final List<Integer> MERGE_STA_NO_FOUR = new ArrayList<Integer>() {{ // add(116);add(117); }}; -// 姝e簭 - public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = new ArrayList<Integer>() {{ - add(161);add(157);add(153);add(149);add(124);add(119);add(113);add(112);add(107);add(106);add(101);add(100); - }}; -// 鍙嶅簭 - public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<Integer>() {{ - add(100);add(101);add(106);add(107);add(112);add(113);add(119);add(124);add(149);add(153);add(157);add(161); - }}; + // RGV杞ㄩ亾姝e簭锛堜粠涓婂埌涓嬶級 + public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = Arrays.asList( + 1004, + 1007, + 1010, + 1014, + 1018, + 1021, + 1024, + 1028, + 1031, + 1035 + ); + + // 鍙嶅簭锛堢洿鎺ュ弽杞敓鎴愶級 + public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<>(TRACK_POSITION_POSITIVE_SEQUENCE); + static { + Collections.reverse(TRACK_POSITION_REVERSE_SEQUENCE); + } + //1妤兼垬绔欑偣 + public static final List<Integer> TRACK_POSITION_ONE = Arrays.asList( + 1004, 1007, 1010, 1014, 1018, 1021, 1024, 1028, 1031, 1035,1042,1105,1106,1041, + 1038,1036,1108,1109 + ); + //2妤兼垬绔欑偣 + public static final List<Integer> TRACK_POSITION_TWO = Arrays.asList( + 2003,2006,2009,2012,2015,2018,2021,2024,2027,2030,2037,2031 + ); + + // 杞ㄩ亾鏄犲皠锛堟妸鏄犲皠绔欑偣鏇挎崲鎴愪富绔欑偣锛� + public static final Map<Integer, Integer> SITE_MAPPING = new HashMap<>(); + static { + SITE_MAPPING.put(1042, 1004); + SITE_MAPPING.put(1105, 1007); + SITE_MAPPING.put(1106, 1010); + SITE_MAPPING.put(1041, 1024); + SITE_MAPPING.put(1038, 1028); + SITE_MAPPING.put(1036, 1035); + } + + // 鑾峰彇杞ㄩ亾鍒楄〃涓疄闄呯珯鐐� + private static Integer mapSite(Integer site) { + return SITE_MAPPING.getOrDefault(site, site); + } + public static String zerofill(String msg, Integer count){ if (msg.length() == count){ @@ -51,6 +87,7 @@ return msgBuilder.toString(); } } + /* * 鑾峰彇骞叉秹鏈�杩滅珯鐐� * */ @@ -73,6 +110,30 @@ indexNo=staFall.size()-1; } return staFall.get(indexNo); + } + + // 鑾峰彇褰撳墠灏忚溅鏈璧扮殑璺嚎闆嗗悎 + public static List<Integer> getRouteDis(Integer groupStart, Integer groupEnd) { + groupStart = mapSite(groupStart); + groupEnd = mapSite(groupEnd); + + int startIdx = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupStart); + int endIdx = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupEnd); + + if (startIdx == -1 || endIdx == -1) return null; + + boolean forward = startIdx < endIdx; + List<Integer> route = forward ? TRACK_POSITION_POSITIVE_SEQUENCE : TRACK_POSITION_REVERSE_SEQUENCE; + + List<Integer> result = new ArrayList<>(); + boolean addFlag = false; + for (Integer s : route) { + s = mapSite(s); + if (s.equals(groupStart)) addFlag = true; + if (addFlag) result.add(s); + if (s.equals(groupEnd)) break; + } + return result; } @@ -104,6 +165,20 @@ return null; } return result; + } + public static List<Integer> getRouteOne(){ + + List<Integer> groupRoute = new ArrayList<>(); + groupRoute = TRACK_POSITION_ONE; + + return groupRoute; + } + public static List<Integer> getRouteTwo(){ + + List<Integer> groupRoute = new ArrayList<>(); + groupRoute = TRACK_POSITION_TWO; + + return groupRoute; } /* @@ -237,7 +312,7 @@ case 100: case 102: case 111: - if (souSta == 118){ + if (souSta == 118 || souSta == 127){ return (short)119; } return 149; @@ -247,8 +322,11 @@ } public static Short SouStaEnd(Integer endSta,Integer souSta){ - if (souSta == 159) { - return (short)161; + if (souSta == 1103) { + return (short)1105; + } + if(souSta == 1047){ + return (short)1042; } return souSta.shortValue(); } -- Gitblit v1.9.1