From 1e18d2f1734062a38176e22113f2b65ad8aa2024 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 19 十月 2023 10:11:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/CommandUtils.java | 120 ++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 64 insertions(+), 56 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java index b483ad2..86f59fc 100644 --- a/src/main/java/com/zy/asrs/utils/CommandUtils.java +++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java @@ -3,86 +3,94 @@ 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.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.LedCommand; +import com.zy.core.model.command.CommandPackage; import com.zy.core.model.protocol.StaProtocol; import java.util.Date; -import java.util.List; 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; + TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class); + if (taskWrkService == null) { + return false; } CommandInfo commandInfo = null; - WrkMast wrkMast = null; - int taskNo = 0; - switch (type) { - case Crn: - CrnCommand command = (CrnCommand) task.getData(); - taskNo = command.getTaskNo(); - wrkMast = wrkMastService.selectById(taskNo); + TaskWrk taskWrk = null; + int wrkNo = 0;//宸ヤ綔鍙� + String taskNo = null;//浠诲姟鍙� - commandInfo = new CommandInfo(); - commandInfo.setWrkNo(taskNo); - commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); - commandInfo.setCommandStatus(1); - commandInfo.setStartTime(new Date()); - commandInfo.setDevice("crn"); - commandInfo.setCommand(JSON.toJSONString(command)); - commandInfoService.insert(commandInfo); + if (type == SlaveType.Crn) { + CommandPackage<CrnCommand> commandPackage = new CommandPackage<>(); + CrnCommand command = (CrnCommand) task.getData(); + wrkNo = command.getTaskNo(); + if (wrkNo != 0) { + taskWrk = taskWrkService.selectByWrkNo(wrkNo); + taskNo = taskWrk.getTaskNo(); + } - command.setCommandInfo(commandInfo); - break; - case Devp: - StaProtocol staProtocol = (StaProtocol) task.getData(); - taskNo = staProtocol.getWorkNo(); - wrkMast = wrkMastService.selectById(taskNo); + commandInfo = new CommandInfo(); + commandInfo.setWrkNo(wrkNo); + commandInfo.setTaskNo(taskNo); + commandInfo.setCommandStatus(1); + commandInfo.setStartTime(new Date()); + commandInfo.setDevice(SlaveType.Crn.toString()); - commandInfo = new CommandInfo(); - commandInfo.setWrkNo(taskNo); - commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); - commandInfo.setCommandStatus(1); - commandInfo.setStartTime(new Date()); - commandInfo.setDevice("devp"); - commandInfo.setCommand(JSON.toJSONString(staProtocol)); - commandInfoService.insert(commandInfo); + commandPackage.setWrkNo(wrkNo); + commandPackage.setCommand(command); + commandPackage.setDevice("鍫嗗灈鏈�"); - staProtocol.setCommandInfo(commandInfo); - break; - case Led: - List<LedCommand> data = (List<LedCommand>) task.getData(); - for (LedCommand ledCommand : data) { - taskNo = ledCommand.getWorkNo(); - wrkMast = wrkMastService.selectById(taskNo); + commandInfo.setCommand(JSON.toJSONString(commandPackage)); + commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护 - commandInfo = new CommandInfo(); - commandInfo.setWrkNo(ledCommand.getWorkNo()); - commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); - commandInfo.setCommandStatus(1); - commandInfo.setStartTime(new Date()); - commandInfo.setDevice("led"); - commandInfo.setCommand(JSON.toJSONString(ledCommand)); - commandInfoService.insert(commandInfo); + //灏嗘寚浠よ繘琛屾姇閫� + 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) { + taskWrk = taskWrkService.selectByWrkNo(wrkNo); + taskNo = taskWrk.getTaskNo(); + } - ledCommand.setCommandInfo(commandInfo); - } - break; + commandInfo = new CommandInfo(); + commandInfo.setWrkNo(wrkNo); + commandInfo.setTaskNo(taskNo); + commandInfo.setCommandStatus(1); + commandInfo.setStartTime(new Date()); + commandInfo.setDevice(SlaveType.Devp.toString()); + + commandPackage.setWrkNo(wrkNo); + commandPackage.setCommand(staProtocol); + commandPackage.setDevice("杈撻�佺嚎"); + + commandInfo.setCommand(JSON.toJSONString(commandPackage)); + commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护 + + //灏嗘寚浠よ繘琛屾姇閫� + if (!MessageQueue.offer(type, id, task)) { + return false; + } + return true; } + return false; } } -- Gitblit v1.9.1