Files
shanghaigangxiangtuzhuangMES/server/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs
xiaowei.song 127c428a9e 油漆
2024-06-06 13:19:24 +08:00

247 lines
7.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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