1
xiazhengtongxue
3 天以前 25611a36139bbe39f0ede830c589e5d67036111b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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)
        {
            if (Service.DeleteRobotTask(id)){
                return WebResponseContent.Instance.OK();
            }
            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; }
}