|  |  | 
 |  |  |      * 获取 深库位对应的浅库位号 | 
 |  |  |      */ | 
 |  |  |     public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) { | 
 |  |  | //        int row = getRow(deepLoc); | 
 |  |  | //        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); | 
 |  |  | //        int shallowRow = remainder == 1 ? (row + 1) : (row - 1); | 
 |  |  | //        return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2); | 
 |  |  |         int row = getRow(deepLoc); | 
 |  |  |         boolean deepLocLeft = isDeepLocLeft(slaveProperties, row);//判断是否为左深库位 | 
 |  |  |         int shallowRow = deepLocLeft? (row + 1) : (row - 1); | 
 |  |  |         return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | //    /** | 
 |  |  | //     * 获取 深库位对应的浅库位号 | 
 |  |  | //     */ | 
 |  |  | //    public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) { | 
 |  |  | //        int row = getRow(deepLoc); | 
 |  |  | //        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); | 
 |  |  | //        int shallowRow = remainder == 1 ? (row + 1) : (row - 1); | 
 |  |  | //        return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  | //    /** | 
 |  |  | //     * 获取 深库位排对应的浅库位排 | 
 |  |  | //     */ | 
 |  |  | //    public static Integer getShallowRow(SlaveProperties slaveProperties, Integer deepRow) { | 
 |  |  | //        int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount()); | 
 |  |  | //        return remainder == 1 ? (deepRow + 1) : (deepRow - 1); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  | //    /** | 
 |  |  | //     * 获取 浅库位对应的深库位号 | 
 |  |  | //     */ | 
 |  |  | //    public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) { | 
 |  |  | //        int row = getRow(shallowLoc); | 
 |  |  | //        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); | 
 |  |  | //        int targetRow; | 
 |  |  | //        if (remainder == 2) { | 
 |  |  | //            targetRow = row - 1; | 
 |  |  | //        } else if (remainder == 3) { | 
 |  |  | //            targetRow = row + 1; | 
 |  |  | //        } else { | 
 |  |  | //            throw new RuntimeException(shallowLoc + "不是浅库位,系统繁忙"); | 
 |  |  | //        } | 
 |  |  | //        return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取 浅库位对应的深库位号 | 
 |  |  |      */ | 
 |  |  |     public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) { | 
 |  |  | //        int row = getRow(shallowLoc); | 
 |  |  | //        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); | 
 |  |  | //        int targetRow; | 
 |  |  | //        if (remainder == 2) { | 
 |  |  | //            targetRow = row - 1; | 
 |  |  | //        } else if (remainder == 3) { | 
 |  |  | //            targetRow = row + 1; | 
 |  |  | //        } else { | 
 |  |  | //            throw new RuntimeException(shallowLoc + "不是浅库位,系统繁忙"); | 
 |  |  | //        } | 
 |  |  | //        return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2); | 
 |  |  |         int row = getRow(shallowLoc); | 
 |  |  |         boolean deepLocLeft = isDeepLocLeft(slaveProperties, row-1);//判断是否为左浅库位 | 
 |  |  |         int shallowRow = deepLocLeft? (row - 1) : (row + 1); | 
 |  |  | 
 |  |  |         return deepLocLeft ? (deepRow + 1) : (deepRow - 1); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | //    /** | 
 |  |  | //     * 获取 浅库位排对应的深库位排 | 
 |  |  | //     */ | 
 |  |  | //    public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) { | 
 |  |  | //        int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount()); | 
 |  |  | //        int targetRow; | 
 |  |  | //        if (remainder == 2) { | 
 |  |  | //            targetRow = shallowRow - 1; | 
 |  |  | //        } else if (remainder == 3) { | 
 |  |  | //            targetRow = shallowRow + 1; | 
 |  |  | //        } else { | 
 |  |  | //            throw new RuntimeException(shallowRow + "不是浅库位排,系统繁忙"); | 
 |  |  | //        } | 
 |  |  | //        return targetRow; | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取 浅库位排对应的深库位排 | 
 |  |  |      */ | 
 |  |  |     public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) { | 
 |  |  | //        int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount()); | 
 |  |  | //        int targetRow; | 
 |  |  | //        if (remainder == 2) { | 
 |  |  | //            targetRow = shallowRow - 1; | 
 |  |  | //        } else if (remainder == 3) { | 
 |  |  | //            targetRow = shallowRow + 1; | 
 |  |  | //        } else { | 
 |  |  | //            throw new RuntimeException(shallowRow + "不是浅库位排,系统繁忙"); | 
 |  |  | //        } | 
 |  |  | //        return targetRow; | 
 |  |  |         boolean deepLocLeft = isDeepLocLeft(slaveProperties, shallowRow-1);//判断是否为左浅库位 | 
 |  |  |         return deepLocLeft? (shallowRow - 1) : (shallowRow + 1); | 
 |  |  |     } | 
 |  |  | 
 |  |  |         String targetLoc = zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2); | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | //    public static void main(String[] args) { | 
 |  |  | //        SlaveProperties slaveProperties = new SlaveProperties(); | 
 |  |  | //        slaveProperties.setDoubleDeep(true); | 
 |  |  | //        List<Integer> 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); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |     public static Integer GetWhsType(Integer sourceStaNo) { | 
 |  |  |         RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); |