From 453289eef46cf688fafe2e4488d5e187c58debc5 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 12 八月 2024 13:33:19 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/RouteUtils.java | 760 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 739 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 22f35f5..ea72548 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -1,27 +1,67 @@
package com.zy.asrs.utils;
-import com.core.common.Arith;
-import com.core.common.Cools;
-import com.zy.core.properties.SlaveProperties;
-
-import java.text.DecimalFormat;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
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;
/**
- * Created by vincent on 2020/8/27
+ * Created by Monkey D. Luffy on 2023/7/18
*/
public class RouteUtils {
+ public static final List<Integer> MERGE_STA_NO_One = new ArrayList<Integer>() {{
+// 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(107);add(118);
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_THREE = new ArrayList<Integer>() {{
+// 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);
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_FIVE = new ArrayList<Integer>() {{
+// 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(113);add(123);add(114);
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_SEVEN = new ArrayList<Integer>() {{
+
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_EIGHT = new ArrayList<Integer>() {{
+
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_NINE = new ArrayList<Integer>() {{
+
+ }};
+
// 姝e簭
public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = new ArrayList<Integer>() {{
- add(1);add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);add(10);add(11);add(12);
+ add(101);add(102);add(104);add(122);add(105);add(107);add(118);add(108);add(119);add(110);add(120);add(111);add(121);add(113);add(123);add(114);add(1142);add(116);add(117);
}};
// 鍙嶅簭
public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<Integer>() {{
- add(12);add(11);add(10);add(9);add(8);add(7);add(6);add(5);add(4);add(3);add(2);add(1);
+ add(117);add(116);add(1142);add(114);add(123);add(113);add(121);add(111);add(120);add(110);add(119);add(108);add(118);add(107);add(105);add(122);add(104);add(102);add(101);
}};
public static String zerofill(String msg, Integer count){
@@ -37,9 +77,315 @@
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;
+ 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;
+ }
- // 鑾峰彇褰撳墠灏忚溅鏈璧扮殑璺嚎
- public static List<Integer> getRoute(boolean sign,Integer drop){
+ 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;
+ case 102: return 122;
+ case 104:
+ case 122:
+ case 105: return 105;
+ case 107:
+ case 118: return 119;
+ case 108:
+ case 119: return 120;
+ case 110:
+ case 120:
+ case 111: return 121;
+ case 121: return 113;
+ case 113: return 1142;
+ case 123:
+ case 114: return 116;
+ default:
+ return 116;
+ }
+ }else {
+ 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;
+ }
+ }
+// 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;
+ }*/
+ }
+ }
+
+
+ // 鑾峰彇褰撳墠灏忚溅鏈璧扮殑璺嚎闆嗗悎
+ public static List<Integer> getRoute(Integer groupStart,Integer groupEnd){
+ boolean sign = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupStart) < TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupEnd);
List<Integer> result = new ArrayList<>();
List<Integer> groupRoute = new ArrayList<>();
if (sign){
@@ -47,11 +393,15 @@
}else {
groupRoute = TRACK_POSITION_REVERSE_SEQUENCE;
}
- if (groupRoute.contains(drop)) {
+ if (groupRoute.contains(groupStart) && groupRoute.contains(groupEnd)) {
sign = false;
for (Integer route : groupRoute) {
- if (route == drop){
+ if (route.equals(groupStart)){
sign=true;
+ }
+ if (route.equals(groupEnd)){
+ result.add(route);
+ break;
}
if (sign){
result.add(route);
@@ -60,20 +410,388 @@
}else {
return null;
}
-
-
-
return result;
}
- // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 ===>> 鍙嶄箣
- public static List<String> getGroupOutsideLoc(String locNo,Integer crnNo){
- List<String> result = new ArrayList<>();
+ /*
+ * 鑾峰彇鏈�杩滅珯鐐�
+ * */
+ public static Integer RouteIndexFarMas(Integer a,Integer b,Integer c,Integer d){
+ int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(a);
+ 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 (ib>ic){
+ return b;
+ }else {
+ return c;
+ }
+ }else {
+ if (ib<ic){
+ return b;
+ }else {
+ 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;
+// }
+// }
+// }
+ }
- return result;
+ /*
+ * 鑾峰彇鏈�杩滅珯鐐�
+ * a:褰撳墠浣嶇疆
+ * b:寮�濮嬩綅缃�
+ * c:缁撴潫浣嶇疆
+ * d:閿佸紑濮嬩綅缃�
+ * */
+ public static Integer RouteIndexFarMasNew(Integer a,Integer b,Integer c,Integer d){
+ int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(a);
+ 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;
+ }
+ }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;
+ }
+ }
+ }
+ }
+
+ public static Integer[] RouteIndexFarArr(Integer a,Integer b,Integer c,Integer d){
+ int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(a);
+ int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(b);
+ int ic = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(c);
+ int id = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(d);
+ return new Integer[]{ia,ib,ic,id};
+ }
+
+ /*
+ * a 灏忚溅褰撳墠浣嶇疆
+ * b 灏忚溅浠诲姟寮�濮嬩綅缃�
+ * c 灏忚溅浠诲姟缁撴潫浣嶇疆
+ * d 灏忚溅鍒濆浣嶇疆
+ * 鑾峰彇鏈�澶ц矾寰勫樊鍊�
+ * */
+ public static List<Integer> RouteMapCurrentFar(Integer a,Integer b,Integer c,Integer d){
+ Integer farStn = RouteIndexFarMas(a, b, c, d);
+ return getRouteIntersection(TRACK_POSITION_POSITIVE_SEQUENCE,getRoute(farStn, d), RouteCollectCountType.DIFFERENCESET);
+ }
+
+ public static List<Integer> RouteMapCurrentFar(Integer farStn,Integer d){
+ return getRouteIntersection(TRACK_POSITION_POSITIVE_SEQUENCE,getRoute(farStn, d), RouteCollectCountType.DIFFERENCESET);
+ }
+
+ /*
+ * 鍙︿竴鍙板皬杞︽渶杩滀綅缃�
+ * */
+ public static Integer RouteMapOtherFarStnNo(List<Integer> routeDIFF,Integer d){
+ int id = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(d);
+ if (id==0){
+ return routeDIFF.get(0);
+ }else {
+ int size = routeDIFF.size();
+ return routeDIFF.get(size-1);
+ }
+ }
+
+ //鏄惁鏈変氦闆�
+ public static boolean getRouteBoolean(List<Integer> groupCurrent,List<Integer> groupOther){
+ for (Integer positionCurrent : groupCurrent){
+ for (Integer positionOther : groupOther){
+ if (positionCurrent.equals(positionOther)){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ //闆嗗悎杩愮畻
+ public static List<Integer> getRouteIntersection(List<Integer> groupCurrent, List<Integer> groupOther, RouteCollectCountType routeCollectCountType){
+ switch (routeCollectCountType){
+ case INTERSECTION:
+ //浜ら泦
+ return groupCurrent.stream().filter(item -> groupOther.contains(item)).collect(toList());
+ case DIFFERENCESET:
+ //宸泦
+ return groupCurrent.stream().filter(item -> !groupOther.contains(item)).collect(toList());
+ case UNION:
+ //骞堕泦
+ groupCurrent.addAll(groupOther);
+ return groupCurrent;
+ case DEDUPLICATIONUNION:
+ //鍘婚噸骞堕泦
+ groupCurrent.addAll(groupOther);
+ return groupCurrent.stream().distinct().collect(toList());
+ default:
+ return null;
+ }
+ }
+
+ /*
+ * a 灏忚溅褰撳墠浣嶇疆
+ * b 灏忚溅浠诲姟寮�濮嬩綅缃�
+ * c 灏忚溅浠诲姟缁撴潫浣嶇疆
+ * sign 鍙︿竴涓皬杞︾┖闂叉爣璁�
+ * */
+ public static boolean RouteAutoBoolean(Integer a,Integer b,Integer c,Integer aa,Integer bb,Integer cc,boolean idleOther){
+ List<Integer> routeCurrent = getRouteIntersection(getRoute(a, c), getRoute(b, c), RouteCollectCountType.DEDUPLICATIONUNION);//骞堕泦
+ List<Integer> routeOther = getRouteIntersection(getRoute(aa, cc), getRoute(bb, cc), RouteCollectCountType.DEDUPLICATIONUNION);//
+ return !getRouteBoolean(routeCurrent, routeOther); //鏄惁鏈変氦闆�
+ }
+
+ public static List<Integer> RouteAutoBoolean(Integer a,Integer b,Integer c){
+ 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){
+ List<Integer> routeCurrent = getRoute(104, 119); //鑾峰彇褰撳墠灏忚溅璺緞
+ List<Integer> routeOther = getRoute(117, 118); //鑾峰彇鍏跺畠灏忚溅璺緞
+ System.out.println("褰撳墠灏忚溅璺緞:\t"+routeCurrent);
+ System.out.println("鍏跺畠灏忚溅璺緞:\t"+routeOther);
+
+ boolean routeBoolean = getRouteBoolean(routeCurrent, routeOther); //鏄惁鏈変氦闆�
+ System.out.println("鏄惁鏈変氦闆�:\t"+routeBoolean);
+
+ List<Integer> routeIntersection = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.INTERSECTION);//浜ら泦
+ System.out.println("璺緞浜ら泦锛歕t"+routeIntersection);
+
+ List<Integer> routeIntersection1 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.DIFFERENCESET);//宸泦
+ System.out.println("璺緞宸泦锛歕t"+routeIntersection1);
+
+ List<Integer> routeIntersection2 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.UNION);//骞堕泦
+ System.out.println("璺緞骞堕泦锛歕t"+routeIntersection2);
+
+ List<Integer> routeIntersection3 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.DEDUPLICATIONUNION);//鍘婚噸骞堕泦
+ System.out.println("璺緞鍘婚噸骞堕泦锛歕t"+routeIntersection3);
+
+ System.out.println(RouteAutoBoolean(101,104,119,114,116,120,true));
+
+ List<Integer> routeDIFF = RouteMapCurrentFar(114, 104, 119, 117);
+ System.out.println("褰撳墠璺緞鏈�澶ч泦鍚堬細\t"+ routeDIFF);
+
+ Integer routeFarOther= RouteMapOtherFarStnNo(routeDIFF,117);
+ System.out.println("鍙︿竴鍙板皬杞︽渶杩滅珯鐐癸細\t"+routeFarOther);
+
+
+ Integer[] integers = RouteIndexFarArr(114, 104, 119, 101);
+ for (Integer integer:integers){
+ System.out.println(integer);
+ }
+ }
+
+ public static short RgvPosSta(Integer rgvId,Short posId){
+ switch (rgvId){
+ case 1:
+ return RgvPosStaOne(posId);
+ case 2:
+ return RgvPosStaTwo(posId);
+ default:
+ return 1;
+ }
+ }
+
+ public static short RgvPosStaOne(Short posId){
+ switch (posId.intValue()){
+ case 1:
+ case 2:
+ return 102;
+ case 3:
+ case 4:
+ return 122;
+ case 5:
+ case 6:
+ return 105;
+ case 7:
+ case 8:
+ return 118;
+ case 9:
+ case 10:
+ case 11:
+ return 119;
+ case 12:
+ case 13:
+ case 14:
+ return 110;
+ case 15:
+ return 120;
+ case 16:
+ case 17:
+ case 18:
+ return 111;
+ case 19:
+ return 121;
+ case 20:
+ case 21:
+ case 22:
+ return 113;
+ case 23:
+ case 24:
+ return 123;
+ case 25:
+ return 114;
+ case 26:
+ case 27:
+ return 1142;
+ case 28:
+ return 116;
+ default:
+ return 1142;
+ }
+ }
+
+ public static short RgvPosStaTwo(Short posId){
+ switch (posId.intValue()){
+ case 1:
+ return 116;
+ case 2:
+ return 1142;
+ case 3:
+ case 4:
+ return 114;
+ case 5:
+ return 123;
+ case 6:
+ case 7:
+ case 8:
+ return 113;
+ case 9:
+ case 10:
+ return 121;
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ return 120;
+ case 15:
+ return 110;
+ case 16:
+ case 17:
+ case 18:
+ return 119;
+ case 19:
+ return 108;
+ case 20:
+ case 21:
+ case 22:
+ return 107;
+ case 23:
+ case 24:
+ return 105;
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ return 104;
+ default:
+ return 104;
+ }
+ }
+
+ public static Integer CrnStaEnd(Integer endSta,Integer souSta) {
+ switch (souSta) {
+ case 100:
+ case 103:
+ case 106:
+ case 109:
+ case 112:
+ case 115:
+ return souSta + 1;
+ default:
+ return endSta;
+ }
+ }
}
--
Gitblit v1.9.1