using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Extensions; using ZR.Model; using ZR.Model.MES.mm; using ZR.Model.MES.mm.Dto; using ZR.Service.mes.mm; using ZR.Service.mes.mm.IService; namespace ZR.Admin.WebApi.Controllers.mes.mm { /// /// 生产投料 /// [Route("mes/mm/materialinput")] public class MaterialInputController : BaseController { IMaterialInputService materialInputService; public MaterialInputController(IMaterialInputService materialInputService) { this.materialInputService = materialInputService; } /// /// 获取AGV 上料 开始起点 /// /// [HttpGet("getstartpoints")] public IActionResult Getstart_AGV_points() { var response = materialInputService.Getstart_AGV_points(); return SUCCESS(response); } /// /// 获取AGV 上料 终点 /// /// [HttpGet("getendpoints")] public IActionResult Getend_AGV_points() { var response = materialInputService.Getend_AGV_points(); return SUCCESS(response); } /// /// 获取工单list /// /// [HttpPost("getworkorderlist")] public IActionResult Getworkorderlist([FromBody] WorkorderqueryDto query) { if (query == null || query.datetimespan == null) { SUCCESS(null); } var response = materialInputService.Getworkorderlist(query); return SUCCESS(response); } /// /// 生成配料任务 /// /// [HttpPost("generatetask")] public IActionResult Generatetask([FromBody] IngredientTaskDto task) { if (task == null || task.workorders == null || task.workorders.Count == 0) { return SUCCESS(null); } int res = materialInputService.Generatetask(task, HttpContext.GetName()); return SUCCESS(res); } /// /// 分页查询 配料任务 /// /// /// [HttpPost("getIngredientTask")] public IActionResult GetIngredientTask([FromBody] IngredientTaskQueryDto queryTask) { if (queryTask == null) { return SUCCESS(null); } List response = materialInputService.GetIngredientTask(queryTask); return SUCCESS(response); } /// /// 获取配料任务详情 /// /// /// [HttpGet("getIngredientTask_son")] public IActionResult GetIngredientTaskSon(string taskId) { if (string.IsNullOrEmpty(taskId)) { return SUCCESS(null); } List response = materialInputService.GetIngredientTaskSon(taskId); return SUCCESS(response); } /// /// 获取车间上料终点 /// /// [HttpGet("getfabgopoints")] public IActionResult Getfabgopoints() { string[] response = materialInputService.Getfabgopoints(); return SUCCESS(response); } /// /// agv从仓库到车间 进料 /// /// /// /// [HttpGet("go_workshop")] public IActionResult GoWorkshop(string start_point, string end_point, string agvCode ) { if (string.IsNullOrEmpty(start_point) || string.IsNullOrEmpty(end_point)||string.IsNullOrEmpty(agvCode)) { SUCCESS(null); } var response = materialInputService.AGV_schedule(start_point, end_point, agvCode); return SUCCESS(response); } /// /// 紧急停止agv /// /// /// [HttpGet("emergency_stop_agv")] public IActionResult EmergencyStopAgv(string reqCode) { if (string.IsNullOrEmpty(reqCode)) { return SUCCESS(null); } var response = materialInputService.EmergencyStopAgv(reqCode); return SUCCESS(response); } /// /// agv完成任务 /// /// [HttpPost("agv_final_task")] public IActionResult AgvFinalTask() { return null; } /// /// 完成配料任务 /// 1.更改站点托盘 ?? /// 2.完成的配料任务不可见 /// 3.生产上线 /// 4.扣除毛坯库 /// /// [HttpGet("finishBatchingTask")] public IActionResult FinishBatchingTask(string start_point, string end_point, string taskId) { if (string.IsNullOrEmpty(start_point)) { return SUCCESS(null); } if (string.IsNullOrEmpty(end_point)) { return SUCCESS(null); } if (string.IsNullOrEmpty(taskId)) { return SUCCESS(null); } var response = materialInputService.FinishBatchingTask(start_point, end_point, taskId); return SUCCESS(response); } /// /// 空车返程 /// /// /// /// [HttpGet("emptycarreturn")] public IActionResult Emptycarreturn(string start_point, string end_point, string agvCode = "1743 ") { if (string.IsNullOrEmpty(start_point) || string.IsNullOrEmpty(end_point)) { SUCCESS(null); } var response = materialInputService.AGV_schedule(start_point, end_point,agvCode); return SUCCESS(response); } /// /// 车间返程起点 /// /// [HttpGet("emptycarreturn_start")] public IActionResult Emptycarreturn_start() { string[] response = materialInputService.Emptycarreturn_start(); return SUCCESS(response); } /// /// 车间返程终点 /// /// [HttpGet("emptycarreturn_end")] public IActionResult Emptycarreturn_end() { string[] response = materialInputService.Emptycarreturn_end(); return SUCCESS(response); } } }