shgx_tz_mom/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs
qianhao.xu 09880cbc5f 123
2024-04-30 15:10:44 +08:00

243 lines
7.0 KiB
C#

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
{
/// <summary>
/// 生产投料
/// </summary>
[Route("mes/mm/materialinput")]
public class MaterialInputController : BaseController
{
IMaterialInputService materialInputService;
public MaterialInputController(IMaterialInputService materialInputService)
{
this.materialInputService = materialInputService;
}
/// <summary>
/// 获取AGV 上料 开始起点
/// </summary>
/// <returns></returns>
[HttpGet("getstartpoints")]
public IActionResult Getstart_AGV_points()
{
var response = materialInputService.Getstart_AGV_points();
return SUCCESS(response);
}
/// <summary>
/// 获取AGV 上料 终点
/// </summary>
/// <returns></returns>
[HttpGet("getendpoints")]
public IActionResult Getend_AGV_points()
{
var response = materialInputService.Getend_AGV_points();
return SUCCESS(response);
}
/// <summary>
/// 获取工单list
/// </summary>
/// <returns></returns>
[HttpPost("getworkorderlist")]
public IActionResult Getworkorderlist([FromBody] WorkorderqueryDto query)
{
if (query == null || query.datetimespan == null)
{
SUCCESS(null);
}
var response = materialInputService.Getworkorderlist(query.datetimespan);
return SUCCESS(response);
}
/// <summary>
/// 生成配料任务
/// </summary>
/// <returns></returns>
[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);
}
/// <summary>
/// 分页查询 配料任务
/// </summary>
/// <param name="queryParams"></param>
/// <returns></returns>
[HttpPost("getIngredientTask")]
public IActionResult GetIngredientTask([FromBody] IngredientTaskQueryDto queryTask)
{
if (queryTask == null)
{
return SUCCESS(null);
}
List<MmIngredientTask> response = materialInputService.GetIngredientTask(queryTask);
return SUCCESS(response);
}
/// <summary>
/// 获取配料任务详情
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
[HttpGet("getIngredientTask_son")]
public IActionResult GetIngredientTaskSon(string taskId)
{
if (string.IsNullOrEmpty(taskId))
{
return SUCCESS(null);
}
List<MmIngredientTask> response = materialInputService.GetIngredientTaskSon(taskId);
return SUCCESS(response);
}
/// <summary>
/// 获取车间上料终点
/// </summary>
/// <returns></returns>
[HttpGet("getfabgopoints")]
public IActionResult Getfabgopoints()
{
string[] response = materialInputService.Getfabgopoints();
return SUCCESS(response);
}
/// <summary>
/// agv从仓库到车间 进料
/// </summary>
/// <param name="start_point"></param>
/// <param name="end_point"></param>
/// <returns></returns>
[HttpGet("go_workshop")]
public IActionResult GoWorkshop(string start_point, string end_point)
{
if (string.IsNullOrEmpty(start_point) || string.IsNullOrEmpty(end_point))
{
SUCCESS(null);
}
var response = materialInputService.AGV_schedule(start_point, end_point);
return SUCCESS(response);
}
/// <summary>
/// 紧急停止agv
/// </summary>
/// <param name="reqCode"></param>
/// <returns></returns>
[HttpGet("emergency_stop_agv")]
public IActionResult EmergencyStopAgv(string reqCode)
{
if (string.IsNullOrEmpty(reqCode))
{
return SUCCESS(null);
}
var response = materialInputService.EmergencyStopAgv(reqCode);
return SUCCESS(response);
}
/// <summary>
/// agv完成任务
/// </summary>
/// <returns></returns>
[HttpPost("agv_final_task")]
public IActionResult AgvFinalTask()
{
return null;
}
/// <summary>
/// 完成配料任务
/// 1.更改站点托盘
/// 2.完成的配料任务不可见
/// </summary>
/// <returns></returns>
[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);
}
/// <summary>
/// 空车返程
/// </summary>
/// <param name="start_point"></param>
/// <param name="end_point"></param>
/// <returns></returns>
[HttpGet("emptycarreturn")]
public IActionResult Emptycarreturn(string start_point, string end_point)
{
if (string.IsNullOrEmpty(start_point) || string.IsNullOrEmpty(end_point))
{
SUCCESS(null);
}
var response = materialInputService.AGV_schedule(start_point, end_point);
return SUCCESS(response);
}
/// <summary>
/// 车间返程起点
/// </summary>
/// <returns></returns>
[HttpGet("emptycarreturn_start")]
public IActionResult Emptycarreturn_start()
{
string[] response = materialInputService.Emptycarreturn_start();
return SUCCESS(response);
}
/// <summary>
/// 车间返程终点
/// </summary>
/// <returns></returns>
[HttpGet("emptycarreturn_end")]
public IActionResult Emptycarreturn_end()
{
string[] response = materialInputService.Emptycarreturn_end();
return SUCCESS(response);
}
}
}