using Microsoft.AspNetCore.Mvc; using DOAN.Admin.WebApi.Filters; using Infrastructure.Controllers; using DOAN.ServiceCore.Middleware; using Mapster; using Infrastructure.Enums; using Infrastructure; using Infrastructure.Attribute; using DOAN.Common; using Infrastructure.Model; using MES_Model.Services.IMaterialService; using MES_Model.Model.Material.Dto; using MES_Model.Model.Material; //创建时间:2025-11-15 namespace MES_Model.Controllers.Material { /// /// 物料清单 /// [Verify] [Route("MESMODEL/Material/MaterialList")] public class MaterialListController : BaseController { /// /// 物料清单接口 /// private readonly IMaterialListService _MaterialListService; public MaterialListController(IMaterialListService MaterialListService) { _MaterialListService = MaterialListService; } /// /// 查询物料清单列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "business:materiallist:list")] public IActionResult QueryMaterialList([FromQuery] MaterialListQueryDto parm) { var response = _MaterialListService.GetList(parm); return SUCCESS(response); } /// /// 查询物料清单详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "business:materiallist:query")] public IActionResult GetMaterialList(string Id) { var response = _MaterialListService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加物料清单 /// /// [HttpPost] [ActionPermissionFilter(Permission = "business:materiallist:add")] [Log(Title = "物料清单", BusinessType = BusinessType.INSERT)] public IActionResult AddMaterialList([FromBody] MaterialListDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _MaterialListService.AddMaterialList(modal); return SUCCESS(response); } /// /// 更新物料清单 /// /// [HttpPut] [ActionPermissionFilter(Permission = "business:materiallist:edit")] [Log(Title = "物料清单", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateMaterialList([FromBody] MaterialListDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _MaterialListService.UpdateMaterialList(modal); return ToResponse(response); } /// /// 删除物料清单 /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "business:materiallist:delete")] [Log(Title = "物料清单", BusinessType = BusinessType.DELETE)] public IActionResult DeleteMaterialList(string ids) { int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _MaterialListService.Delete(idsArr); return ToResponse(response); } } }