243 lines
7.0 KiB
C#
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);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
} |