| package com.zy.common.utils; | 
|   | 
| import com.core.common.RadixTools; | 
|   | 
| import java.math.BigDecimal; | 
|   | 
| /** | 
|  * Created by vincent on 2020-06-03 | 
|  */ | 
| public class CommonUtils { | 
|   | 
|     public static Integer parseInt(Object value){ | 
|         if(null == value){ | 
|             return null; | 
|         } | 
|         String name = value.getClass().getSimpleName().toLowerCase(); | 
|         if(name.equals("float")){ | 
|             return ((Float)value).intValue(); | 
|         } else if(name.equals("double")){ | 
|             return ((Double)value).intValue(); | 
|         } else if(name.equals("bigdecimal")) { | 
|             return ((BigDecimal)value).intValue(); | 
|         } else if(name.equals("long")) { | 
|             return ((Long)value).intValue(); | 
|         } else if(name.contains("int")) { | 
|             return (Integer)value; | 
|         } else { | 
|             return Double.valueOf(""+value).intValue(); | 
|         } | 
|     } | 
|   | 
|     //int转short数组 | 
|     public static short[] intToShorts(int num) { | 
|         //先将int转为byte数组,再将byte数组转成两个short,分别占用4和5空间 | 
|         byte[] bytes = RadixTools.intToBytes(num); | 
|         byte[] tmp1 = {bytes[0], bytes[1]}; | 
|         short byteToShort = RadixTools.byteToShort(tmp1); | 
|         byte[] tmp2 = {bytes[2], bytes[3]}; | 
|         short byteToShort2 = RadixTools.byteToShort(tmp2); | 
|         return new short[]{byteToShort, byteToShort2}; | 
|     } | 
|   | 
|     public static boolean intToBoolean(Integer num) { | 
|         return num != 0; | 
|     } | 
|   | 
|     public static boolean shortToBoolean(Short num) { | 
|         return num != 0; | 
|     } | 
|   | 
|     //从row、bay、lev参数获取完整库位号 | 
|     public static String getLocNoFromRBL(Integer row, Integer bay, Integer lev) { | 
|         StringBuffer sb = new StringBuffer(); | 
|         if (row < 10) { | 
|             sb.append("0"); | 
|         } | 
|         sb.append(row); | 
|         if (bay < 10) { | 
|             sb.append("00"); | 
|         } else if (bay < 100) { | 
|             sb.append("0"); | 
|         } | 
|         sb.append(bay); | 
|         if (lev < 10) { | 
|             sb.append("0"); | 
|         } | 
|         sb.append(lev); | 
|         return sb.toString(); | 
|     } | 
|   | 
|     public static int[] byteToBits(byte by) { | 
|         StringBuffer sb = new StringBuffer(); | 
|         sb.append((by >> 0) & 0x1); | 
|         sb.append((by >> 1) & 0x1); | 
|         sb.append((by >> 2) & 0x1); | 
|         sb.append((by >> 3) & 0x1); | 
|         sb.append((by >> 4) & 0x1); | 
|         sb.append((by >> 5) & 0x1); | 
|         sb.append((by >> 6) & 0x1); | 
|         sb.append((by >> 7) & 0x1); | 
|   | 
|         int[] data = new int[8]; | 
|         for (int i = 0; i < sb.length(); i++) { | 
|             data[i] = Integer.parseInt(String.valueOf(sb.charAt(i))); | 
|         } | 
|   | 
|         return data; | 
|     } | 
|   | 
|     public static String bytesToBarcode(byte[] bytes) { | 
|         StringBuffer sb = new StringBuffer(); | 
|         for (byte by : bytes) { | 
|             sb.append(by); | 
|         } | 
|         return sb.toString(); | 
|     } | 
|   | 
| } |