2024-03-29 10:24:20 +08:00
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
|
using ZR.Model.MES.wms;
|
|
|
|
|
|
using ZR.Model.MES.wms.Dto;
|
|
|
|
|
|
using ZR.Service.mes.wms.IService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace ZR.Admin.WebApi.Controllers
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// agv 相关接口
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
|
|
|
|
[Route("/mes/wm/agv")]
|
|
|
|
|
|
public class WmAGVController : BaseController
|
|
|
|
|
|
{
|
|
|
|
|
|
private readonly IWmAGVService _WmAGVService;
|
|
|
|
|
|
public WmAGVController(IWmAGVService wmAGVService)
|
|
|
|
|
|
{
|
|
|
|
|
|
_WmAGVService = wmAGVService;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 1. 获取工单
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="parm"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet("get_workorder_list")]
|
|
|
|
|
|
public IActionResult QueryWmAGV_list([FromQuery] QueryAGVparam parm)
|
|
|
|
|
|
{
|
2024-06-07 11:04:26 +08:00
|
|
|
|
if (parm == null)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
return SUCCESS(null);
|
|
|
|
|
|
}
|
|
|
|
|
|
var response = _WmAGVService.GetList(parm);
|
|
|
|
|
|
return SUCCESS(response);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 2.获取当前工单下的所有AGV小车任务
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="workorder_id"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
[HttpGet("GetTask")]
|
2024-06-07 11:04:26 +08:00
|
|
|
|
public IActionResult QueryAGVTask(string workorder_id)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
2024-06-07 11:04:26 +08:00
|
|
|
|
if (string.IsNullOrEmpty(workorder_id))
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
return SUCCESS(null);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-06-07 11:04:26 +08:00
|
|
|
|
var response = _WmAGVService.QueryAGVTask(workorder_id);
|
2024-03-29 10:24:20 +08:00
|
|
|
|
return SUCCESS(response);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 3.新增agv小车任务
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="task"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
[HttpPost("add_task")]
|
2024-06-07 11:04:26 +08:00
|
|
|
|
public IActionResult AddAGVTask([FromBody] AgvTask task)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
string msg = null;
|
2024-06-07 11:04:26 +08:00
|
|
|
|
if (task == null)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
return SUCCESS(null);
|
|
|
|
|
|
}
|
2024-06-07 11:04:26 +08:00
|
|
|
|
// task.ToCreate();
|
|
|
|
|
|
int result = _WmAGVService.AddAGVTask(task);
|
|
|
|
|
|
if (result == 0)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
msg = "插入失败";
|
2024-06-07 11:04:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if (result == 1)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
msg = "新增成功";
|
|
|
|
|
|
}
|
|
|
|
|
|
else if (result == -1)
|
|
|
|
|
|
{
|
|
|
|
|
|
msg = "工单号为空";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ToResponse(new ApiResult(200, msg, result));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 4.删除AGV小车任务
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="taskId"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
[HttpGet("deleteTask")]
|
2024-06-07 11:04:26 +08:00
|
|
|
|
public IActionResult DeleteTask(string taskId)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
|
2024-06-07 11:04:26 +08:00
|
|
|
|
if (string.IsNullOrEmpty(taskId))
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
return SUCCESS(null);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int data = _WmAGVService.DeleteTask(taskId);
|
|
|
|
|
|
return SUCCESS(data);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2024-03-29 14:43:15 +08:00
|
|
|
|
/// 6 获取agv 起点和终点
|
2024-03-29 10:24:20 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="taskId"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
[HttpGet("get_agv_position")]
|
2024-06-07 11:04:26 +08:00
|
|
|
|
public IActionResult GetAGV_position_list(AgvLocation location)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
2024-06-07 11:04:26 +08:00
|
|
|
|
if (location == null)
|
2024-03-29 10:24:20 +08:00
|
|
|
|
{
|
|
|
|
|
|
return SUCCESS(null);
|
|
|
|
|
|
}
|
2024-06-07 11:04:26 +08:00
|
|
|
|
var response = _WmAGVService.GetAGV_position_list(location);
|
2024-03-29 10:24:20 +08:00
|
|
|
|
|
|
|
|
|
|
return SUCCESS(response);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-04-01 17:20:23 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 7 生成 agv 任务号
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="taskid"></param>
|
|
|
|
|
|
/// <param name="flag">1 是去 2 是回车</param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
[HttpGet("generate_agv_task")]
|
|
|
|
|
|
[Log(Title = "AGV调度")]
|
2024-06-07 11:04:26 +08:00
|
|
|
|
public IActionResult GenerateAgvTask(string taskid, int flag)
|
2024-04-01 17:20:23 +08:00
|
|
|
|
{
|
|
|
|
|
|
string msg = "任务调度成功";
|
2024-06-07 11:04:26 +08:00
|
|
|
|
if (string.IsNullOrEmpty(taskid))
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2024-04-01 17:20:23 +08:00
|
|
|
|
return SUCCESS(null);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-06-07 11:04:26 +08:00
|
|
|
|
string status = _WmAGVService.GenerateAgvTask(taskid, flag);
|
2024-04-01 17:20:23 +08:00
|
|
|
|
|
|
|
|
|
|
return ToResponse(new ApiResult(200, msg, status));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// cancelTask
|
|
|
|
|
|
[HttpGet("cancel_agv_task")]
|
2024-06-07 11:04:26 +08:00
|
|
|
|
public IActionResult CancelAGVTask(string taskId, int flag)
|
2024-04-01 17:20:23 +08:00
|
|
|
|
{
|
|
|
|
|
|
string msg = "取消任务成功";
|
2024-06-07 11:04:26 +08:00
|
|
|
|
if (string.IsNullOrEmpty(taskId))
|
2024-04-01 17:20:23 +08:00
|
|
|
|
{
|
|
|
|
|
|
return SUCCESS(null);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
string status = _WmAGVService.CancelAGVTask(taskId, flag);
|
|
|
|
|
|
return ToResponse(new ApiResult(200, msg, status));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-03-29 10:24:20 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|