|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.BaseMapper; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkMast; | 
|---|
|  |  |  | import org.apache.ibatis.annotations.*; | 
|---|
|  |  |  | import org.apache.ibatis.annotations.Mapper; | 
|---|
|  |  |  | import org.apache.ibatis.annotations.Param; | 
|---|
|  |  |  | import org.springframework.stereotype.Repository; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | 
|---|
|  |  |  | // wcs --------------------------------------------- | 
|---|
|  |  |  | // 入库第一步,扫码仪获取条码信息时查询 | 
|---|
|  |  |  | //    @Select("select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and barcode=#{barcode} and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC") | 
|---|
|  |  |  | WrkMast selectPakInStep1(@Param("sourceStaNo")Integer sourceStaNo, @Param("barcode")String barcode); | 
|---|
|  |  |  | WrkMast selectPakInStep1(@Param("sourceStaNo") Integer sourceStaNo, @Param("barcode") String barcode); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectPakInStep11(@Param("sourceStaNo")Integer sourceStaNo); | 
|---|
|  |  |  | WrkMast selectPakInStep11(@Param("sourceStaNo") Integer sourceStaNo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<WrkMast> selectInStep4(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectByWorkNo(Integer workNo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectByMainWrkNo(Integer workNo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<WrkMast> selectLiftStep223103(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectLiftWrkMast(Integer liftNo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectLiftWrkMastAndWrkNo(@Param("liftNo") Integer liftNo, @Param("wrkNo") Integer wrkNo, @Param("wrkNo2") Integer wrkNo2); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<WrkMast> selectLocToLocWrkMast();//查询库位移转工作档 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectPickStepByBarcode(String barcode); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectByWorkNo(Integer workNo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectByMainWrkNo(Integer workNo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Boolean judgeInbound(WrkMast wrkMast); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询指定楼层待分配车辆的任务 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectLiftWrkMast(Integer liftNo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WrkMast selectLiftWrkMastAndWrkNo(Integer liftNo, Integer wrkNo, Integer wrkNo2); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSON; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.zy.asrs.domain.enums.NotifyMsgType; | 
|---|
|  |  |  | import com.zy.asrs.entity.*; | 
|---|
|  |  |  | import com.zy.asrs.service.*; | 
|---|
|  |  |  | 
|---|
|  |  |  | private NoLiftOutServiceImpl noLiftOutService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LiftAction liftAction; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BasWrkStatusService wrkStatusService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static List<Integer> staNosIn = new ArrayList<Integer>() {{ | 
|---|
|  |  |  | 
|---|
|  |  |  | // 判断是否满足入库条件 | 
|---|
|  |  |  | if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { | 
|---|
|  |  |  | String barcode = staProtocol.getBarcode(); | 
|---|
|  |  |  | if (!Cools.isEmpty(barcode)) { | 
|---|
|  |  |  | News.info("条码扫描器检测条码信息:{}", barcode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 判断重复工作档 | 
|---|
|  |  |  | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode)); | 
|---|
|  |  |  | if (wrkMast != null) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | staProtocol = staProtocol.clone(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ((Utils.getLev(wrkMast.getLocNo()) != 1 && wrkMast.getSourceStaNo() == 1014) || (Utils.getLev(wrkMast.getLocNo()) != 5 && wrkMast.getSourceStaNo() == 1025)) { | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(1); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), 1); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMast.setLiftNo(1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Short finishWorkNo = staProtocol.getFinishWorkNo(); | 
|---|
|  |  |  | if (finishWorkNo == null) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String locNo = "1200301"; | 
|---|
|  |  |  | if (wrkMast.getStaNo() == 1025) { | 
|---|
|  |  |  | locNo = "1200305"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleIn(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP", true); | 
|---|
|  |  |  | boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP"); | 
|---|
|  |  |  | if (!dispatchShuttle) { | 
|---|
|  |  |  | News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | 
|---|
|  |  |  | News.info("{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId()); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ((Utils.getLev(wrkMast.getSourceLocNo()) != 1 && wrkMast.getStaNo() == 1013) || (Utils.getLev(wrkMast.getSourceLocNo()) != 5 && wrkMast.getStaNo() == 1024)) { | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(1); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), 1); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | wrkMast.setLiftNo(1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String locNo = "1200301"; | 
|---|
|  |  |  | if (wrkMast.getStaNo() == 1024) { | 
|---|
|  |  |  | locNo = "1200305"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleIn(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP", false); | 
|---|
|  |  |  | boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP"); | 
|---|
|  |  |  | if (!dispatchShuttle) { | 
|---|
|  |  |  | News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setSystemMsg("");//清空消息 | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | if (wrkMastService.updateById(wrkMast)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | * 初始化实时地图 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public synchronized void initRealtimeBasMap() { | 
|---|
|  |  |  | //初始化配置 | 
|---|
|  |  |  | //        WrkStsType[] values = WrkStsType.values(); | 
|---|
|  |  |  | //        for (int i = 0; i < values.length; i++) { | 
|---|
|  |  |  | //            BasWrkStatus basWrkStatus = wrkStatusService.selectById(values[i].sts); | 
|---|
|  |  |  | //            if (basWrkStatus == null) { | 
|---|
|  |  |  | //                basWrkStatus = new BasWrkStatus(); | 
|---|
|  |  |  | //                basWrkStatus.setWrkDesc(values[i].desc); | 
|---|
|  |  |  | //                basWrkStatus.setWrkSts(values[i].sts); | 
|---|
|  |  |  | //                basWrkStatus.setModiTime(new Date()); | 
|---|
|  |  |  | //                basWrkStatus.setAppeTime(new Date()); | 
|---|
|  |  |  | //                basWrkStatus.setAppeUser(9527L); | 
|---|
|  |  |  | //                basWrkStatus.setModiUser(9527L); | 
|---|
|  |  |  | //                wrkStatusService.insert(basWrkStatus); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | try { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<BasMap> basMaps = basMapService.selectList(new EntityWrapper<BasMap>().orderBy("lev", true)); | 
|---|
|  |  |  | for (BasMap basMap : basMaps) { | 
|---|
|  |  |  | Integer lev = basMap.getLev(); | 
|---|
|  |  |  | 
|---|
|  |  |  | News.info("{}任务,{}站点,托盘码不匹配,站点托盘码:{},任务托盘码:{}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode()); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(1); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), 1); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | short staNo = 1012; | 
|---|
|  |  |  | if (wrkMast.getSourceStaNo() == 1022) { | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttle(wrkMast.getWrkNo(), "0200301", wrkMast.getLocNo(), "TRANSPORT_LIFT"); | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttle(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), "0200301", "TRANSPORT_LIFT"); | 
|---|
|  |  |  | String locNo = "0200305"; | 
|---|
|  |  |  | if (wrkMast.getStaNo() == 1011) { | 
|---|
|  |  |  | locNo = "0200301"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_LIFT"); | 
|---|
|  |  |  | if (!dispatchShuttle) { | 
|---|
|  |  |  | News.info("{}任务,调度小车失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | 
|---|
|  |  |  | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 | 
|---|
|  |  |  | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_11.sts) { | 
|---|
|  |  |  | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_12.sts); | 
|---|
|  |  |  | wrkMast.setLiftNo(null); | 
|---|
|  |  |  | shuttleThread.setSyncTaskNo(0); | 
|---|
|  |  |  | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 | 
|---|
|  |  |  | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_13.sts) { | 
|---|
|  |  |  | 
|---|
|  |  |  | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 | 
|---|
|  |  |  | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) { | 
|---|
|  |  |  | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_11.sts); | 
|---|
|  |  |  | wrkMast.setLiftNo(null); | 
|---|
|  |  |  | shuttleThread.setSyncTaskNo(0); | 
|---|
|  |  |  | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 | 
|---|
|  |  |  | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) { | 
|---|
|  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务(该任务需要换层必须提前独占提升机) | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftProtocol.getLiftNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | 
|---|
|  |  |  | return false;//等待提升机到小车楼层 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast w = wrkMastService.selectLiftWrkMast(1); | 
|---|
|  |  |  | if (w != null) { | 
|---|
|  |  |  | if (!w.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在别的绑定任务ru,禁止派发", wrkMast.getWrkNo(), 1); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); | 
|---|
|  |  |  | assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 四向穿梭车编号 | 
|---|
|  |  |  | assignCommand.setTaskMode(ShuttleTaskModeType.MOVE_LOC_NO.id);//小车移库任务 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_7.sts);//小车移动到提升机中  提升机至小车层完成 ==> 小车迁入提升机中 | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | wrkMast.setLiftNo(1); | 
|---|
|  |  |  | if (wrkMastService.updateById(wrkMast)) { | 
|---|
|  |  |  | //下发任务 | 
|---|
|  |  |  | shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand); | 
|---|
|  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务(该任务需要换层必须提前独占提升机) | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftProtocol.getLiftNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!liftThread.isIdle()) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!liftThread.isIdle()) { | 
|---|
|  |  |  | 
|---|
|  |  |  | return false;//等待提升机到小车楼层 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast w = wrkMastService.selectLiftWrkMastAndWrkNo(1, wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); | 
|---|
|  |  |  | if (w != null) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在别的绑定任务out,禁止派发", wrkMast.getWrkNo(), 1); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); | 
|---|
|  |  |  | assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 四向穿梭车编号 | 
|---|
|  |  |  | assignCommand.setTaskMode(ShuttleTaskModeType.MOVE_LOC_NO.id);//小车移库任务 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_6.sts);//小车移动到提升机中  提升机至小车层完成 ==> 小车迁入提升机中 | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | wrkMast.setLiftNo(1); | 
|---|
|  |  |  | if (wrkMastService.updateById(wrkMast)) { | 
|---|
|  |  |  | //下发任务 | 
|---|
|  |  |  | shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!liftThread.isIdle()) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务 | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同 | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, wrkMast.getLiftNo()); | 
|---|
|  |  |  | 
|---|
|  |  |  | //下发任务 | 
|---|
|  |  |  | shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | WrkMast wrkMast1 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo()); | 
|---|
|  |  |  | if (wrkMast1 != null) { | 
|---|
|  |  |  | wrkMast.setLiftNo(null);//释放提升机 | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | if (!wrkMastService.updateById(wrkMast1)) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}解锁提升机", wrkMast1.getWrkNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务(该任务需要换层必须提前独占提升机) | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftProtocol.getLiftNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | 
|---|
|  |  |  | //判断提升机是否有其他任务(该任务需要换层必须提前独占提升机) | 
|---|
|  |  |  | WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftProtocol.getLiftNo()); | 
|---|
|  |  |  | if (liftWrkMast != null) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) { | 
|---|
|  |  |  | News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); | 
|---|
|  |  |  | return false;//当前提升机存在未完成任务,等待下一次轮询 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wrkMast.setModiTime(now); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public WrkMast selectByMainWrkNo(Integer workNo) { | 
|---|
|  |  |  | return this.baseMapper.selectByMainWrkNo(workNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean judgeInbound(WrkMast wrkMast) { | 
|---|
|  |  |  | switch (WrkStsType.query(wrkMast.getWrkSts())) { | 
|---|
|  |  |  | case NEW_INBOUND: | 
|---|
|  |  |  | 
|---|
|  |  |  | public WrkMast selectLiftWrkMast(Integer liftNo) { | 
|---|
|  |  |  | return this.baseMapper.selectLiftWrkMast(liftNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public WrkMast selectLiftWrkMastAndWrkNo(Integer liftNo, Integer wrkNo, Integer manWrkNo) { | 
|---|
|  |  |  | return this.baseMapper.selectLiftWrkMastAndWrkNo(liftNo, wrkNo, manWrkNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | if (!SystemProperties.WCS_RUNNING_STATUS.get()) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //初始化实时地图 | 
|---|
|  |  |  | mainService.initRealtimeBasMap(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //zhangc | 
|---|
|  |  |  | //输送线 | 
|---|
|  |  |  | // 入库 | 
|---|
|  |  |  | 
|---|
|  |  |  | //输送线完成判断 | 
|---|
|  |  |  | mainService.devpFinished(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //初始化实时地图 | 
|---|
|  |  |  | mainService.initRealtimeBasMap(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //                    // 入库  ===>>  四向穿梭车入库作业下发 | 
|---|
|  |  |  | //                    mainService.shuttleInExecute(); | 
|---|
|  |  |  | //                    // 出库  ===>>  四向穿梭车出库作业下发 | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 调度车辆 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public boolean searchDispatchShuttleIn(Integer wrkNo, String sourceLocNo, String locNo, String flag, boolean in) { | 
|---|
|  |  |  | public boolean searchDispatchShuttleS(Integer wrkNo, String sourceLocNo, String locNo, String flag) { | 
|---|
|  |  |  | ArrayList<ShuttleThread> sameLev = new ArrayList<>();//相同楼层的穿梭车 | 
|---|
|  |  |  | ArrayList<ShuttleThread> diffLev = new ArrayList<>();//不同楼层的穿梭车 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //            if (in) { | 
|---|
|  |  |  | if (currentLev == Utils.getLev(sourceLocNo)) { | 
|---|
|  |  |  | //工作档楼层相同的穿梭车 | 
|---|
|  |  |  | sameLev.add(shuttleThread); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //工作档不同楼层的穿梭车 | 
|---|
|  |  |  | diffLev.add(shuttleThread); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //            } else { | 
|---|
|  |  |  | //                if (currentLev == Utils.getLev(locNo)) { | 
|---|
|  |  |  | //                    //工作档楼层相同的穿梭车 | 
|---|
|  |  |  | //                    sameLev.add(shuttleThread); | 
|---|
|  |  |  | //                } else { | 
|---|
|  |  |  | //                    //工作档不同楼层的穿梭车 | 
|---|
|  |  |  | //                    diffLev.add(shuttleThread); | 
|---|
|  |  |  | //                } | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | if (currentLev == Utils.getLev(sourceLocNo)) { | 
|---|
|  |  |  | //工作档楼层相同的穿梭车 | 
|---|
|  |  |  | sameLev.add(shuttleThread); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | //工作档不同楼层的穿梭车 | 
|---|
|  |  |  | diffLev.add(shuttleThread); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | validation-timeout: 3000 | 
|---|
|  |  |  | connection-test-query: select 1 | 
|---|
|  |  |  | driver-class-name: com.mysql.jdbc.Driver | 
|---|
|  |  |  | url: jdbc:mysql://127.0.0.1:3306/fyxc_shuttle?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai | 
|---|
|  |  |  | url: jdbc:mysql://192.168.10.201:3306/fyxc_shuttle?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai | 
|---|
|  |  |  | username: root | 
|---|
|  |  |  | password: root | 
|---|
|  |  |  | mvc: | 
|---|
|  |  |  | 
|---|
|  |  |  | led: ${wcs-slave.led[3].id} | 
|---|
|  |  |  | # 出库口1 | 
|---|
|  |  |  | outSta[0]: | 
|---|
|  |  |  | staNo: 1012 | 
|---|
|  |  |  | staNo: 1011 | 
|---|
|  |  |  | outSta[1]: | 
|---|
|  |  |  | staNo: 1014 | 
|---|
|  |  |  | staNo: 1013 | 
|---|
|  |  |  | outSta[2]: | 
|---|
|  |  |  | staNo: 1022 | 
|---|
|  |  |  | staNo: 1021 | 
|---|
|  |  |  | outSta[3]: | 
|---|
|  |  |  | staNo: 1025 | 
|---|
|  |  |  | staNo: 1024 | 
|---|
|  |  |  | # LED1 | 
|---|
|  |  |  | led[0]: | 
|---|
|  |  |  | id: 1 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 通用查询映射结果 --> | 
|---|
|  |  |  | <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMast"> | 
|---|
|  |  |  | <id column="wrk_no" property="wrkNo" /> | 
|---|
|  |  |  | <result column="mk" property="mk" /> | 
|---|
|  |  |  | <result column="wrk_sts" property="wrkSts" /> | 
|---|
|  |  |  | <result column="io_type" property="ioType" /> | 
|---|
|  |  |  | <result column="io_pri" property="ioPri" /> | 
|---|
|  |  |  | <result column="loc_no" property="locNo" /> | 
|---|
|  |  |  | <result column="sta_no" property="staNo" /> | 
|---|
|  |  |  | <result column="source_sta_no" property="sourceStaNo" /> | 
|---|
|  |  |  | <result column="source_loc_no" property="sourceLocNo" /> | 
|---|
|  |  |  | <result column="io_time" property="ioTime" /> | 
|---|
|  |  |  | <result column="modi_user" property="modiUser" /> | 
|---|
|  |  |  | <result column="modi_time" property="modiTime" /> | 
|---|
|  |  |  | <result column="appe_user" property="appeUser" /> | 
|---|
|  |  |  | <result column="appe_time" property="appeTime" /> | 
|---|
|  |  |  | <result column="error_time" property="errorTime" /> | 
|---|
|  |  |  | <result column="error_memo" property="errorMemo" /> | 
|---|
|  |  |  | <result column="memo" property="memo" /> | 
|---|
|  |  |  | <result column="barcode" property="barcode" /> | 
|---|
|  |  |  | <result column="shuttle_no" property="shuttleNo" /> | 
|---|
|  |  |  | <result column="lift_no" property="liftNo" /> | 
|---|
|  |  |  | <result column="wms_wrk_no" property="wmsWrkNo" /> | 
|---|
|  |  |  | <result column="system_msg" property="systemMsg" /> | 
|---|
|  |  |  | <result column="main_wrk_no" property="mainWrkNo" /> | 
|---|
|  |  |  | <id column="wrk_no" property="wrkNo"/> | 
|---|
|  |  |  | <result column="mk" property="mk"/> | 
|---|
|  |  |  | <result column="wrk_sts" property="wrkSts"/> | 
|---|
|  |  |  | <result column="io_type" property="ioType"/> | 
|---|
|  |  |  | <result column="io_pri" property="ioPri"/> | 
|---|
|  |  |  | <result column="loc_no" property="locNo"/> | 
|---|
|  |  |  | <result column="sta_no" property="staNo"/> | 
|---|
|  |  |  | <result column="source_sta_no" property="sourceStaNo"/> | 
|---|
|  |  |  | <result column="source_loc_no" property="sourceLocNo"/> | 
|---|
|  |  |  | <result column="io_time" property="ioTime"/> | 
|---|
|  |  |  | <result column="modi_user" property="modiUser"/> | 
|---|
|  |  |  | <result column="modi_time" property="modiTime"/> | 
|---|
|  |  |  | <result column="appe_user" property="appeUser"/> | 
|---|
|  |  |  | <result column="appe_time" property="appeTime"/> | 
|---|
|  |  |  | <result column="error_time" property="errorTime"/> | 
|---|
|  |  |  | <result column="error_memo" property="errorMemo"/> | 
|---|
|  |  |  | <result column="memo" property="memo"/> | 
|---|
|  |  |  | <result column="barcode" property="barcode"/> | 
|---|
|  |  |  | <result column="shuttle_no" property="shuttleNo"/> | 
|---|
|  |  |  | <result column="lift_no" property="liftNo"/> | 
|---|
|  |  |  | <result column="wms_wrk_no" property="wmsWrkNo"/> | 
|---|
|  |  |  | <result column="system_msg" property="systemMsg"/> | 
|---|
|  |  |  | <result column="main_wrk_no" property="mainWrkNo"/> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectPakInStep1" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and barcode=#{barcode} and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where source_sta_no = #{sourceStaNo} | 
|---|
|  |  |  | and wrk_sts = 2 | 
|---|
|  |  |  | and barcode = #{barcode} | 
|---|
|  |  |  | and (io_type = 1 or io_type = 10) | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no ASC limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectPakInStep11" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=1 and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where source_sta_no = #{sourceStaNo} | 
|---|
|  |  |  | and wrk_sts = 1 | 
|---|
|  |  |  | and (io_type = 1 or io_type = 10) | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no ASC limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectInStep4" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | and wrk_sts = 4 | 
|---|
|  |  |  | and io_type in (1,10,53,57) | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | where 1 = 1 | 
|---|
|  |  |  | and wrk_sts = 4 | 
|---|
|  |  |  | and io_type in (1, 10, 53, 57) | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectByWorkNo" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where wrk_no=#{workNo} | 
|---|
|  |  |  | limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where wrk_no = #{workNo} limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectByMainWrkNo" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where main_wrk_no = #{mainWrkNo} limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectLiftStep223103" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | and wrk_sts in (2,103,303) | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where 1 = 1 | 
|---|
|  |  |  | and wrk_sts in (2, 103, 303) | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectByWorkNo324104" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where wrk_no=#{workNo} | 
|---|
|  |  |  | and wrk_sts in (3,104,303,306) | 
|---|
|  |  |  | limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where wrk_no = #{workNo} | 
|---|
|  |  |  | and wrk_sts in (3, 104, 303, 306) limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectBy2125" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where wrk_sts in (101,105) | 
|---|
|  |  |  | and io_type in (101,103,107,110) | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where wrk_sts in (101, 105) | 
|---|
|  |  |  | and io_type in (101, 103, 107, 110) | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectNoShuttleWrkByLev" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where shuttle_no is null | 
|---|
|  |  |  | and ((wrk_sts = 2 and loc_no like #{lev}) or (wrk_sts = 101 and source_loc_no like #{lev})) | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | and ((wrk_sts = 2 and loc_no like #{lev}) or (wrk_sts = 101 and source_loc_no like #{lev})) | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectShuttleWrkByLev" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where shuttle_no is not null | 
|---|
|  |  |  | and ((wrk_sts not in (9,10)  and loc_no like #{lev}) or (wrk_sts not in (29,30) and source_loc_no like #{lev})) | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | and ((wrk_sts not in (9, 10) and loc_no like #{lev}) or | 
|---|
|  |  |  | (wrk_sts not in (29, 30) and source_loc_no like #{lev})) | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectShuttleOutWrkByLev" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where shuttle_no is not null | 
|---|
|  |  |  | and (wrk_sts not in (109,110) and source_loc_no like #{lev}) | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | and (wrk_sts not in (109, 110) and source_loc_no like #{lev}) | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectLiftWrkMast" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where lift_no = #{liftNo} limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectLiftWrkMastAndWrkNo" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where lift_no = #{liftNo} | 
|---|
|  |  |  | and wrk_sts in (3,4,104,105,301,302,303,304,305,306,307,308,309) | 
|---|
|  |  |  | <if test="wrkNo !=null"> | 
|---|
|  |  |  | and wrk_no != #{wrkNo} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="wrkNo2 !=null"> | 
|---|
|  |  |  | and wrk_no != #{wrkNo2} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectLocToLocWrkMast" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where io_type in (11) | 
|---|
|  |  |  | and wrk_sts not in (9,10,109,110) | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | and wrk_sts not in (9, 10, 109, 110) | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectPickStepByBarcode" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where io_type in (53,103,107) | 
|---|
|  |  |  | and wrk_sts in (2,3,104,109) | 
|---|
|  |  |  | and barcode = #{barcode} | 
|---|
|  |  |  | order by io_pri desc,wrk_sts desc | 
|---|
|  |  |  | limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where io_type in (53, 103, 107) | 
|---|
|  |  |  | and wrk_sts in (2, 3, 104, 109) | 
|---|
|  |  |  | and barcode = #{barcode} | 
|---|
|  |  |  | order by io_pri desc, wrk_sts desc limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectShuttleHasMoveWorking" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | and shuttle_no = #{shuttleNo} | 
|---|
|  |  |  | and wrk_sts not in (311) | 
|---|
|  |  |  | and io_type = 200 | 
|---|
|  |  |  | order by io_pri desc,io_time,wrk_no asc | 
|---|
|  |  |  | limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where 1 = 1 | 
|---|
|  |  |  | and shuttle_no = #{shuttleNo} | 
|---|
|  |  |  | and wrk_sts not in (311) | 
|---|
|  |  |  | and io_type = 200 | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no asc limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectShuttleMoveWrk" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where 1 = 1 | 
|---|
|  |  |  | --         and wrk_sts in (301,302,303,304,305,306,307,308,309,310,311) | 
|---|
|  |  |  | and io_type = 200 | 
|---|
|  |  |  | order by io_pri desc,io_time,wrk_no asc | 
|---|
|  |  |  | and io_type = 200 | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no asc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectShuttleWorking" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | and shuttle_no = #{shuttleNo} | 
|---|
|  |  |  | and wrk_sts not in (9,10,109,110,210) | 
|---|
|  |  |  | and io_type not in (200,300) | 
|---|
|  |  |  | order by io_pri desc,io_time,wrk_no asc | 
|---|
|  |  |  | limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where 1 = 1 | 
|---|
|  |  |  | and shuttle_no = #{shuttleNo} | 
|---|
|  |  |  | and wrk_sts not in (9, 10, 109, 110, 210) | 
|---|
|  |  |  | and io_type not in (200, 300) | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no asc limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectByBarcode" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | and barcode = #{barcode} | 
|---|
|  |  |  | order by io_pri desc,io_time,wrk_no asc | 
|---|
|  |  |  | limit 0,1 | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where 1 = 1 | 
|---|
|  |  |  | and barcode = #{barcode} | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no asc limit 0,1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectInWrkMastByLiftNo" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | and lift_no = #{liftNo} | 
|---|
|  |  |  | and io_type <= 100 | 
|---|
|  |  |  | and wrk_sts in (1,2,3,4,5) | 
|---|
|  |  |  | order by io_pri desc,io_time,wrk_no asc | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where 1 = 1 | 
|---|
|  |  |  | and lift_no = #{liftNo} | 
|---|
|  |  |  | and io_type <= 100 | 
|---|
|  |  |  | and wrk_sts in (1, 2, 3, 4, 5) | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no asc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectChargeWorking" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where io_type in (300) | 
|---|
|  |  |  | and shuttle_no = #{shuttleNo} | 
|---|
|  |  |  | order by io_pri desc,io_time,wrk_no asc | 
|---|
|  |  |  | and shuttle_no = #{shuttleNo} | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no asc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectChargeWorkingByChargeSta" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select * from asr_wrk_mast | 
|---|
|  |  |  | where wrk_sts in (201,202,203,204,205,210) | 
|---|
|  |  |  | and mk = #{chargeSta} | 
|---|
|  |  |  | order by io_pri desc,io_time,wrk_no asc | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from asr_wrk_mast | 
|---|
|  |  |  | where wrk_sts in (201, 202, 203, 204, 205, 210) | 
|---|
|  |  |  | and mk = #{chargeSta} | 
|---|
|  |  |  | order by io_pri desc, io_time, wrk_no asc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </mapper> | 
|---|