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;
|
|
/**
|
* Created by vincent on 2020/8/27
|
*/
|
public class RouteUtils {
|
|
// 正序
|
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);
|
}};
|
// 反序
|
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);
|
}};
|
|
public static String zerofill(String msg, Integer count){
|
if (msg.length() == count){
|
return msg;
|
} else if (msg.length() > count){
|
return msg.substring(0, 16);
|
} else {
|
StringBuilder msgBuilder = new StringBuilder(msg);
|
for (int i = 0; i<count-msg.length(); i++){
|
msgBuilder.insert(0,"0");
|
}
|
return msgBuilder.toString();
|
}
|
}
|
|
// 获取当前小车未行走的路线
|
public static List<Integer> getRoute(Integer groupStart,Integer groupEnd){
|
boolean sign = groupStart < groupEnd;
|
List<Integer> result = new ArrayList<>();
|
List<Integer> groupRoute = new ArrayList<>();
|
if (sign){
|
groupRoute = TRACK_POSITION_POSITIVE_SEQUENCE;
|
}else {
|
groupRoute = TRACK_POSITION_REVERSE_SEQUENCE;
|
}
|
if (groupRoute.contains(groupStart) && groupRoute.contains(groupEnd)) {
|
sign = false;
|
for (Integer route : groupRoute) {
|
if (route.equals(groupStart)){
|
sign=true;
|
}
|
if (route.equals(groupEnd)){
|
result.add(route);
|
break;
|
}
|
if (sign){
|
result.add(route);
|
}
|
}
|
}else {
|
return null;
|
}
|
return result;
|
}
|
// 外侧方向的货位 优先入库方向/优先出库方向 ===>> 反之
|
public static List<String> getGroupOutsideLoc(String locNo,Integer crnNo){
|
|
List<String> result = new ArrayList<>();
|
|
return result;
|
}
|
|
|
|
|
}
|