1
xiazhengtongxue
4 天以前 25611a36139bbe39f0ede830c589e5d67036111b
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/RobotTaskController.cs
@@ -1,32 +1,96 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_Server.Controllers.Task
{
    [Route("api/RobotTask")]
    [ApiController]
    public class RobotTaskController : ApiBaseController<IRobotTaskService, Dt_RobotTask>
    {
        public RobotTaskController(IRobotTaskService service) : base(service)
        {
using Autofac.Core;
using Masuit.Tools;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_Server.Controllers.Task
{
    [Route("api/RobotTask")]
    [ApiController]
    public class RobotTaskController : ApiBaseController<IRobotTaskService, Dt_RobotTask>
    {
        public RobotTaskController(IRobotTaskService service) : base(service)
        {
        }
        [HttpGet, HttpPost, Route("DeleteRobotTask"), AllowAnonymous]
        public WebResponseContent DeleteRobotTask(int id)
        {
        [HttpGet, HttpPost, Route("DeleteRobotTask"), AllowAnonymous]
        public WebResponseContent DeleteRobotTask(int id)
        {
            if (Service.DeleteRobotTask(id)){
                return WebResponseContent.Instance.OK();
            }
            return WebResponseContent.Instance.Error();
        }
    }
}
            }
            return WebResponseContent.Instance.Error();
        }
        // 暂时创建换盘机械手任务
        [HttpGet, HttpPost, Route("AddRobotTask"), AllowAnonymous]
        public WebResponseContent AddRobotTask([FromBody] RobotMoveRequest request)
        {
            try
            {
                Dt_RobotTask robotTask = new Dt_RobotTask();
                robotTask.RobotTaskNum = Random.Shared.StrictNext();
                robotTask.RobotRoadway = "换盘机械手";
                robotTask.RobotTaskType = 510;
                robotTask.RobotTaskState = 300;
                robotTask.RobotTaskTotalNum = 48;
                robotTask.RobotGrade = 1;
                robotTask.RobotDispatchertime = DateTime.Now;
                robotTask.RobotRemark = "人工手动创建";
                robotTask.RobotSourceAddressPalletCode = request.robotSourceAddressPalletCode;
                robotTask.RobotTargetAddressPalletCode = request.robotTargetAddressPalletCode;
                // 根据方向设置源和目标
                switch (request.Forward)
                {
                    case 1:
                        robotTask.RobotSourceAddress = "1";
                        robotTask.RobotSourceAddressLineCode = "11010";
                        robotTask.RobotTargetAddress = "3";
                        robotTask.RobotTargetAddressLineCode = "2103";
                        break;
                    case 2:
                        robotTask.RobotSourceAddress = "2";
                        robotTask.RobotSourceAddressLineCode = "11001";
                        robotTask.RobotTargetAddress = "4";
                        robotTask.RobotTargetAddressLineCode = "2101";
                        break;
                    case 3:
                        robotTask.RobotSourceAddress = "3";
                        robotTask.RobotSourceAddressLineCode = "2103";
                        robotTask.RobotTargetAddress = "1";
                        robotTask.RobotTargetAddressLineCode = "11010";
                        break;
                    case 4:
                        robotTask.RobotSourceAddress = "4";
                        robotTask.RobotSourceAddressLineCode = "2101";
                        robotTask.RobotTargetAddress = "2";
                        robotTask.RobotTargetAddressLineCode = "11001";
                        break;
                    default:
                        return WebResponseContent.Instance.Error($"添加机器人任务失败");
                }
                return Service.AddData(robotTask);
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error($"添加机器人任务失败: {ex.Message}");
            }
        }
    }
}
public class RobotMoveRequest
{
    public int Forward { get; set; }
    public String robotSourceAddressPalletCode { get; set; }
    public String robotTargetAddressPalletCode { get; set; }
}