| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.asrs.entity.CommandInfo; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.TaskWrk; |
| | | import com.zy.asrs.service.CommandInfoService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.common.utils.RedisUtil; |
| | | import com.zy.asrs.service.TaskWrkService; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.command.CrnCommand; |
| | | import com.zy.core.model.command.RedisCommand; |
| | | import com.zy.core.model.command.CommandPackage; |
| | | import com.zy.core.model.protocol.StaProtocol; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | |
| | | public class CommandUtils { |
| | | |
| | | public static void offer(SlaveType type, Integer id, Task task) { |
| | | public static boolean offer(SlaveType type, Integer id, Task task) { |
| | | CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); |
| | | if (commandInfoService == null) { |
| | | return; |
| | | return false; |
| | | } |
| | | WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class); |
| | | if (wrkMastService == null) { |
| | | return; |
| | | } |
| | | RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class); |
| | | if (redisUtil == null) { |
| | | return; |
| | | TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class); |
| | | if (taskWrkService == null) { |
| | | return false; |
| | | } |
| | | |
| | | CommandInfo commandInfo = null; |
| | | WrkMast wrkMast = null; |
| | | int wrkNo = 0; |
| | | String taskNo = null; |
| | | TaskWrk taskWrk = null; |
| | | int wrkNo = 0;//工作号 |
| | | String taskNo = null;//任务号 |
| | | |
| | | if (type == SlaveType.Crn) { |
| | | RedisCommand<CrnCommand> redisCommand = new RedisCommand(); |
| | | ArrayList<CrnCommand> commands = new ArrayList<>(); |
| | | |
| | | CommandPackage<CrnCommand> commandPackage = new CommandPackage<>(); |
| | | CrnCommand command = (CrnCommand) task.getData(); |
| | | wrkNo = command.getTaskNo(); |
| | | if (wrkNo != 0) { |
| | | wrkMast = wrkMastService.selectById(wrkNo); |
| | | taskNo = wrkMast.getTaskNo(); |
| | | taskWrk = taskWrkService.selectByWrkNo(wrkNo); |
| | | taskNo = taskWrk.getTaskNo(); |
| | | } |
| | | |
| | | commandInfo = new CommandInfo(); |
| | |
| | | commandInfo.setTaskNo(taskNo); |
| | | commandInfo.setCommandStatus(1); |
| | | commandInfo.setStartTime(new Date()); |
| | | commandInfo.setDevice("crn"); |
| | | commandInfo.setCommand(JSON.toJSONString(command)); |
| | | commandInfoService.insert(commandInfo); |
| | | command.setCommandInfo(commandInfo); |
| | | commandInfo.setDevice(SlaveType.Crn.toString()); |
| | | |
| | | commands.add(command); |
| | | redisCommand.setWrkNo(wrkNo); |
| | | redisCommand.setCommands(commands); |
| | | commandPackage.setWrkNo(wrkNo); |
| | | commandPackage.setCommand(command); |
| | | commandPackage.setDevice("堆垛机"); |
| | | |
| | | commandInfo.setCommand(JSON.toJSONString(commandPackage)); |
| | | commandInfoService.insert(commandInfo);//插入指令 |
| | | |
| | | //将指令进行投递 |
| | | if (!MessageQueue.offer(type, id, task)) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } else if (type == SlaveType.Devp) { |
| | | RedisCommand<StaProtocol> redisCommand = new RedisCommand(); |
| | | ArrayList<StaProtocol> commands = new ArrayList<>(); |
| | | |
| | | CommandPackage<StaProtocol> commandPackage = new CommandPackage<>(); |
| | | StaProtocol staProtocol = (StaProtocol) task.getData(); |
| | | wrkNo = staProtocol.getWorkNo(); |
| | | if (wrkNo != 0) { |
| | | wrkMast = wrkMastService.selectById(wrkNo); |
| | | taskNo = wrkMast.getTaskNo(); |
| | | taskWrk = taskWrkService.selectByWrkNo(wrkNo); |
| | | taskNo = taskWrk.getTaskNo(); |
| | | } |
| | | |
| | | commandInfo = new CommandInfo(); |
| | |
| | | commandInfo.setTaskNo(taskNo); |
| | | commandInfo.setCommandStatus(1); |
| | | commandInfo.setStartTime(new Date()); |
| | | commandInfo.setDevice("devp"); |
| | | commandInfo.setCommand(JSON.toJSONString(staProtocol)); |
| | | commandInfoService.insert(commandInfo); |
| | | commandInfo.setDevice(SlaveType.Devp.toString()); |
| | | |
| | | staProtocol.setCommandInfo(commandInfo); |
| | | commandPackage.setWrkNo(wrkNo); |
| | | commandPackage.setCommand(staProtocol); |
| | | commandPackage.setDevice("输送线"); |
| | | |
| | | commands.add(staProtocol); |
| | | redisCommand.setWrkNo(wrkNo); |
| | | redisCommand.setCommands(commands); |
| | | commandInfo.setCommand(JSON.toJSONString(commandPackage)); |
| | | commandInfoService.insert(commandInfo);//插入指令 |
| | | |
| | | //将指令进行投递 |
| | | if (!MessageQueue.offer(type, id, task)) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | } |