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/Task/TaskController.cs | 130 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 123 insertions(+), 7 deletions(-) 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 fc5ab5c..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" @@ -1,11 +1,18 @@ -锘縰sing Microsoft.AspNetCore.Authorization; +锘縰sing HslCommunication.WebSocket; +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 { @@ -14,9 +21,17 @@ public class TaskController : ApiBaseController<ITaskService, Dt_Task> { private readonly IHttpContextAccessor _httpContextAccessor; - public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor) : base(service) + private readonly IRouterExtension _routerExtension; + //private readonly WebSocketServer _webSocketServer; + 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; } [HttpPost, Route("ReceiveTask"), AllowAnonymous] @@ -25,17 +40,23 @@ return Service.ReceiveWMSTask(taskDTOs); } + [HttpPost, HttpGet, Route("RequestAssignLocation"), AllowAnonymous] + public string? RequestAssignLocation(int taskNum, string roadwayNo) + { + return Service.RequestAssignLocation(taskNum, roadwayNo); + } + [HttpPost, HttpGet, Route("UpdateTaskExceptionMessage")] public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message) { return Service.UpdateTaskExceptionMessage(taskNum, message); } - [HttpPost, HttpGet, Route("UpdateTaskStatusToNext")] - public WebResponseContent UpdateTaskStatusToNext(int taskNum) - { - return Service.UpdateTaskStatusToNext(taskNum); - } + //[HttpPost, HttpGet, Route("UpdateTaskStatusToNext")] + //public WebResponseContent UpdateTaskStatusToNext(int taskNum) + //{ + // return Service.UpdateTaskStatusToNext(taskNum); + //} [HttpPost, HttpGet, Route("TaskStatusRecovery")] public WebResponseContent TaskStatusRecovery(int taskNum) @@ -48,5 +69,100 @@ { return Service.RollbackTaskStatusToLast(taskNum); } + + /// <summary> + /// 鍥炲AGV瀹夊叏淇″彿 + /// </summary> + /// <param name="taskNum"></param> + /// <returns></returns> + [HttpPost, HttpGet, Route("SendSecureReplyToAgv")] + public WebResponseContent SendSecureReplyToAgv(int taskNum) + { + return Service.SendSecureReplyToAgv(taskNum); + } + + [HttpPost, HttpGet, Route("GetRouteEndPoint"), AllowAnonymous] + public WebResponseContent GetRouteEndPoint(string startPoint, int routeType) + { + return WebResponseContent.Instance.OK(data: _routerExtension.GetEndPoint(startPoint, routeType)); + } + [HttpPost, HttpGet, Route("AgvCarrying"), AllowAnonymous] + public WebResponseContent AgvCarrying(int row, int startColumn, int endColumn, int layer, int targetLayer) + { + return Service.AgvCarrying(row, startColumn, endColumn, layer, targetLayer); + } + //[HttpPost, HttpGet, Route("WebSocketPushMessage"), AllowAnonymous] + //public WebResponseContent WebSocketPushMessage(string message) + //{ + // try + // { + // _webSocketServer.PublishAllClientPayload(message); + // return WebResponseContent.Instance.OK(); + // } + // catch(Exception ex) + // { + // return WebResponseContent.Instance.Error(ex.Message); + // } + //} + [HttpPost, HttpGet, Route("RecWMSTaskCompleted"), AllowAnonymous] + public WebResponseContent RecWMSTaskCompleted(int taskNum) + { + 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