using Microsoft.AspNetCore.Mvc;
using DOAN.Model.Dto;
using DOAN.Admin.WebApi.Filters;
using DOAN.Service.MES.mm.paintedparts_call.IService;
using DOAN.Model.MES.mm.paintedparts_call;
using DOAN.Model.MES.mm.paintedparts_call.Dto;
using JinianNet.JNTemplate;
//创建时间:2025-07-21
namespace DOAN.Admin.WebApi.Controllers
{
///
/// 叫料需求表
///
[Verify]
[Route("mes/materialManagement/paintedparts_call/mmcall")]
public class MmCallController : BaseController
{
///
/// 叫料需求表接口
///
private readonly IMmCallService _MmCallService;
public MmCallController(IMmCallService mmcallService)
{
_MmCallService = mmcallService;
}
///
/// 查询叫料需求表列表
///
///
///
[HttpGet("list")]
[AllowAnonymous]
public IActionResult Querymmcall([FromQuery] MmCallQueryDto parm)
{
var response = _MmCallService.GetList(parm);
return SUCCESS(response);
}
///
/// 查询叫料需求表详情
///
///
///
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "materialManagement:mmcall:query")]
public IActionResult Getmmcall(string Id)
{
var response = _MmCallService.GetInfo(Id);
var info = response.Adapt();
return SUCCESS(info);
}
///
/// 添加叫料需求表
///
///
[HttpPost]
[ActionPermissionFilter(Permission = "materialManagement:mmcall:add")]
[Log(Title = "叫料需求表", BusinessType = BusinessType.INSERT)]
public IActionResult Addmmcall([FromBody] MmCallDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
var response = _MmCallService.AddMmCallMrp(modal);
return SUCCESS(response);
}
///
/// 更新叫料需求表
///
///
[HttpPut]
[ActionPermissionFilter(Permission = "materialManagement:mmcall:edit")]
[Log(Title = "叫料需求表", BusinessType = BusinessType.UPDATE)]
public IActionResult Updatemmcall([FromBody] MmCallDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
var response = _MmCallService.UpdateMmCallMrp(modal);
return ToResponse(response);
}
///
/// 删除叫料需求表
///
///
[HttpDelete("{ids}")]
[ActionPermissionFilter(Permission = "materialManagement:mmcall:delete")]
[Log(Title = "叫料需求表", BusinessType = BusinessType.DELETE)]
public IActionResult Deletemmcall(string ids)
{
int[] idsArr = Tools.SpitIntArrary(ids);
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
var response = _MmCallService.Delete(idsArr);
return ToResponse(response);
}
///
/// 生成产线油漆件MRP
///
///
[HttpPost("GenerateLineMmCallMRP")]
[AllowAnonymous]
[Log(Title = "生成产线油漆件MRP", BusinessType = BusinessType.OTHER)]
public IActionResult GenerateLineMmCallMRP([FromBody] MmCallMrpGenerateDto parm)
{
try
{
if (string.IsNullOrEmpty(parm.LineCode))
{
return ToResponse(new ApiResult(500, "线别不能为空"));
}
if (!parm.WorkOrderDate.HasValue)
{
return ToResponse(new ApiResult(500, "日期不能为空"));
}
int response = _MmCallService.GenerateLineMmCallMRP(parm);
if (response == 0)
{
return ToResponse(new ApiResult(200, $"线别:{parm.LineCode}无油漆件"));
}
return ToResponse(new ApiResult(200, "ok"));
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500,ex.Message));
}
}
///
/// 涂装油漆件产线叫料
///
///
[HttpPost("DoLineCallMaterial")]
[AllowAnonymous]
[Log(Title = "涂装油漆件产线叫料", BusinessType = BusinessType.OTHER)]
public IActionResult DoLineCallMaterial([FromBody] MmCallAndReceiveDto parm)
{
try
{
if (string.IsNullOrEmpty(parm.Id))
{
return ToResponse(new ApiResult(500, "Id不可为空"));
}
var response = _MmCallService.DoLineCallMaterial(parm);
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// 涂装油漆件产线领料
///
///
[HttpPost("DoLineReceiveMaterial")]
[AllowAnonymous]
[Log(Title = "涂装油漆件产线领料", BusinessType = BusinessType.OTHER)]
public IActionResult DoLineReceiveMaterial([FromBody] MmCallAndReceiveDto parm)
{
try
{
if (parm == null || string.IsNullOrEmpty(parm.Id))
{
return ToResponse(new ApiResult(500, "id不可为空"));
}
var response = _MmCallService.DoLineReceiveMaterial(parm);
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// 涂装油漆件产线退料
///
///
[HttpPost("DoLineReturnBackMaterial")]
[AllowAnonymous]
[Log(Title = "涂装油漆件产线退料", BusinessType = BusinessType.OTHER)]
public IActionResult DoLineReturnBackMaterial([FromBody] MmCallAndReceiveDto parm)
{
try
{
if (parm == null || string.IsNullOrEmpty(parm.Id))
{
return ToResponse(new ApiResult(500, "id不可为空"));
}
var response = _MmCallService.DoLineReturnBackMaterial(parm);
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// (PDA)查询组清单
///
///
[HttpGet("GetLineOptions")]
[AllowAnonymous]
public IActionResult GetLineOptions()
{
var response = _MmCallService.GetLineOptions();
return SUCCESS(response);
}
///
/// (PDA)查询叫料MRP需求表列表
///
///
///
[HttpGet("QueryCallMaterialMRPList")]
[AllowAnonymous]
public IActionResult QueryCallMaterialMRPList([FromQuery] MmCallQueryDto parm)
{
var response = _MmCallService.GetPDACallMaterialMrpList(parm);
return SUCCESS(response);
}
///
/// (PDA)查询叫料MRP需求表列表
///
///
///
[HttpGet("QueryCallReceiveList")]
[AllowAnonymous]
public IActionResult QueryCallReceiveList([FromQuery] MmCallQueryDto parm)
{
var response = _MmCallService.GetPDACallReceiveList(parm);
return SUCCESS(response);
}
///
/// (Web)获取大屏叫料列表
///
///
///
[HttpGet("GetWebBoradCallReceiveList")]
[AllowAnonymous]
public IActionResult GetWebBoradCallReceiveList([FromQuery] MmCallQueryDto parm)
{
var response = _MmCallService.GetWebBoradCallReceiveList(parm);
return SUCCESS(response);
}
///
/// (Web)获取大屏叫料列表
///
///
///
[HttpGet("GetWebBoardCallReturnBackList")]
[AllowAnonymous]
public IActionResult GetWebBoardCallReturnBackList([FromQuery] MmCallQueryDto parm)
{
var response = _MmCallService.GetWebBoardCallReturnBackList(parm);
return SUCCESS(response);
}
}
}