刘磊
2025-06-25 2de09bec5cc05bf875543fa8956167ca7db73021
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
using WIDESEA_DTO;
 
namespace WIDESEA_WMSServer.Controllers;
 
/// <summary>
/// 任务操作接口
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class TaskController : ApiBaseController<IDt_TaskService, Dt_Task>
{
    private readonly IHttpContextAccessor _httpContextAccessor;
    private readonly IDt_TaskService _taskService;
    private readonly ILocationInfoService _locationService;
 
    public TaskController(IDt_TaskService taskService,
        IHttpContextAccessor httpContextAccessor,
        ILocationInfoService locationService) : base(taskService)
    {
        _httpContextAccessor = httpContextAccessor;
        _taskService = taskService;
        _locationService = locationService;
    }
 
    /// <summary>
    /// 任务完成
    /// </summary>
    /// <param name="saveModel">任务号</param>
    /// <returns>成功或失败</returns>
    [HttpGet, Route("CompleteTaskAsync"), AllowAnonymous]
    public async Task<WebResponseContent> CompleteTaskAsync(int taskNum)
    {
        return await _taskService.CompleteAsync(taskNum);
    }
 
    /// <summary>
    /// 任务完成
    /// </summary>
    /// <param name="saveModel">任务号</param>
    /// <returns>成功或失败</returns>
    //[HttpGet, Route("CompleteTaskByStation"), AllowAnonymous]
    //public async Task<WebResponseContent> CompleteTaskByStation(int taskNum)
    //{
    //    return await _taskService.CompleteTaskByStation(taskNum);
    //}
 
    /// <summary>
    /// 检查是否需要进行移库
    /// </summary>
    /// <param name="taskNum">任务号</param>
    /// <returns>任务</returns>
    [HttpPost, Route("TransferCheckAsync"), AllowAnonymous]
    public async Task<WebResponseContent> TransferCheckAsync([FromBody] RequestTaskDto input)
    {
        return new WebResponseContent().OK(data: await _locationService.TransferCheckAsync(input));
    }
 
    /// <summary>
    /// 检查入库是否需要进行移库
    /// </summary>
    /// <param name="taskNum">任务号</param>
    /// <returns>任务</returns>
    [HttpPost, Route("InTransferCheckAsync"), AllowAnonymous]
    public async Task<WebResponseContent> InTransferCheckAsync([FromBody] RequestTaskDto input)
    {
        return new WebResponseContent().OK(data: await _locationService.InTransferCheckAsync(input));
    }
 
    /// <summary>
    /// 请求任务巷道
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("RequestInTask")]
    public async Task<WebResponseContent> RequestInTask([FromBody] RequestTaskDto input)
    {
        return await Service.RequestInTask(input);
    }
 
    /// <summary>
    /// 请求任务货位
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")]
    public async Task<WebResponseContent> UpdateExistingTask([FromBody] RequestTaskDto input)
    {
        return await Service.UpdateExistingTask(input);
    }
 
    /// <summary>
    /// 任务状态修改
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("UpdateTaskStatus")]
    public async Task<WebResponseContent> UpdateTaskStatus([FromBody] UpdateStatusDto input)
    {
        return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState);
    }
 
    /// <summary>
    /// 任务状态修改
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("UpdateCheckTask")] 
    public async Task<WebResponseContent> UpdateCheckTask([FromBody] RequestTaskDto input)
    {
        return await Service.UpdateCheckTask(input);
    }
 
    /// <summary>
    /// 流向分配
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("RequestWheelsFlow")]
    public async Task<WebResponseContent> RequestWheelsFlow([FromBody] RequestTaskDto input)
    {
        return await Service.RequestWheelsFlow(input);
    }
 
    /// <summary>
    /// 创建指定任务
    /// </summary>
    /// <param name="palletCode">托盘号</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("CreateAndSendOutboundTask")]
    public WebResponseContent CreateAndSendOutboundTask([FromBody] SaveModel saveModel)   //string palletCode, string station
    {
        return Service.CreateAndSendOutboundTask(saveModel);
    }
 
    /// <summary>
    /// 修改车轮去向
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("UpWheelsFlow")]
    public WebResponseContent UpWheelsFlow([FromBody] SaveModel saveModel)
    {
        return  Service.UpWheelsFlow(saveModel);
    }
}