From 4282d15a5e69a6b4c822c87d27a1ed6e7e618f00 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期三, 02 七月 2025 13:29:12 +0800 Subject: [PATCH] 初始化1.0 --- src/main/java/com/zy/asrs/utils/CommandUtils.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 112 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java new file mode 100644 index 0000000..fbe4ec3 --- /dev/null +++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java @@ -0,0 +1,112 @@ +package com.zy.asrs.utils; + +import com.alibaba.fastjson.JSON; +import com.core.common.SpringUtils; +import com.zy.asrs.entity.CommandInfo; +import com.zy.asrs.entity.TaskWrk; +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.CommandPackage; +import com.zy.core.model.command.CrnCommand; +import com.zy.core.model.protocol.StaProtocol; + +import java.util.Date; + +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; + } + TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class); + if (taskWrkService == null) { + return false; + } + + CommandInfo commandInfo = null; + TaskWrk taskWrk = null; + int wrkNo = 0;//宸ヤ綔鍙� + String taskNo = null;//浠诲姟鍙� + + if (type == SlaveType.Crn) { + CommandPackage<CrnCommand> commandPackage = new CommandPackage<>(); + CrnCommand command = (CrnCommand) task.getData(); + wrkNo = command.getTaskNo(); + if (auto && wrkNo != 0) { + taskWrk = taskWrkService.selectByWrkNo(wrkNo); + taskNo = taskWrk.getTaskNo(); + } + + commandInfo = new CommandInfo(); + commandInfo.setWrkNo(wrkNo); + commandInfo.setTaskNo(taskNo); + 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);//鎻掑叆鎸囦护 + + command.setCommandId(commandInfo.getId()); + commandPackage.setWrkNo(wrkNo); + commandPackage.setDevice("鍫嗗灈鏈�"); + commandPackage.setCommand(command);//淇濆瓨鍛戒护鎶ユ枃 + commandInfo.setCommand(JSON.toJSONString(commandPackage)); + commandInfoService.updateById(commandInfo); + + 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 (auto && wrkNo != 0) { + taskWrk = taskWrkService.selectByWrkNo(wrkNo); + taskNo = taskWrk.getTaskNo(); + } + + commandInfo = new CommandInfo(); + commandInfo.setWrkNo(wrkNo); + commandInfo.setTaskNo(taskNo); + 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);//鎻掑叆鎸囦护 + + staProtocol.setCommandId(commandInfo.getId()); + commandPackage.setCommand(staProtocol); + commandPackage.setWrkNo(wrkNo); + commandPackage.setDevice("杈撻�佺嚎"); + commandInfo.setCommand(JSON.toJSONString(commandPackage));//淇濆瓨鍛戒护鎶ユ枃 + commandInfoService.updateById(commandInfo); + + if (!auto) { + //灏嗘寚浠よ繘琛屾姇閫� + if (!MessageQueue.offer(type, id, task)) { + return false; + } + } + return true; + } + + return false; + } + +} -- Gitblit v1.9.1