From 388353ed9bad250663e8ad8129463d1ea80d46e6 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 24 四月 2025 16:21:25 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/utils/CommandUtils.java |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java
index 38635d0..172d0d3 100644
--- a/src/main/java/com/zy/asrs/utils/CommandUtils.java
+++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java
@@ -7,6 +7,8 @@
 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;
@@ -18,6 +20,10 @@
 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;
@@ -36,7 +42,7 @@
             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();
             }
@@ -44,9 +50,10 @@
             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);//鎻掑叆鎸囦护
 
@@ -57,16 +64,18 @@
             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();
             }
@@ -74,22 +83,25 @@
             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);//鎻掑叆鎸囦护
 
-            staProtocol.setCommandId(commandInfo.getId());
+//            staProtocol.setCommandId(commandInfo.getId());
             commandPackage.setCommand(staProtocol);
             commandPackage.setWrkNo(wrkNo);
             commandPackage.setDevice("杈撻�佺嚎");
             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;
         }

--
Gitblit v1.9.1