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.List; /** * Created by vincent on 2020/8/27 */ public class Utils { 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 getGroupLoc(String locNo){ int row = getRow(locNo); switch (row) { case 1: case 2: case 3: return new ArrayList() {{ add(zerofill(String.valueOf(1), 2) + locNo.substring(2)); add(zerofill(String.valueOf(2), 2) + locNo.substring(2)); add(zerofill(String.valueOf(3), 2) + locNo.substring(2)); }}; case 4: case 5: case 6: case 7: return new ArrayList() {{ add(zerofill(String.valueOf(4), 2) + locNo.substring(2)); add(zerofill(String.valueOf(5), 2) + locNo.substring(2)); add(zerofill(String.valueOf(6), 2) + locNo.substring(2)); add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); }}; case 8: case 9: case 10: case 11: return new ArrayList() {{ add(zerofill(String.valueOf(8), 2) + locNo.substring(2)); add(zerofill(String.valueOf(9), 2) + locNo.substring(2)); add(zerofill(String.valueOf(10), 2) + locNo.substring(2)); add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); }}; case 12: case 13: case 14: return new ArrayList() {{ add(zerofill(String.valueOf(12), 2) + locNo.substring(2)); add(zerofill(String.valueOf(13), 2) + locNo.substring(2)); add(zerofill(String.valueOf(14), 2) + locNo.substring(2)); }}; case 15: case 16: case 17: case 18: return new ArrayList() {{ add(zerofill(String.valueOf(15), 2) + locNo.substring(2)); add(zerofill(String.valueOf(16), 2) + locNo.substring(2)); add(zerofill(String.valueOf(17), 2) + locNo.substring(2)); add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); }}; case 19: case 20: case 21: return new ArrayList() {{ add(zerofill(String.valueOf(19), 2) + locNo.substring(2)); add(zerofill(String.valueOf(20), 2) + locNo.substring(2)); add(zerofill(String.valueOf(21), 2) + locNo.substring(2)); }}; default: throw new RuntimeException("库位解析异常"); } } public static void main(String[] args) { SlaveProperties slaveProperties = new SlaveProperties(); slaveProperties.setDoubleDeep(true); List 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); } }