|  |  | 
 |  |  | public class CommonService { | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private WrkMastService wrkMastService; | 
 |  |  |     private TaskWrkService taskWrkService; | 
 |  |  |     @Autowired | 
 |  |  |     private WrkLastnoService wrkLastnoService; | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |     private LocDetlService locDetlService; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 生成工作号 | 
 |  |  |      * 生成工作号 wrkMk 0:入库 1 - 3000 ; 1:拣料/并板/盘点 3001 - 6000 ; 2: 出库 6001 -9000 ; 3:其他 9001 -9999 | 
 |  |  |      * @return workNo(工作号) | 
 |  |  |      */ | 
 |  |  |     public int getWorkNo(Integer wrkMk) { | 
 |  |  | 
 |  |  |         int eNo = wrkLastno.getENo(); | 
 |  |  |         workNo = workNo>=eNo ? sNo : workNo+1; | 
 |  |  |         while (true) { | 
 |  |  |             WrkMast wrkMast = wrkMastService.selectById(workNo); | 
 |  |  |             if (null != wrkMast) { | 
 |  |  |             TaskWrk taskWrk = taskWrkService.selectByWrkNo(workNo); | 
 |  |  |             if (null != taskWrk) { | 
 |  |  |                 workNo = workNo>=eNo ? sNo : workNo+1; | 
 |  |  |             } else { | 
 |  |  |                 break; | 
 |  |  | 
 |  |  |         if (workNo == 0) { | 
 |  |  |             throw new CoolException("生成工作号失败,请联系管理员"); | 
 |  |  |         } else { | 
 |  |  |             if (wrkMastService.selectById(workNo)!=null) { | 
 |  |  |             if (taskWrkService.selectByWrkNo(workNo)!=null) { | 
 |  |  |                 throw new CoolException("生成工作号" + workNo + "在工作档中已存在"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |                 if (!locMastService.checkEmptyCount(locMast)) { | 
 |  |  |                     locMast = null; | 
 |  |  |                 } | 
 |  |  |                 // 目标库位 ===>> 浅库位, 则校验其深库位是否为 F D X | 
 |  |  |                 if (null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) { | 
 |  |  |                     LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast.getLocNo())); | 
 |  |  |                     if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { | 
 |  |  |                         locMast = null; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 // 目标库位 ===>> 深库位, 则校验其浅库位是否为 O | 
 |  |  |                 if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) { | 
 |  |  |                     LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo())); | 
 |  |  |                     if (!shallowLoc.getLocSts().equals("O")) { | 
 |  |  |                         locMast = null; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  |