package com.zy.asrs.utils; import com.core.common.Arith; import com.core.common.Cools; import com.zy.common.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 Utils { public static final List FIRST_GROUP_ROW_LIST = new ArrayList() {{ add(1);add(2); }}; public static final List SECOND_GROUP_ROW_LIST = new ArrayList() {{ add(3);add(4); }}; public static final List FIRST_GROUP_ROW_LIST2 = new ArrayList() {{ add(5);add(6); }}; public static final List SECOND_GROUP_ROW_LIST2 = new ArrayList() {{ add(7);add(8); }}; public static final List FIRST_GROUP_ROW_LIST3 = new ArrayList() {{ add(9); }}; public static final List SECOND_GROUP_ROW_LIST3 = new ArrayList() {{ add(10); }}; public static List getGroupLocNo(String locNo, Boolean pakIn) { int row = getRow(locNo); List result = new ArrayList<>(); if (FIRST_GROUP_ROW_LIST.contains(row)) { for (Integer groupRow : FIRST_GROUP_ROW_LIST) { result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2)); } } else if (SECOND_GROUP_ROW_LIST.contains(row)) { List clone = Arrays.asList(new Integer[SECOND_GROUP_ROW_LIST.size()]); Collections.copy(clone, SECOND_GROUP_ROW_LIST); Collections.reverse(clone); for (Integer integer : clone) { result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); } }else if (FIRST_GROUP_ROW_LIST2.contains(row)) { for (Integer groupRow : FIRST_GROUP_ROW_LIST2) { result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2)); } } else if (SECOND_GROUP_ROW_LIST2.contains(row)) { List clone = Arrays.asList(new Integer[SECOND_GROUP_ROW_LIST2.size()]); Collections.copy(clone, SECOND_GROUP_ROW_LIST2); Collections.reverse(clone); for (Integer integer : clone) { result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); } }else if (FIRST_GROUP_ROW_LIST3.contains(row)) { for (Integer groupRow : FIRST_GROUP_ROW_LIST3) { result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2)); } } else if (SECOND_GROUP_ROW_LIST3.contains(row)) { List clone = Arrays.asList(new Integer[SECOND_GROUP_ROW_LIST3.size()]); Collections.copy(clone, SECOND_GROUP_ROW_LIST3); Collections.reverse(clone); for (Integer integer : clone) { result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); } } if (!pakIn) { //出库,反转数据 Collections.reverse(result); } return result; } private static final DecimalFormat fmt = new DecimalFormat("##0.00"); public static float scale(Float f){ if (f == null || f == 0f || Float.isNaN(f)) { return 0f; } return (float) Arith.multiplys(2, f, 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 list = new ArrayList<>(); list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12); slaveProperties.setDoubleLocs(list); slaveProperties.setGroupCount(4); Integer deepRow = getDeepRow(slaveProperties, 6); System.out.println(deepRow); } }