|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 | 
|---|