| | |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | StartupDto dto = jsonObject.getObject("data", StartupDto.class); |
| | | // plc 处理 |
| | | barcodeThread.setBarcode(""); |
| | | staProtocol.setWorkNo(dto.getWorkNo().shortValue()); |
| | | staProtocol.setStaNo(dto.getStaNo().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | if (!result) { |
| | | throw new CoolException("更新plc站点信息失败"); |
| | | } |
| | | // // plc 处理 |
| | | // barcodeThread.setBarcode(""); |
| | | // staProtocol.setWorkNo(dto.getWorkNo().shortValue()); |
| | | // staProtocol.setStaNo(dto.getStaNo().shortValue()); |
| | | // devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | // |
| | | // boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | // if (!result) { |
| | | // throw new CoolException("更新plc站点信息失败"); |
| | | // } |
| | | |
| | | // 判断重复工作档 |
| | | WrkMast wrkMast = wrkMastMapper.selectPakInStep11(inSta.getStaNo()); |
| | |
| | | } |
| | | News.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); |
| | | } else if (code == 700) { |
| | | staProtocol.setWorkNo((short) 32002); |
| | | staProtocol.setRollback102(1);//102站回退信号 |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol)); |
| | | // staProtocol.setWorkNo((short) 32002); |
| | | // staProtocol.setRollback102(1);//102站回退信号 |
| | | // devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | // MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol)); |
| | | |
| | | // led 异常显示 |
| | | if (ledThread != null) { |
| | |
| | | return false;//找不到站点 |
| | | } |
| | | |
| | | if (liftStaProtocol.getModel() && !liftStaProtocol.getBusy() && !liftStaProtocol.getHasTray()) { |
| | | if (!(liftStaProtocol.getModel() && !liftStaProtocol.getBusy() && !liftStaProtocol.getHasTray())) { |
| | | return false;//站点必须自动、空闲、没有托盘 |
| | | } |
| | | |
| | |
| | | && liftProtocol.getTaskNo() != 0 |
| | | && !liftProtocol.getBusy() |
| | | ) { |
| | | boolean clearTaskNoFlag = false;//清零工作号标记 |
| | | //将任务档标记为完成 |
| | | WrkMast wrkMast = wrkMastMapper.selectByWorkNo324104(liftProtocol.getTaskNo().intValue()); |
| | | if (wrkMast != null) { |
| | |
| | | break; |
| | | case 106://106.提升机搬运中 ==> 107.提升机搬运完成 |
| | | wrkMast.setWrkSts(107L); |
| | | // //清零工作号 |
| | | // clearTaskNoFlag = true; |
| | | break; |
| | | default: |
| | | } |
| | | |
| | | if (wrkMastMapper.updateById(wrkMast) > 0) { |
| | | if (clearTaskNoFlag) { |
| | | //清零工作号 |
| | | MessageQueue.offer(SlaveType.Lift, liftSlave.getId(), new Task(4, null)); |
| | | } |
| | | //设置提升机为空闲状态 |
| | | liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE); |
| | | //任务指令清零 |
| | |
| | | } else { |
| | | News.error("提升机已确认且任务完成状态,复位失败,但未找到工作档。提升机号={},工作号={}", liftProtocol.getLiftNo(), liftProtocol.getTaskNo()); |
| | | } |
| | | }else { |
| | | LiftAssignCommand assignCommand = liftProtocol.getAssignCommand(); |
| | | if (assignCommand != null) { |
| | | if (!assignCommand.getAuto()) { |
| | | //手动操作 |
| | | //设置提升机为空闲状态 |
| | | liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE); |
| | | //任务指令清零 |
| | | liftProtocol.setAssignCommand(null); |
| | | News.info("提升机已确认手动操作。提升机号={}", liftProtocol.getLiftNo()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | if (code.equals(200)) { |
| | | StartupDto dto = jsonObject.getObject("data", StartupDto.class); |
| | | |
| | | // 更新站点信息 且 下发plc命令 |
| | | staProtocol.setWorkNo(dto.getWorkNo().shortValue()); |
| | | staProtocol.setStaNo(dto.getStaNo().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | if (!result) { |
| | | throw new CoolException("更新plc站点信息失败"); |
| | | } |
| | | // // 更新站点信息 且 下发plc命令 |
| | | // staProtocol.setWorkNo(dto.getWorkNo().shortValue()); |
| | | // staProtocol.setStaNo(dto.getStaNo().shortValue()); |
| | | // devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | // boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | // if (!result) { |
| | | // throw new CoolException("更新plc站点信息失败"); |
| | | // } |
| | | } else { |
| | | if (ledThread != null) { |
| | | String errorMsg = jsonObject.getString("msg"); |
| | |
| | | } |
| | | } else if (wrkCharge.getWrkSts() == 52) { |
| | | //检测小车是否满电 |
| | | if (shuttleProtocol.getPowerPercent() < 100) { |
| | | int maxPower = 85; |
| | | if (shuttleProtocol.getPowerPercent() < maxPower) { |
| | | continue; |
| | | } |
| | | |
| | |
| | | MessageQueue.offer(SlaveType.Shuttle, assignCommand.getShuttleNo().intValue(), new Task(3, assignCommand)); |
| | | } |
| | | } else if (wrkCharge.getWrkSts() == 53) { |
| | | boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkCharge.getLocNo()), shuttleThread.getSlave().getId(), shuttleThread); |
| | | if (!result) { |
| | | continue; |
| | | if (shuttleProtocol.getChargState() == 0) {//小车处于未充电状态 |
| | | boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkCharge.getLocNo()), shuttleThread.getSlave().getId(), shuttleThread); |
| | | if (result) { |
| | | wrkCharge.setWrkSts(60L);//53.小车充电完成 => 60.充电任务完成 |
| | | wrkCharge.setModiTime(new Date()); |
| | | if (wrkChargeMapper.updateById(wrkCharge) > 0) { |
| | | shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE); |
| | | shuttleProtocol.setTaskNo(0); |
| | | } |
| | | } |
| | | } |
| | | |
| | | wrkCharge.setWrkSts(60L);//53.小车充电完成 => 60.充电任务完成 |
| | | wrkCharge.setModiTime(new Date()); |
| | | wrkChargeMapper.updateById(wrkCharge); |
| | | } |
| | | |
| | | } |
| | |
| | | assignCommand.setLiftNo(liftProtocol.getLiftNo()); |
| | | assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); |
| | | assignCommand.setTaskMode(NyLiftTaskModelType.MOVE_CAR.id.shortValue()); |
| | | assignCommand.setAuto(false); |
| | | |
| | | wrkMast.setLiftNo(liftThread.getSlave().getId());//锁定提升机防止被占用 |
| | | wrkMast.setModiTime(now); |