|  |  | 
 |  |  |                     News.warn("" + mark + " - 1" + " - 12" + " - // F、D  库位={},库位状态={}", shallowLoc.getLocNo(), shallowLoc.getLocSts()); | 
 |  |  |                     // 此标记避免多次执行移库任务 | 
 |  |  |                     if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) { | 
 |  |  |                         if (moveLocForDeepLoc(slave, shallowLoc, mark)) { | 
 |  |  |                         if (moveLocForDeepLoc(slave, crnProtocol, shallowLoc, mark)) { | 
 |  |  |                             wrkMast.setUpdMk("Y"); | 
 |  |  |                             wrkMast.setIoPri(14D); | 
 |  |  |                             wrkMastMapper.updateById(wrkMast); | 
 |  |  | 
 |  |  | //                            if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk()) | 
 |  |  | //                                || Cools.isEmpty(waitWrkMast)) { | 
 |  |  |                             if (Cools.isEmpty(waitWrkMast)) { | 
 |  |  |                                 if (moveLocForDeepLoc(slave, shallowLoc, mark)) { | 
 |  |  |                                 if (moveLocForDeepLoc(slave, crnProtocol, shallowLoc, mark)) { | 
 |  |  |                                     wrkMast.setUpdMk("Y"); | 
 |  |  | //                                    wrkMast.setIoPri(14D); | 
 |  |  |                                     wrkMastMapper.updateById(wrkMast); | 
 |  |  | 
 |  |  |      * 因双深库位阻塞,对浅库位进行移转(立即执行版) | 
 |  |  |      * tip:同步 | 
 |  |  |      */ | 
 |  |  |     private synchronized boolean moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark) { | 
 |  |  |  | 
 |  |  |     private synchronized boolean moveLocForDeepLoc(CrnSlave crn, CrnProtocol crnProtocol, LocMast shallowLoc, Integer mark) { | 
 |  |  |         try { | 
 |  |  |             News.warnNoLog("" + mark + "moveLocForDeepLoc" + " - 0" + " - 开始执行:因双深库位阻塞,对浅库位进行移转(立即执行版)"); | 
 |  |  |             List<Integer> rows = locMastService.queryDistinctRow(crn.getId()); | 
 |  |  | 
 |  |  |             for (Integer row : rows) { | 
 |  |  |                 if (Utils.isDeepLoc(slaveProperties, row)) { | 
 |  |  |                     loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1()); | 
 |  |  |  | 
 |  |  |                     if (loc != null) { | 
 |  |  |                         if (crn.getId() == 1) { | 
 |  |  |                             if (Utils.getLaneByLocNo(loc.getLocNo()) != crnProtocol.getCrnLane()) { | 
 |  |  |                                 continue; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) { | 
 |  |  |                             String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); | 
 |  |  |                             LocMast shallowLoc1 = locMastService.selectById(shallowLocNo); | 
 |  |  | 
 |  |  |                         loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1()); | 
 |  |  |  | 
 |  |  |                         if (null != loc) {//对应深库位非在库状态,不能移库 | 
 |  |  |                             if (crn.getId() == 1) { | 
 |  |  |                                 if (Utils.getLaneByLocNo(loc.getLocNo()) != crnProtocol.getCrnLane()) { | 
 |  |  |                                     continue; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |  | 
 |  |  |                             String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo()); | 
 |  |  |                             LocMast deepLoc1 = locMastService.selectById(deepLoc); | 
 |  |  |                             if (!deepLoc1.getLocSts().equals("F") && !deepLoc1.getLocSts().equals("D")) { |