helongyang
昨天 b7796f5e4d6594976ea948905af769eca863f27c
´úÂë¹ÜÀí/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);
            }
        }
    }
}