169 lines
4.6 KiB
C#
169 lines
4.6 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using System.ComponentModel;
|
|
using ZR.Admin.WebApi.Extensions;
|
|
using ZR.Admin.WebApi.Filters;
|
|
using ZR.Model.MES.wms;
|
|
using ZR.Model.MES.wms.Dto;
|
|
using ZR.Service.Business;
|
|
using ZR.Service.Business.IBusinessService;
|
|
using ZR.Service.mes.wms;
|
|
using ZR.Service.mes.wms.IService;
|
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
|
|
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)
|
|
{
|
|
if(parm == null)
|
|
{
|
|
return SUCCESS(null);
|
|
}
|
|
var response = _WmAGVService.GetList(parm);
|
|
return SUCCESS(response);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 2.获取当前工单下的所有AGV小车任务
|
|
/// </summary>
|
|
/// <param name="workorder_id"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("GetTask")]
|
|
public IActionResult QueryAGVTask(string workorder_id)
|
|
{
|
|
if(string.IsNullOrEmpty(workorder_id))
|
|
{
|
|
return SUCCESS(null);
|
|
}
|
|
|
|
var response= _WmAGVService.QueryAGVTask(workorder_id);
|
|
return SUCCESS(response);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 3.新增agv小车任务
|
|
/// </summary>
|
|
/// <param name="task"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("add_task")]
|
|
public IActionResult AddAGVTask([FromBody] AgvTask task)
|
|
{
|
|
string msg = null;
|
|
if(task == null)
|
|
{
|
|
|
|
return SUCCESS(null);
|
|
}
|
|
// task.ToCreate();
|
|
int result= _WmAGVService.AddAGVTask(task);
|
|
if(result == 0)
|
|
{
|
|
msg = "插入失败";
|
|
}else if(result == 1)
|
|
{
|
|
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")]
|
|
public IActionResult DeleteTask(string taskId)
|
|
{
|
|
|
|
if(string.IsNullOrEmpty(taskId))
|
|
{
|
|
return SUCCESS(null);
|
|
}
|
|
|
|
int data = _WmAGVService.DeleteTask(taskId);
|
|
return SUCCESS(data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 6 获取agv 起点和终点
|
|
/// </summary>
|
|
/// <param name="taskId"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("get_agv_position")]
|
|
public IActionResult GetAGV_position_list(AgvLocation location)
|
|
{
|
|
if(location == null)
|
|
{
|
|
return SUCCESS(null);
|
|
}
|
|
var response= _WmAGVService.GetAGV_position_list(location);
|
|
|
|
return SUCCESS(response);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 7 生成 agv 任务号
|
|
/// </summary>
|
|
/// <param name="taskid"></param>
|
|
/// <param name="flag">1 是去 2 是回车</param>
|
|
/// <returns></returns>
|
|
[HttpGet("generate_agv_task")]
|
|
[Log(Title = "AGV调度")]
|
|
public IActionResult GenerateAgvTask(string taskid,int flag)
|
|
{
|
|
string msg = "任务调度成功";
|
|
if(string.IsNullOrEmpty(taskid))
|
|
{
|
|
|
|
return SUCCESS(null);
|
|
}
|
|
|
|
string status = _WmAGVService.GenerateAgvTask(taskid,flag);
|
|
|
|
return ToResponse(new ApiResult(200, msg, status));
|
|
}
|
|
|
|
// cancelTask
|
|
[HttpGet("cancel_agv_task")]
|
|
public IActionResult CancelAGVTask(string taskId, int flag)
|
|
{
|
|
string msg = "取消任务成功";
|
|
if(string.IsNullOrEmpty(taskId))
|
|
{
|
|
return SUCCESS(null);
|
|
}
|
|
|
|
string status = _WmAGVService.CancelAGVTask(taskId, flag);
|
|
return ToResponse(new ApiResult(200, msg, status));
|
|
|
|
}
|
|
|
|
}
|
|
}
|