| | |
| | | if (Cools.isEmpty(barcode) || "?".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { |
| | | continue; |
| | | } |
| | | |
| | | //检测是否存在出库任务 |
| | | List<WrkMast> wrkMastOutList = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("sta_no", 1024, 1013) |
| | | .eq("io_type", 101)); |
| | | if (!wrkMastOutList.isEmpty()) { |
| | | MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol.getSiteId())); |
| | | News.error("站点存在出库任务,禁止入库,站点={}", staProtocol.getSiteId()); |
| | | continue; |
| | | } |
| | | |
| | | // 判断重复工作档 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode)); |
| | | if (wrkMast != null && wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) { |
| | |
| | | Short workNo = staProtocol.getWorkNo(); |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { |
| | | String barcode = staProtocol.getBarcode(); |
| | | |
| | | //检测是否存在出库任务 |
| | | List<WrkMast> wrkMastOutList = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("sta_no", 1011, 1021) |
| | | .eq("io_type", 101)); |
| | | if (!wrkMastOutList.isEmpty()) { |
| | | MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol.getSiteId())); |
| | | News.error("站点存在出库任务,禁止入库,站点={}", staProtocol.getSiteId()); |
| | | continue; |
| | | } |
| | | |
| | | // 判断重复工作档 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode)); |
| | | if (wrkMast == null) { |
| | |
| | | if (devpThread == null) { |
| | | continue; |
| | | } |
| | | |
| | | //检测是否存在入库任务 |
| | | Integer checkInSourceStaNo = null; |
| | | if (wrkMast.getStaNo() == 1013) { |
| | | checkInSourceStaNo = 1014; |
| | | } else if (wrkMast.getStaNo() == 1024) { |
| | | checkInSourceStaNo = 1025; |
| | | } else { |
| | | continue; |
| | | } |
| | | List<WrkMast> wrkMastInList = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .eq("source_sta_no", checkInSourceStaNo) |
| | | .eq("io_type", 1)); |
| | | if (!wrkMastInList.isEmpty()) { |
| | | MessageQueue.offer(SlaveType.Devp, 1, new Task(3, wrkMast.getStaNo())); |
| | | News.error("站点存在入库任务,禁止出库,站点={}", wrkMast.getStaNo()); |
| | | continue; |
| | | } |
| | | |
| | | |
| | | Map<Integer, StaProtocol> station = devpThread.getStation(); |
| | | StaProtocol staProtocol = station.get(wrkMast.getStaNo()); |
| | | if (staProtocol == null) { |
| | |
| | | if (wrkMast.getSourceStaNo() == 1022) { |
| | | led = 3; |
| | | } else if (wrkMast.getSourceStaNo() == 1031) { |
| | | //工作号一致判断 |
| | | if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWmsWrkNo2())) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}工作号1,{}工作号2,1135过来的托盘,为将工作号写到至1031", staProtocol.getFinishWorkNo(), wrkMast.getWmsWrkNo2()); |
| | | return false; |
| | | } |
| | | } |
| | | // 尺寸检测异常 |
| | | boolean back = false; |
| | |
| | | staNo = 1023; |
| | | } else if (wrkMast.getSourceStaNo() == 1031) { |
| | | staNo = 1032; |
| | | //检测1135货物是否到达1031,到达才允许走到1032 |
| | | if (!(staProtocol.isAutoing() |
| | | && staProtocol.isLoading()) |
| | | ) { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | staProtocol = staProtocol.clone(); |
| | |
| | | try { |
| | | List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.NEW_OUTBOUND.sts, WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts).in("sta_no", 1011, 1021, 1031)); |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | |
| | | //检测是否存在入库任务 |
| | | Integer checkInSourceStaNo = null; |
| | | if (wrkMast.getStaNo() == 1011) { |
| | | checkInSourceStaNo = 1012; |
| | | } else if (wrkMast.getStaNo() == 1021) { |
| | | checkInSourceStaNo = 1022; |
| | | } |
| | | |
| | | if (checkInSourceStaNo != null) { |
| | | List<WrkMast> wrkMastInList = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .eq("source_sta_no", checkInSourceStaNo) |
| | | .eq("io_type", 1)); |
| | | if (!wrkMastInList.isEmpty()) { |
| | | MessageQueue.offer(SlaveType.Devp, 1, new Task(3, wrkMast.getStaNo())); |
| | | News.error("站点存在入库任务,禁止出库,站点={}", wrkMast.getStaNo()); |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | boolean step1 = this.liftOutExecuteStep1(wrkMast);//触发搬运任务 |
| | | if (!step1) { |
| | | continue; |
| | |
| | | //获取提升机命令 |
| | | List<LiftCommand> liftCommands = liftThread.getPalletOutCommand(wrkMast.getWrkNo(), sourceLev, wrkMast.getStaNo()); |
| | | LiftCommand liftCommand = liftCommands.get(0); |
| | | int deviceWrk = commonService.getWorkNo(8);//生成提升机设备工作号 |
| | | liftCommand.setTaskNo(deviceWrk);//更换随机任务号 |
| | | |
| | | ArrayList<LiftCommand> commands = new ArrayList<>(); |
| | | commands.add(liftCommand); |
| | |
| | | } else if (staProtocol.getSiteId() == 1031 && staProtocol.isLoading()) { |
| | | wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getFinishWorkNo()).eq("wrk_sts", WrkStsType.OUTBOUND_DEVP_RUN_2.sts)); |
| | | if (wrkMast != null) { |
| | | staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo()))); |
| | | staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWmsWrkNo()))); |
| | | staProtocol.setStaNo(Short.parseShort(String.valueOf(1135))); |
| | | MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); |
| | | News.taskInfo(wrkMast.getWrkNo(), "输送线入库命令下发,任务数据={}", JSON.toJSON(wrkMast)); |
| | | wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "输送线已确认且任务完成状态。输送线号={},完结工作号={}", staProtocol.getSiteId(), staProtocol.getFinishWorkNo()); |
| | | } else { |
| | | News.error("输送线已确认且任务完成状态,复位失败,但未找到工作档。输送线号={},完结工作号={}", staProtocol.getSiteId(), staProtocol.getFinishWorkNo()); |
| | | boolean offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); |
| | | if (offer) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "输送线入库命令下发,任务数据={}", JSON.toJSON(wrkMast)); |
| | | wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "输送线已确认且任务完成状态。输送线号={},完结工作号={}", staProtocol.getSiteId(), staProtocol.getFinishWorkNo()); |
| | | } else { |
| | | News.error("输送线已确认且任务完成状态,复位失败,但未找到工作档。输送线号={},完结工作号={}", staProtocol.getSiteId(), staProtocol.getFinishWorkNo()); |
| | | } |
| | | } |
| | | } |
| | | } |