From b7da1f32d5d9997378b5ac535593a3f6144af46b Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 15 十月 2025 17:15:38 +0800
Subject: [PATCH] 新增AGV与堆垛机移库判断及缓存优化
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs | 125 ++++++++++++++++++++++++++++++-----------
1 files changed, 92 insertions(+), 33 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
index f07d2e9..04f3c84 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
@@ -11,15 +11,11 @@
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IDt_TaskService _taskService;
- private readonly ILocationInfoService _locationService;
- public TaskController(IDt_TaskService taskService,
- IHttpContextAccessor httpContextAccessor,
- ILocationInfoService locationService) : base(taskService)
+ public TaskController(IDt_TaskService service,
+ IHttpContextAccessor httpContextAccessor) : base(service)
{
_httpContextAccessor = httpContextAccessor;
- _taskService = taskService;
- _locationService = locationService;
}
/// <summary>
@@ -28,45 +24,32 @@
/// <param name="saveModel">浠诲姟鍙�</param>
/// <returns>鎴愬姛鎴栧け璐�</returns>
[HttpGet, Route("CompleteTaskAsync"), AllowAnonymous]
- //[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
public async Task<WebResponseContent> CompleteTaskAsync(int taskNum)
{
- return await _taskService.CompleteAsync(taskNum);
+ return await Service.CompleteAsync(taskNum);
}
/// <summary>
- /// 璇锋眰浠诲姟宸烽亾
+ /// 璇锋眰鍏ュ簱浠诲姟
/// </summary>
/// <param name="input">璇锋眰鏁版嵁</param>
/// <returns></returns>
[HttpPost, AllowAnonymous, Route("RequestTaskAsync")]
- [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
public async Task<WebResponseContent> RequestTaskAsync([FromBody] RequestTaskDto input)
{
return await Service.RequestTaskAsync(input);
}
/// <summary>
- /// 璇锋眰浠诲姟璐т綅
+ /// 鏇存柊璐т綅浠诲姟鐘舵�佸埌涓嬩竴涓妭鐐�
/// </summary>
/// <param name="input">璇锋眰鏁版嵁</param>
/// <returns></returns>
- [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")]
- [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
- public async Task<WebResponseContent> UpdateExistingTask([FromBody] RequestTaskDto input)
+ [HttpPost, AllowAnonymous, Route("RequestLocationAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> RequestLocationAsync([FromBody] RequestTaskDto input)
{
- return await Service.UpdateExistingTask(input);
- }
-
- /// <summary>
- /// 绌烘墭鐩樺叆搴撹姹�
- /// </summary>
- /// <param name="input">璇锋眰鏁版嵁</param>
- /// <returns></returns>
- [HttpPost, AllowAnonymous, Route("RequestTrayInTaskAsync")]
- [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
- public async Task<WebResponseContent> RequestTrayInTaskAsync([FromBody] RequestTaskDto input)
- {
- return await Service.RequestTrayInTaskAsync(input);
+ return await Service.RequestLocationAsync(input);
}
/// <summary>
@@ -74,11 +57,11 @@
/// </summary>
/// <param name="request">璇锋眰鏁版嵁</param>
/// <returns></returns>
- [HttpPost, AllowAnonymous, Route("RequestTrayOutTaskAsync")]
- [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
- public async Task<WebResponseContent> RequestTrayOutTaskAsync([FromBody] RequestOutTaskDto request)
+ [HttpPost, AllowAnonymous, Route("RequestOutTaskAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> RequestOutTaskAsync([FromBody] RequestTaskDto taskDto)
{
- return await Service.RequestTrayOutTaskAsync(request.Position, request.Tag, request.AreaCdoe, request.AreaCdoes, request.ProductionLine);
+ return await Service.RequestOutTaskAsync(taskDto);
}
/// <summary>
@@ -86,11 +69,87 @@
/// </summary>
/// <param name="input">璇锋眰鏁版嵁</param>
/// <returns></returns>
- [HttpPost, AllowAnonymous, Route("UpdateTaskStatus")]
- [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+ [HttpPost,HttpGet,Route("UpdateTaskStatus") ,AllowAnonymous]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
public async Task<WebResponseContent> UpdateTaskStatus([FromBody] UpdateStatusDto input)
{
return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState);
}
+ /// <summary>
+ /// 璇锋眰璺ㄦゼ灞備换鍔�2
+ /// </summary>
+ /// <param name="taskDto"></param>
+ /// <returns></returns>
+ [HttpPost, AllowAnonymous, Route("AcrossFloorTaskAsync")]
+ public async Task<WebResponseContent> AcrossFloorTaskAsync([FromBody] RequestAcrossFloorTaskDto taskDto)
+ {
+ return await Service.AcrossFloorTaskAsync(taskDto);
+ }
+
+ /// <summary>
+ /// 璺ㄦゼ灞備换鍔¤姹�
+ /// </summary>
+ /// <param name="taskDto"></param>
+ /// <returns></returns>
+ [HttpPost, AllowAnonymous, Route("RequestAcrossFloorTaskAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> RequestAcrossFloorTaskAsync([FromBody] RequestTaskDto taskDto)
+ {
+ return await Service.RequestAcrossFloorTaskAsync(taskDto);
+ }
+
+ [HttpPost, AllowAnonymous, Route("RequestPointAcrossFloorTaskAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> RequestPointAcrossFloorTaskAsync([FromBody] RequestTaskDto taskDto)
+ {
+ return await Service.RequestPointAcrossFloorTaskAsync(taskDto);
+ }
+
+ /// <summary>
+ /// AGV鎼繍浠诲姟璇锋眰
+ /// </summary>
+ /// <param name="taskDto"></param>
+ /// <returns></returns>
+ [HttpPost, AllowAnonymous, Route("RequestAGVCarryTaskAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> RequestAGVCarryTaskAsync([FromBody] RequestTaskDto taskDto)
+ {
+ return await Service.RequestAGVCarryTaskAsync(taskDto);
+ }
+
+ [HttpPost, AllowAnonymous, Route("RequestPointAGVCarryTaskAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> RequestPointAGVCarryTaskAsync([FromBody] RequestTaskDto taskDto)
+ {
+ return await Service.RequestPointAGVCarryTaskAsync(taskDto);
+ }
+
+ [HttpPost, AllowAnonymous, Route("GetEmptyLocation")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<DtLocationInfo> GetEmptyLocation(string roadWay)
+ {
+ return await Service.GetEmptyLocation(roadWay);
+ }
+
+ [HttpPost, AllowAnonymous, Route("GetAGVEmptyCacheLocation")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<DtLocationInfo> GetAGVEmptyCacheLocation(int AreaId,DtLocationInfo location)
+ {
+ return await Service.GetAGVEmptyCacheLocation(AreaId,location);
+ }
+
+ [HttpPost, AllowAnonymous, Route("StackerIsNeedRelocationAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> StackerIsNeedRelocationAsync([FromBody] RequestTaskDto taskDto)
+ {
+ return await Service.StackerIsNeedRelocationAsync(taskDto);
+ }
+
+ [HttpPost, AllowAnonymous, Route("AGVIsNeedRelocationAsync")]
+ [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+ public async Task<WebResponseContent> AGVIsNeedRelocationAsync([FromBody] RequestTaskDto taskDto)
+ {
+ return await Service.AGVIsNeedRelocationAsync(taskDto);
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3