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 { /// /// agv 相关接口 /// [Route("/mes/wm/agv")] public class WmAGVController : BaseController { private readonly IWmAGVService _WmAGVService; public WmAGVController(IWmAGVService wmAGVService) { _WmAGVService = wmAGVService; } /// /// 1. 获取工单 /// /// /// [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); } /// /// 2.获取当前工单下的所有AGV小车任务 /// /// /// [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); } /// /// 3.新增agv小车任务 /// /// /// [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)); } /// /// 4.删除AGV小车任务 /// /// /// [HttpGet("deleteTask")] public IActionResult DeleteTask(string taskId) { if (string.IsNullOrEmpty(taskId)) { return SUCCESS(null); } int data = _WmAGVService.DeleteTask(taskId); return SUCCESS(data); } /// /// 6 获取agv 起点和终点 /// /// /// [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); } /// /// 7 生成 agv 任务号 /// /// /// 1 是去 2 是回车 /// [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)); } } }