| | |
| | | continue; |
| | | } |
| | | String barcode = barcodeThread.getBarcode(); |
| | | staProtocol.setBarcode(barcode); |
| | | if(!Cools.isEmpty(barcode)) { |
| | | StaDescService staDescService = SpringUtils.getBean(StaDescService.class); |
| | | |
| | |
| | | map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2"); |
| | | |
| | | TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode)); |
| | | List<Integer> list = new ArrayList<>(); |
| | | list.add(taskWrk.getCrnNo()); |
| | | |
| | | if (Cools.isEmpty(taskWrk)){ |
| | | continue; |
| | | } |
| | | |
| | | //StaDesc staDesc1 = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_no",inSta.getBackSta())); |
| | | if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null){ |
| | | if ( taskWrk.getWrkNo() != null && taskWrk.getWrkNo().shortValue() == workNo ){ |
| | |
| | | toWmsDTO.setWarehouseId("1688469798893297665"); |
| | | toWmsDTO.setContainerCode(barcode); |
| | | toWmsDTO.setApplyType("TUNNEL_LOCATION"); |
| | | toWmsDTO.setTaskTunnel(taskWrk.getCrnNo()); |
| | | List<Integer> list = new ArrayList<>(); |
| | | |
| | | if (inSta.getBarcode() == 7 || inSta.getBarcode() == 8){ |
| | | toWmsDTO.setTaskTunnel(taskWrk.getCrnNo()); |
| | | list.add(taskWrk.getCrnNo()); |
| | | }else { |
| | | toWmsDTO.setTaskTunnel(inSta.getBarcode()); |
| | | list.add(inSta.getBarcode()); |
| | | } |
| | | |
| | | |
| | | |
| | | toWmsDTO.setCanInboundTunnels(list); |
| | | String response = null; |
| | | try { |
| | |
| | | log.error("输送线命令下方失败!!! [工作号:{}]", taskWrk.getWrkNo()); |
| | | continue;//命令下发失败 |
| | | } |
| | | |
| | | // 复位堆垛机 |
| | | crnThread.setResetFlag(true); |
| | | |
| | | if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3){ |
| | | taskWrk.setWrkSts(4); |
| | | } else if (taskWrk.getIoType() == 2) { |
| | | taskWrk.setWrkSts(14); |
| | | } |
| | | if (!taskWrkService.updateById(taskWrk)){ |
| | | log.error(taskWrk.getTaskNo()+ " 堆垛机任务完成,改变任务状态失败"); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) { |
| | | continue; |
| | | } |
| | | // 修改工作档状态 2.设备上走 => 3.吊车入库中 |
| | | log.error("进入修改工作档流程"); |
| | | Date now = new Date(); |
| | | taskWrk.setWrkSts(3); |
| | | taskWrk.setModiTime(now); |
| | | if (taskWrkMapper.updateById(taskWrk) == 0) { |
| | | log.error("修改工作档状态 2.设备上走 => 3.吊车入库中 失败!!,工作号={}", taskWrk.getWrkNo()); |
| | | } |
| | | TaskWrk taskWrk2 = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue()); |
| | | |
| | | if (taskWrk2.getWrkSts() != 3){ |
| | | continue; |
| | | } |
| | | log.error("进入修改工作档流程完成,taskWrk=", JSON.toJSONString(taskWrk)); |
| | | |
| | | |
| | | //取出命令 |
| | | List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo()); |
| | |
| | | if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) { |
| | | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); |
| | | } else { |
| | | // 修改工作档状态 2.设备上走 => 3.吊车入库中 |
| | | Date now = new Date(); |
| | | taskWrk.setWrkSts(3); |
| | | taskWrk.setModiTime(now); |
| | | if (taskWrkMapper.updateById(taskWrk) == 0) { |
| | | log.error("修改工作档状态 2.设备上走 => 3.吊车入库中 失败!!,工作号={}", taskWrk.getWrkNo()); |
| | | } |
| | | //开始运行 |
| | | String response = CrnStartRunning(taskWrk); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | |
| | | if (commandInfoService.updateById(commandInfo)) {//修改成功后复位堆垛机 |
| | | // 堆垛机复位 |
| | | crnThread.setResetFlag(true); |
| | | if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3){ |
| | | taskWrk.setWrkSts(4); |
| | | } else if (taskWrk.getIoType() == 2) { |
| | | taskWrk.setWrkSts(14); |
| | | } |
| | | if (!taskWrkService.updateById(taskWrk)){ |
| | | log.error(taskWrk.getTaskNo()+ " 堆垛机任务完成,改变任务状态失败"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | try { |
| | | taskWrkService.distribute(taskWrk.getTaskNo(), 9527L); |
| | | } catch (CoolException e) { |
| | | log.info(e.getMessage()); |
| | | // log.info(e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | //判断末端命令是否执行完成 |
| | | CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1); |
| | | if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) { |
| | | continue;//指令未完成 |
| | | if (!commandInfos.isEmpty()){ |
| | | CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1); |
| | | if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) { |
| | | continue;//指令未完成 |
| | | } |
| | | } |
| | | |
| | | |
| | | Date now = new Date(); |
| | | //指令已完成,更新任务 |
| | | if (taskWrk.getIoType() == 1) { |
| | | //入库任务 |
| | | taskWrk.setWrkSts(4);//3.吊车入库中 => 4.入库完成 |
| | | //taskWrk.setStatus(TaskStatusType.COMPLETE.id); |
| | | // taskWrk.setWrkSts(4);//3.吊车入库中 => 4.入库完成 |
| | | taskWrk.setStatus(TaskStatusType.OVER.id); |
| | | taskWrk.setModiTime(now); |
| | | taskWrkService.updateById(taskWrk); |
| | | |
| | | //更新库位状态 |
| | | LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); |
| | | locMast.setLocSts("F");//F.在库 |
| | | locMast.setLocSts("Z");//F.在库 |
| | | locMast.setBarcode(taskWrk.getBarcode());//托盘码 |
| | | locMast.setModiTime(now); |
| | | locMast.setModiUser(9999L); |
| | | locMastService.updateById(locMast); |
| | | } else if (taskWrk.getIoType() == 2) { |
| | | //出库任务 |
| | | taskWrk.setWrkSts(14);//12.吊车出库中 => 14.出库完成 |
| | | // taskWrk.setStatus(TaskStatusType.COMPLETE.id); |
| | | // taskWrk.setWrkSts(14);//12.吊车出库中 => 14.出库完成 |
| | | taskWrk.setStatus(TaskStatusType.OVER.id); |
| | | taskWrk.setModiTime(now); |
| | | taskWrkService.updateById(taskWrk); |
| | | |
| | | //更新库位状态 |
| | | LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); |
| | | locMast.setLocSts("O");//O.空库位 |
| | | locMast.setLocSts("K");//O.空库位 |
| | | locMast.setBarcode("");//托盘码 |
| | | locMast.setModiTime(now); |
| | | locMast.setModiUser(9999L); |
| | | locMastService.updateById(locMast); |
| | | } else if (taskWrk.getIoType() == 3) { |
| | | |
| | | //更新起始库位状态 |
| | | LocMast locMastStart = locMastService.selectByLocNo(taskWrk.getStartPoint()); |
| | | locMastStart.setLocSts("K");//O.空库位 |
| | | locMastStart.setBarcode("");//托盘码 |
| | | locMastStart.setModiTime(now); |
| | | locMastStart.setModiUser(9999L); |
| | | locMastService.updateById(locMastStart); |
| | | |
| | | //更新目标库位状态 |
| | | LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); |
| | | locMast.setLocSts("Z");//F.在库 |
| | | locMast.setBarcode(taskWrk.getBarcode());//托盘码 |
| | | locMast.setModiTime(now); |
| | | locMast.setModiUser(9999L); |
| | | locMastService.updateById(locMast); |
| | | |
| | | taskWrk.setStatus(TaskStatusType.OVER.id); |
| | | taskWrk.setModiTime(now); |
| | | taskWrkService.updateById(taskWrk); |
| | | |
| | | |
| | | } |
| | | } |
| | | } |