|  |  | 
 |  |  |      */ | 
 |  |  |     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); | 
 |  |  |         boolean deepLocLeft = isDeepLocLeft(slaveProperties, row); | 
 |  |  |         boolean deepLocRight = isDeepLocRight(slaveProperties, row); | 
 |  |  |         int targetRow; | 
 |  |  |         if (deepLocLeft) { | 
 |  |  |             targetRow = row + 1; | 
 |  |  |         } else if (deepLocRight) { | 
 |  |  |             targetRow = row - 1; | 
 |  |  |         } else { | 
 |  |  |             throw new RuntimeException(deepLoc + "不是浅库位,系统繁忙"); | 
 |  |  |         } | 
 |  |  |         return zerofill(String.valueOf(targetRow), 2) + deepLoc.substring(2); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) { | 
 |  |  |         int row = getRow(shallowLoc); | 
 |  |  |         int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); | 
 |  |  |         boolean deepLocLeft = isDeepLocLeft(slaveProperties, row-1); | 
 |  |  |         boolean deepLocRight = isDeepLocRight(slaveProperties, row+1); | 
 |  |  |         int targetRow; | 
 |  |  |         if (remainder == 2) { | 
 |  |  |         if (deepLocLeft) { | 
 |  |  |             targetRow = row - 1; | 
 |  |  |         } else if (remainder == 3) { | 
 |  |  |         } else if (deepLocRight) { | 
 |  |  |             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); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取 浅库位排对应的深库位排 | 
 |  |  |      */ | 
 |  |  |     public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) { | 
 |  |  |         int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount()); | 
 |  |  |         boolean deepLocLeft = isDeepLocLeft(slaveProperties, shallowRow-1); | 
 |  |  |         boolean deepLocRight = isDeepLocRight(slaveProperties, shallowRow+1); | 
 |  |  |         int targetRow; | 
 |  |  |         if (remainder == 2) { | 
 |  |  |         if (deepLocLeft) { | 
 |  |  |             targetRow = shallowRow - 1; | 
 |  |  |         } else if (remainder == 3) { | 
 |  |  |         } else if (deepLocRight) { | 
 |  |  |             targetRow = shallowRow + 1; | 
 |  |  |         } else { | 
 |  |  |             throw new RuntimeException(shallowRow + "不是浅库位排,系统繁忙"); | 
 |  |  |             throw new RuntimeException(shallowRow + "不是浅库位,系统繁忙"); | 
 |  |  |         } | 
 |  |  |         return targetRow; | 
 |  |  |     } |