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);
}
}
}