using DOAN.Admin.WebApi.Filters; using DOAN.Common; using DOAN.ServiceCore.Middleware; using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Controllers; using Infrastructure.Enums; using Infrastructure.Model; using Mapster; using MDM.Model.Process; using MDM.Model.Process.Dto; using MDM.Services.IProcessService; using MDM.Services.Process; using Microsoft.AspNetCore.Mvc; //创建时间:2025-11-15 namespace MDM.Controllers.Process { /// /// 工艺路线 /// [Verify] [Route("MasterDataManagement/Process/ProcessRouting")] public class ProcessRoutingController : BaseController { /// /// 工艺路线接口 /// private readonly IProcessRoutingService _ProcessRoutingService; public ProcessRoutingController(IProcessRoutingService ProcessRoutingService) { _ProcessRoutingService = ProcessRoutingService; } /// /// 查询工艺路线列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "business:processrouting:list")] public IActionResult QueryProcessRouting([FromQuery] ProcessRoutingQueryDto parm) { var response = _ProcessRoutingService.GetList(parm); return SUCCESS(response); } //TODO 查询工艺路线绑定工序 [HttpGet("queryProcess")] public IActionResult QueryProcess(string RoutingCode) { var response = _ProcessRoutingService.QueryProcess(RoutingCode); return SUCCESS(response); } /// /// 查询工艺路线详情 /// /// /// [HttpGet("{RoutingId}")] [ActionPermissionFilter(Permission = "business:processrouting:query")] public IActionResult GetProcessRouting(int RoutingId) { var response = _ProcessRoutingService.GetInfo(RoutingId); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加工艺路线 /// /// [HttpPost] [ActionPermissionFilter(Permission = "business:processrouting:add")] [Log(Title = "工艺路线", BusinessType = BusinessType.INSERT)] public IActionResult AddProcessRouting([FromBody] ProcessRoutingDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _ProcessRoutingService.AddProcessRouting(modal); return SUCCESS(response); } /// /// 更新工艺路线 /// /// [HttpPut] [ActionPermissionFilter(Permission = "business:processrouting:edit")] [Log(Title = "工艺路线", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateProcessRouting([FromBody] ProcessRoutingDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _ProcessRoutingService.UpdateProcessRouting(modal); return ToResponse(response); } /// /// 删除工艺路线 /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "business:processrouting:delete")] [Log(Title = "工艺路线", BusinessType = BusinessType.DELETE)] public IActionResult DeleteProcessRouting(string ids) { int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _ProcessRoutingService.Delete(idsArr); return ToResponse(response); } /// /// 搜素物料档案信息 /// /// 物料编码或者物料名称 /// [HttpGet("search_material_info")] public IActionResult SearchMaterialInfo(string material_info) { var response = _ProcessRoutingService.SearchMaterialInfo(material_info); return SUCCESS(response); } } }