|  |  | 
 |  |  |  | 
 |  |  |     WrkMast selectShuttleWorking(@Param("shuttleNo") Integer shuttleNo);//是否有穿梭车任务(移库任务除外) | 
 |  |  |  | 
 |  |  |     WrkMast selectShuttleWorking2(@Param("shuttleNo") Integer shuttleNo, @Param("wrkNo") Integer wrkNo, @Param("wrkNo2") Integer wrkNo2);//是否有穿梭车任务(移库任务除外) | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     WrkMast selectByBarcode(String barcode); | 
 |  |  |  | 
 |  |  |     List<WrkMast> selectInWrkMastByLiftNo(Integer liftNo);//搜索指定提升机的入库任务 | 
 
 |  |  | 
 |  |  |  | 
 |  |  |     WrkMast selectByShuttleNo(Integer shuttleNo); | 
 |  |  |  | 
 |  |  |     WrkMast selectShuttleWorking2(Integer shuttleNo, Integer wrkNo, Integer wrkNo2); | 
 |  |  |  | 
 |  |  |     Boolean judgeInbound(WrkMast wrkMast); | 
 |  |  |  | 
 |  |  |     //查询指定楼层待分配车辆的任务 | 
 
 |  |  | 
 |  |  |     private BasWrkStatusService wrkStatusService; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public static List<Integer> staNosIn = new ArrayList<Integer>() {{ | 
 |  |  |         add(1015); | 
 |  |  |         add(1026); | 
 |  |  |     }}; | 
 |  |  |  | 
 |  |  |     private boolean isInEnable(DevpThread devpThread, Integer staNo) { | 
 |  |  |         if (staNo == null) { | 
 |  |  |             return false; | 
 |  |  | 
 |  |  |                     if (liftWrkMast != null) { | 
 |  |  |                         if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
 |  |  |                             News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), 1); | 
 |  |  |                             return; | 
 |  |  |                             continue; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     wrkMast.setLiftNo(1); | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 String locNo = "1200301"; | 
 |  |  |                 if (wrkMast.getStaNo() == 1025) { | 
 |  |  |                 if (wrkMast.getStaNo() == 1026) { | 
 |  |  |                     locNo = "1200305"; | 
 |  |  |                 } | 
 |  |  |                 boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP"); | 
 |  |  |                 if (!dispatchShuttle) { | 
 |  |  |                     News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
 |  |  |                     return; | 
 |  |  |                     continue; | 
 |  |  |                 } else { | 
 |  |  |                     News.info("{}任务,调度小车失成功", wrkMast.getWrkNo()); | 
 |  |  |                 } | 
 |  |  |                 wrkMast.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN.sts); | 
 |  |  |                 wrkMast.setLiftNo(null); | 
 |  |  |                 wrkMast.setSystemMsg("");//清空消息 | 
 |  |  |                 wrkMast.setModiTime(new Date()); | 
 |  |  |                 if (wrkMastService.updateById(wrkMast)) { | 
 |  |  |                     return; | 
 |  |  |                 if (!wrkMastService.updateById(wrkMast)) { | 
 |  |  |                     News.info("{}任务,更新工作档失败", wrkMast.getWrkNo()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         List<WrkMast> wrkSts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.NEW_OUTBOUND.sts).in("sta_no", 1013, 1024)); | 
 |  |  |         for (WrkMast wrkMast : wrkSts) { | 
 |  |  |             if (devpThread == null) { | 
 |  |  |                 return; | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             Map<Integer, StaProtocol> station = devpThread.getStation(); | 
 |  |  |             StaProtocol staProtocol = station.get(wrkMast.getStaNo()); | 
 |  |  |             if (staProtocol == null) { | 
 |  |  |                 return; | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (!staProtocol.isAutoing()) { | 
 |  |  |                 News.info("{}任务,{}站点,不在自动状态", wrkMast.getWrkNo(), staProtocol.getSiteId()); | 
 |  |  |                 return; | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             if (!staProtocol.isOutEnable()) { | 
 |  |  |                 News.info("{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId()); | 
 |  |  |                 return; | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             String locNo = "1200301"; | 
 |  |  |             if (wrkMast.getStaNo() == 1024) { | 
 |  |  | 
 |  |  |             boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP"); | 
 |  |  |             if (!dispatchShuttle) { | 
 |  |  |                 News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
 |  |  |                 return; | 
 |  |  |                 continue; | 
 |  |  |             } else { | 
 |  |  |                 News.info("{}任务,无提升机处调度小车成功", wrkMast.getWrkNo()); | 
 |  |  |             } | 
 |  |  | 
 |  |  |             wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts); | 
 |  |  |             wrkMast.setSystemMsg("");//清空消息 | 
 |  |  |             wrkMast.setModiTime(now); | 
 |  |  |             if (wrkMastService.updateById(wrkMast)) { | 
 |  |  |                 return; | 
 |  |  |             if (!wrkMastService.updateById(wrkMast)) { | 
 |  |  |                 News.info("{}任务,更新工作档失败", wrkMast.getWrkNo()); | 
 |  |  |             } else { | 
 |  |  |                 WrkMast wrkMast1 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo()); | 
 |  |  |                 News.info("{}任务,移动任务生成成功——1", wrkMast1.getWrkNo()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | 
 |  |  |             boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); | 
 |  |  |  | 
 |  |  |             wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts); | 
 |  |  |             wrkMast.setLiftNo(1); | 
 |  |  |             wrkMast.setSystemMsg("");//清空消息 | 
 |  |  |             wrkMast.setModiTime(now); | 
 |  |  |             if (wrkMastService.updateById(wrkMast)) { | 
 |  |  | 
 |  |  |                 News.info("{}任务,{}站点,无托盘", wrkMast.getWrkNo(), staProtocol.getSiteId()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |             if (sourceStaNo == 1023) { | 
 |  |  |                 if (staProtocol.getFinishWorkNo().intValue() != wrkMast.getWrkNo()) { | 
 |  |  |                     News.info("{}任务,{}站点,任务号不一致", wrkMast.getWrkNo(), staProtocol.getSiteId()); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 if (!station.get(1022).getBarcode().equals(wrkMast.getBarcode())) { | 
 |  |  |                     News.info("{}任务,{}站点,托盘码不匹配,站点托盘码:{},任务托盘码:{}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode()); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) { | 
 |  |  |                     News.info("{}任务,{}站点,任务号不一致", wrkMast.getWrkNo(), staProtocol.getSiteId()); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |                 if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) { | 
 |  |  |                     News.info("{}任务,{}站点,托盘码不匹配,站点托盘码:{},任务托盘码:{}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode()); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) { | 
 |  |  |                 News.info("{}任务,{}站点,任务号不一致", wrkMast.getWrkNo(), staProtocol.getSiteId()); | 
 |  |  |             String locNo = "0200305"; | 
 |  |  |             if (wrkMast.getSourceStaNo() == 1012) { | 
 |  |  |                 locNo = "0200301"; | 
 |  |  |             } | 
 |  |  |             boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT"); | 
 |  |  |             if (!dispatchShuttle) { | 
 |  |  |                 News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) { | 
 |  |  |                 News.info("{}任务,{}站点,托盘码不匹配,站点托盘码:{},任务托盘码:{}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode()); | 
 |  |  |                 return false; | 
 |  |  |             int lev = 105; | 
 |  |  |             if (wrkMast.getSourceStaNo() == 1012) { | 
 |  |  |                 lev = 101; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             //获取提升机命令 | 
 |  |  |             List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), wrkMast.getSourceStaNo(), 101); | 
 |  |  |             List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), sourceStaNo, lev); | 
 |  |  |             LiftCommand liftCommand = liftCommands.get(0); | 
 |  |  |  | 
 |  |  |             int deviceWrk = commonService.getWorkNo(8);//生成提升机设备工作号 | 
 |  |  | 
 |  |  |                 News.info("{}任务,{}号提升机,提升机内无托盘,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |             String locNo = "0200305"; | 
 |  |  |             if (wrkMast.getStaNo() == 1011) { | 
 |  |  |                 locNo = "0200301"; | 
 |  |  |             } | 
 |  |  |             boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT"); | 
 |  |  |             if (!dispatchShuttle) { | 
 |  |  |                 News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  | //            String locNo = "0200305"; | 
 |  |  | //            if (wrkMast.getStaNo() == 1011) { | 
 |  |  | //                locNo = "0200301"; | 
 |  |  | //            } | 
 |  |  | //            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT"); | 
 |  |  | //            if (!dispatchShuttle) { | 
 |  |  | //                News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
 |  |  | //                return false; | 
 |  |  | //            } | 
 |  |  |  | 
 |  |  |             wrkMast.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN.sts); | 
 |  |  |             // TODO 测试中发现不能解禁,因为提升机里存在托盘,就不能解禁,不然另一辆小车可能会近提升机 | 
 |  |  | 
 |  |  |             Map<Integer, StaProtocol> station = devpThread.getStation(); | 
 |  |  |             WrkMast wrkMast = null; | 
 |  |  |             for (StaProtocol staProtocol : station.values()) { | 
 |  |  |                 if (staProtocol.getSiteId() == 1013 || staProtocol.getSiteId() == 1014) { | 
 |  |  |                 if (staProtocol.getSiteId() == 1013 || staProtocol.getSiteId() == 1024) { | 
 |  |  |                     wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getFinishWorkNo()).eq("wrk_sts", WrkStsType.OUTBOUND_DEVP_RUN.sts)); | 
 |  |  |                     if (wrkMast != null) { | 
 |  |  |                         wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts); | 
 
 |  |  | 
 |  |  |                 News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线无物", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |             //TODO | 
 |  |  | //            if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) { | 
 |  |  | //                            log.info( "{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  | //                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  | //                return false; | 
 |  |  | //            } | 
 |  |  |  | 
 |  |  |             if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) { | 
 |  |  |                             log.info( "{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  |                 News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |             //小车处于空闲状态 | 
 |  |  |             if (!shuttleThread.isIdle()) { | 
 |  |  |                 News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}小车,小车忙碌中", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); | 
 |  |  | 
 |  |  |                 News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线无物", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |             //TODO | 
 |  |  | //            if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) { | 
 |  |  | //                log.error("{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  | //                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  | //                return false; | 
 |  |  | //            } | 
 |  |  |             if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) { | 
 |  |  |                 log.error("{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  |                 News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线的工作号和工作档不匹配", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) { | 
 |  |  |                 return false; | 
 
 |  |  | 
 |  |  |             } | 
 |  |  |             int lev = Utils.getLev(wrkMast.getLocNo()); | 
 |  |  |             StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025); | 
 |  |  |             //TODO | 
 |  |  | //            if (!staProtocol2.isOutEnable()) { | 
 |  |  | //                log.error("{}任务,{}号输送线不可出", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); | 
 |  |  | //                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线不可出", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); | 
 |  |  | //                return false; | 
 |  |  | //            } | 
 |  |  |  | 
 |  |  |             if (!staProtocol2.isOutEnable()) { | 
 |  |  |                 log.error("{}任务,{}号输送线不可出", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); | 
 |  |  |                 News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线不可出", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026); | 
 |  |  |             if (staProtocol.isLoading()) { | 
 |  |  |                 log.error("{}任务,{}号输送线有物", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); | 
 |  |  | 
 |  |  |             //获取穿梭车最近且空闲的提升机 | 
 |  |  |             LiftThread liftThread = LiftUtils.getRecentLift(shuttleProtocol.getCurrentLocNo()); | 
 |  |  |             if (liftThread == null) { | 
 |  |  |                 News.info("{}号小车,{}目标库位,没有可用空闲提升机", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo()); | 
 |  |  |                 News.info("{}号小车,{}小车库位,没有可用空闲提升机", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo()); | 
 |  |  |                 return false;//没有可用且空闲的提升机 | 
 |  |  |             } | 
 |  |  |  | 
 |  |  | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 liftProtocol = liftThread.getStatus(); | 
 |  |  |                 //判断提升机内是否有小车 | 
 |  |  |                 if (liftProtocol.getHasCar()) { | 
 |  |  |                     News.info("{}任务,{}号提升机,提升机内有小车,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //判断提升机内是否有托盘 | 
 |  |  |                 if (liftProtocol.getHasTray()) { | 
 |  |  |                     News.info("{}任务,{}号提升机,提升机内有托盘,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (liftProtocol == null) { | 
 |  |  |                     News.info("{}号提升机对象不存在", wrkMast.getLiftNo()); | 
 |  |  |                     return false; | 
 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public WrkMast selectShuttleWorking2(Integer shuttleNo,Integer wrkNo,Integer wrkNo2) { | 
 |  |  |         return this.baseMapper.selectShuttleWorking2(shuttleNo,wrkNo,wrkNo2); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public WrkMast selectByShuttleNo(Integer shuttleNo) { | 
 |  |  |         return this.baseMapper.selectByShuttleNo(shuttleNo); | 
 |  |  |     } | 
 
 |  |  | 
 |  |  |                 if (!wrkMastService.updateById(main)) { | 
 |  |  |                     log.info("更新主工作档[workNo={}]失败", wrkMast.getWrkNo()); | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 log.info("找不到主工作档[workNo={},mainWorkNo={}]失败", wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); | 
 |  |  |             } | 
 |  |  |             // 保存工作主档历史档 | 
 |  |  |             if (!wrkMastLogService.save(wrkMast.getWrkNo())) { | 
 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //判断是否有其他任务正在使用穿梭车 | 
 |  |  |         WrkMast wrkMast2 = wrkMastService.selectShuttleWorking(shuttleNo); | 
 |  |  |         WrkMast wrkMast2 = wrkMastService.selectShuttleWorking2(shuttleNo, wrkNo, mainWrkMast != null ? mainWrkMast.getMainWrkNo() : null); | 
 |  |  |         if (wrkMast2 != null && !disableCheck) {//小车存在其他工作档任务,等待执行完成后再生成新的任务 | 
 |  |  |             if (mainWrkMast == null) { | 
 |  |  |                 News.info("{}号小车,存在其他工作档任务,等待执行完成再生成新的任务", shuttleNo); | 
 |  |  |                 return false; | 
 |  |  |             } else { | 
 |  |  |                 if (!mainWrkMast.getShuttleNo().equals(shuttleNo)) { | 
 |  |  |                 if (mainWrkMast.getShuttleNo() != null && !mainWrkMast.getShuttleNo().equals(shuttleNo)) { | 
 |  |  |                     News.info("{}号小车,存在其他工作档任务,等待执行完成再生成新的任务", shuttleNo); | 
 |  |  |                     return false; | 
 |  |  |                 } | 
 
 |  |  | 
 |  |  |         put(7, 107); | 
 |  |  |         put(8, 108); | 
 |  |  |         put(9, 109); | 
 |  |  |         put(10, 1023); | 
 |  |  |         put(11, 1032); | 
 |  |  |     }}; | 
 |  |  |  | 
 |  |  |     public static final HashMap<Integer, List<String>> liftNodeMap = new HashMap<Integer, List<String>>() {{ | 
 
 |  |  | 
 |  |  |         order by io_pri desc, io_time, wrk_no asc limit 0,1 | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectShuttleWorking2" resultMap="BaseResultMap"> | 
 |  |  |         select * | 
 |  |  |         from asr_wrk_mast | 
 |  |  |         where 1 = 1 | 
 |  |  |           and shuttle_no = #{shuttleNo} | 
 |  |  |         <if test="wrkNo !=null"> | 
 |  |  |             and wrk_no != #{wrkNo} | 
 |  |  |         </if> | 
 |  |  |         <if test="wrkNo2 !=null"> | 
 |  |  |             and wrk_no != #{wrkNo2} | 
 |  |  |         </if> | 
 |  |  |         order by io_pri desc, io_time, wrk_no asc limit 0,1 | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectByBarcode" resultMap="BaseResultMap"> | 
 |  |  |         select * | 
 |  |  |         from asr_wrk_mast |