From b7796f5e4d6594976ea948905af769eca863f27c Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期一, 07 七月 2025 15:28:15 +0800
Subject: [PATCH] 代码更新

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs |   27 ++++++
 代码管理/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js                        |   79 +++++++++++++++++++
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs  |   67 ++++++++++++++++
 代码管理/WCS/WIDESEAWCS_Client/config/buttons.js                                     |   29 +++++++
 4 files changed, 199 insertions(+), 3 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/config/buttons.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/config/buttons.js"
index 50c4dfd..a34cc48 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/config/buttons.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/config/buttons.js"
@@ -136,7 +136,34 @@
     onClick: function () {
         this.export();
     }
-}
+},
+{
+    name: "闃荤剨AGV鍑哄簱浠诲姟閲嶅彂",
+    icon: '',
+    class: '',
+    type: 'warning',
+    value: 'AgvZHTaskResend',
+    onClick: function () {
+    }
+},
+{
+    name: "鍫嗗灈鏈轰换鍔¢噸鍙�",
+    icon: '',
+    class: '',
+    type: 'warning',
+    value: 'StackerCraneTaskResending',
+    onClick: function () {
+    }
+},
+{
+    name: "鍫嗗灈鏈轰换鍔′紭鍏堟墽琛�",
+    icon: '',
+    class: '',
+    type: 'warning',
+    value: 'StackerCraneTaskPriority',
+    onClick: function () {
+    }
+},
 
 ]
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js"
index b0882c4..f5db920 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js"
@@ -42,7 +42,86 @@
                     this.$refs.gridBody.open(row);
                 }
             },);
+            let AgvZHTaskResendBtn = this.buttons.find(x => x.value == 'AgvZHTaskResend');
+            if (AgvZHTaskResendBtn) {
+                AgvZHTaskResendBtn.onClick = function () {
+                this.$confirm("鏄惁纭閲嶅彂闃荤剨AGV鍑哄簱浠诲姟","鎵嬪姩浠诲姟閲嶅彂璀﹀憡",{
+                    confirmButtonText: "纭畾",
+                    cancelButtonText: "鍙栨秷",
+                    type: "warning",
+                    center: true,
+                    }).then(() => {
+                        let rows = this.$refs.table.getSelected();
+                        if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+                        if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+                        var param = rows[0].taskNum;
+                        this.http
+                        .post("api/ZH_AGV/AgvZHTaskResend?taskNum="+param, "鏁版嵁澶勭悊涓�...")
+                        .then((x) => {
+                            if (x.status) {
+                            this.$Message.success('鎵嬪姩浠诲姟閲嶅彂鎴愬姛');
+                            this.refresh();
+                        } else {
+                            return this.$error(x.message);
+                        }
+                        });
+                    });
+                }
+            }
             
+            let StackerCraneTaskResendingBtn = this.buttons.find(x => x.value == 'StackerCraneTaskResending');
+            if (StackerCraneTaskResendingBtn) {
+                StackerCraneTaskResendingBtn.onClick = function () {
+                this.$confirm("鏄惁纭閲嶅彂鍫嗗灈鏈轰换鍔�","鎵嬪姩浠诲姟閲嶅彂璀﹀憡",{
+                    confirmButtonText: "纭畾",
+                    cancelButtonText: "鍙栨秷",
+                    type: "warning",
+                    center: true,
+                    }).then(() => {
+                        let rows = this.$refs.table.getSelected();
+                        if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+                        if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+                        var param = rows[0].taskNum;
+                        this.http
+                        .post("api/Task/StackerCraneTaskResending?taskNum="+param, "鏁版嵁澶勭悊涓�...")
+                        .then((x) => {
+                            if (x.status) {
+                            this.$Message.success('鎵嬪姩浠诲姟閲嶅彂鎴愬姛');
+                            this.refresh();
+                        } else {
+                            return this.$error(x.message);
+                        }
+                        });
+                    });
+                }
+            }
+
+            let StackerCraneTaskPriorityBtn = this.buttons.find(x => x.value == 'StackerCraneTaskPriority');
+            if (StackerCraneTaskPriorityBtn) {
+                StackerCraneTaskPriorityBtn.onClick = function () {
+                this.$confirm("鏄惁浼樺厛鎵ц璇ュ爢鍨涙満浠诲姟","鎵嬪姩浼樺厛浠诲姟璀﹀憡",{
+                    confirmButtonText: "纭畾",
+                    cancelButtonText: "鍙栨秷",
+                    type: "warning",
+                    center: true,
+                    }).then(() => {
+                        let rows = this.$refs.table.getSelected();
+                        if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+                        if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+                        var param = rows[0].taskNum;
+                        this.http
+                        .post("api/Task/StackerCraneTaskPriority?taskNum="+param, "鏁版嵁澶勭悊涓�...")
+                        .then((x) => {
+                            if (x.status) {
+                            this.$Message.success('鎵嬪姩浼樺厛浠诲姟鎴愬姛');
+                            this.refresh();
+                        } else {
+                            return this.$error(x.message);
+                        }
+                        });
+                    });
+                }
+            }
         },
         onInited() {
             //妗嗘灦鍒濆鍖栭厤缃悗
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs"
index a6305aa..6439995 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs"
@@ -334,5 +334,32 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+
+        //闃荤剨浠撳嚭搴撲换鍔$┖鍌ㄤ綅寮傚父鎵嬪姩閲嶅彂AGV浠诲姟
+        [HttpPost, HttpGet,Route("AgvZHTaskResend"),AllowAnonymous]
+        public WebResponseContent AgvZHTaskResend(int taskNum)
+        {
+            try
+            {
+                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+                if (task == null)
+                {
+                    return WebResponseContent.Instance.Error("鏈壘鍒扮浉鍏充换鍔′俊鎭�");
+                }
+                if (task.TaskState == TaskStatusEnum.Exception.ObjToInt() && task.DeviceCode == "AGV_ZH")
+                {
+                    _taskService.UpdateTask(task, TaskStatusEnum.AGV_Execute);
+                }
+                else
+                {
+                    return WebResponseContent.Instance.Error("浠诲姟璁惧缂栧彿涓嶆纭垨浠诲姟鐘舵�侀潪绌哄偍浣嶅紓甯�");
+                }
+                return WebResponseContent.Instance.OK();
+            }
+            catch(Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
index 7e56cfb..4e0d43d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
@@ -2,11 +2,16 @@
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
+using SqlSugar.Extensions;
+using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseController;
 using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_TaskInfoRepository;
+using WIDESEAWCS_TaskInfoService;
 using WIDESEAWCS_Tasks;
 
 namespace WIDESEAWCS_WCSServer.Controllers.Task
@@ -18,11 +23,14 @@
         private readonly IHttpContextAccessor _httpContextAccessor;
         private readonly IRouterExtension _routerExtension;
         //private readonly WebSocketServer _webSocketServer;
-
-        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension/*, WebSocketServer webSocketServer*/) : base(service)
+        private readonly ITaskService _taskService;
+        private readonly ITaskRepository _taskRepository;
+        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension ,ITaskService taskService,ITaskRepository taskRepository /*, WebSocketServer webSocketServer*/) : base(service)
         {
             _httpContextAccessor = httpContextAccessor;
             _routerExtension = routerExtension;
+            _taskService = taskService;
+            _taskRepository = taskRepository;
             //_webSocketServer = webSocketServer;
         }
 
@@ -101,5 +109,60 @@
         {
             return Service.RecWMSTaskCompleted(taskNum);
         }
+
+        //鍫嗗灈鏈轰换鍔¢噸鍙�
+        [HttpPost, HttpGet, Route("StackerCraneTaskResending"), AllowAnonymous]
+        public WebResponseContent StackerCraneTaskResending(int taskNum)
+        {
+            try
+            {
+                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+                if (task == null)
+                {
+                    return WebResponseContent.Instance.Error("鏈壘鍒拌浠诲姟淇℃伅");
+                }
+                if(task.TaskState == TaskStatusEnum.SC_Executing.ObjToInt())
+                {
+                    _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute);
+                }
+                else
+                {
+                    return WebResponseContent.Instance.Error("闈炲爢鍨涙満鎵ц涓姸鎬�");
+                }
+                return WebResponseContent.Instance.OK();
+            }
+            catch(Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+
+        //鍫嗗灈鏈轰换鍔′紭鍏堟墽琛�
+        [HttpPost, HttpGet, Route("StackerCraneTaskPriority"), AllowAnonymous]
+        public WebResponseContent StackerCraneTaskPriority(int taskNum)
+        {
+            try
+            {
+                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+                if (task == null)
+                {
+                    return WebResponseContent.Instance.Error("鏈壘鍒拌浠诲姟淇℃伅");
+                }
+                if (task.TaskState == TaskStatusEnum.SC_Execute.ObjToInt())
+                {
+                    task.Grade = 98;
+                }
+                else
+                {
+                    return WebResponseContent.Instance.Error("闈炲爢鍨涙満寰呮墽琛岀姸鎬�");
+                }
+                _taskRepository.UpdateData(task);
+                return WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.3