244 lines
7.1 KiB
C#
244 lines
7.1 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
||
using ZR.Admin.WebApi.Extensions;
|
||
using ZR.Model.MES.mm;
|
||
using ZR.Model.MES.mm.Dto;
|
||
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);
|
||
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, 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);
|
||
}
|
||
/// <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.完成的配料任务不可见
|
||
/// 3.生产上线
|
||
/// 4.扣除毛坯库
|
||
/// </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, 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);
|
||
}
|
||
/// <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);
|
||
|
||
}
|
||
|
||
|
||
}
|
||
} |