| | |
| | | import com.zy.asrs.service.CommandInfoService; |
| | | import com.zy.asrs.service.TaskWrkService; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.enums.CommandStatusType; |
| | | import com.zy.core.enums.CommandType; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.command.CrnCommand; |
| | |
| | | public class CommandUtils { |
| | | |
| | | public static boolean offer(SlaveType type, Integer id, Task task) { |
| | | return offer(type, id, task, true); |
| | | } |
| | | |
| | | public static boolean offer(SlaveType type, Integer id, Task task, Boolean auto) { |
| | | CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); |
| | | if (commandInfoService == null) { |
| | | return false; |
| | |
| | | CommandPackage<CrnCommand> commandPackage = new CommandPackage<>(); |
| | | CrnCommand command = (CrnCommand) task.getData(); |
| | | wrkNo = command.getTaskNo(); |
| | | if (wrkNo != 0) { |
| | | if (auto && wrkNo != 0) { |
| | | taskWrk = taskWrkService.selectByWrkNo(wrkNo); |
| | | taskNo = taskWrk.getTaskNo(); |
| | | } |
| | |
| | | commandInfo = new CommandInfo(); |
| | | commandInfo.setWrkNo(wrkNo); |
| | | commandInfo.setTaskNo(taskNo); |
| | | commandInfo.setCommandStatus(1); |
| | | commandInfo.setCommandStatus(CommandStatusType.CREATE.id); |
| | | commandInfo.setStartTime(new Date()); |
| | | commandInfo.setDevice(SlaveType.Crn.toString()); |
| | | commandInfo.setCommandType(auto? CommandType.AUTO.id : CommandType.MANUAL.id); |
| | | |
| | | commandInfoService.insert(commandInfo);//插入指令 |
| | | |
| | |
| | | commandInfo.setCommand(JSON.toJSONString(commandPackage)); |
| | | commandInfoService.updateById(commandInfo); |
| | | |
| | | //将指令进行投递 |
| | | if (!MessageQueue.offer(type, id, task)) { |
| | | return false; |
| | | if (!auto) { |
| | | //将指令进行投递 |
| | | if (!MessageQueue.offer(type, id, task)) { |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } else if (type == SlaveType.Devp) { |
| | | CommandPackage<StaProtocol> commandPackage = new CommandPackage<>(); |
| | | StaProtocol staProtocol = (StaProtocol) task.getData(); |
| | | wrkNo = staProtocol.getWorkNo(); |
| | | if (wrkNo != 0) { |
| | | if (auto && wrkNo != 0) { |
| | | taskWrk = taskWrkService.selectByWrkNo(wrkNo); |
| | | taskNo = taskWrk.getTaskNo(); |
| | | } |
| | |
| | | commandInfo = new CommandInfo(); |
| | | commandInfo.setWrkNo(wrkNo); |
| | | commandInfo.setTaskNo(taskNo); |
| | | commandInfo.setCommandStatus(1); |
| | | commandInfo.setCommandStatus(CommandStatusType.CREATE.id); |
| | | commandInfo.setStartTime(new Date()); |
| | | commandInfo.setDevice(SlaveType.Devp.toString()); |
| | | commandInfo.setCommandType(auto? CommandType.AUTO.id : CommandType.MANUAL.id); |
| | | |
| | | commandInfoService.insert(commandInfo);//插入指令 |
| | | |
| | |
| | | commandInfo.setCommand(JSON.toJSONString(commandPackage));//保存命令报文 |
| | | commandInfoService.updateById(commandInfo); |
| | | |
| | | //将指令进行投递 |
| | | if (!MessageQueue.offer(type, id, task)) { |
| | | return false; |
| | | if (!auto) { |
| | | //将指令进行投递 |
| | | if (!MessageQueue.offer(type, id, task)) { |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |