| | |
| | | } |
| | | } |
| | | |
| | | News.info("execute send command {},{}", shuttleNo, taskNo); |
| | | // 下发命令 |
| | | CommandResponse response = write(command, shuttleNo); |
| | | News.info("execute send command complete {},{}", shuttleNo, taskNo); |
| | | |
| | | //保存命令日志 |
| | | BasShuttleOpt basShuttleOpt = new BasShuttleOpt(); |
| | |
| | | } |
| | | |
| | | //申请取消管制 |
| | | trafficControlThread.cancelTrafficControl(shuttleNo, shuttleProtocol.getTaskNo()); |
| | | cancelTrafficControl(shuttleNo, shuttleProtocol.getTaskNo()); |
| | | |
| | | //删除redis |
| | | redisUtil.del(RedisKeyType.SHUTTLE_WORK_FLAG.key + redisCommand.getWrkNo()); |
| | | return 0;//禁止再下发命令 |
| | |
| | | |
| | | //查询是否申请管制成功 |
| | | public boolean queryTrafficControl(Integer shuttleNo, Integer taskNo) { |
| | | TrafficControlThread trafficControlThread = (TrafficControlThread) SlaveConnection.get(SlaveType.TrafficControl, 1); |
| | | if (trafficControlThread == null) { |
| | | Object object = redisUtil.get(RedisKeyType.TRAFFIC_CONTROL_SUCCESS_APPLY.key + shuttleNo + "_" + taskNo); |
| | | if (object == null) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | TrafficControlDataModel trafficControlDataModel = trafficControlThread.queryTrafficControl(shuttleNo, taskNo); |
| | | if (trafficControlDataModel == null) { |
| | | return false; |
| | | } |
| | | |
| | | public boolean cancelTrafficControl(Integer shuttleNo, Integer taskNo) { |
| | | TrafficControlDataModel model = new TrafficControlDataModel(); |
| | | model.setShuttleNo(shuttleNo); |
| | | model.setTaskNo(taskNo); |
| | | redisUtil.set(RedisKeyType.TRAFFIC_CONTROL_CANCEL_LIST.key + shuttleNo + "_" + taskNo, model); |
| | | return true; |
| | | } |
| | | |
| | |
| | | // } |
| | | // } |
| | | |
| | | private synchronized CommandResponse write(ShuttleCommand command, Integer shuttleNo) { |
| | | private CommandResponse write(ShuttleCommand command, Integer shuttleNo) { |
| | | CommandResponse response = new CommandResponse(false); |
| | | if (null == command) { |
| | | News.error("四向穿梭车写入命令为空"); |