using Microsoft.AspNetCore.Mvc; using DOAN.Model.BZFM.Dto; using DOAN.Model.BZFM; using DOAN.Service.BZFM.IService; using DOAN.Admin.WebApi.Filters; //创建时间:2026-01-22 namespace DOAN.Admin.WebApi.Controllers.BZFM { /// /// 报废记录表 /// [Verify] [Route("mes/qualityManagement/IPQC/QcScrapRecords")] public class QcScrapRecordsController : BaseController { /// /// 报废记录表接口 /// private readonly IQcScrapRecordsService _QcScrapRecordsService; public QcScrapRecordsController(IQcScrapRecordsService QcScrapRecordsService) { _QcScrapRecordsService = QcScrapRecordsService; } /// /// 查询报废记录表列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "qcscraprecords:list")] public IActionResult QueryQcScrapRecords([FromQuery] QcScrapRecordsQueryDto parm) { var response = _QcScrapRecordsService.GetList(parm); return SUCCESS(response); } /// /// 查询报废记录表详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "qcscraprecords:query")] public IActionResult GetQcScrapRecords(long Id) { var response = _QcScrapRecordsService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加报废记录表 /// /// [HttpPost] [ActionPermissionFilter(Permission = "qcscraprecords:add")] [Log(Title = "报废记录表", BusinessType = BusinessType.INSERT)] public IActionResult AddQcScrapRecords([FromBody] QcScrapRecordsDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcScrapRecordsService.AddQcScrapRecords(modal); return SUCCESS(response); } /// /// 更新报废记录表 /// /// [HttpPut] [ActionPermissionFilter(Permission = "qcscraprecords:edit")] [Log(Title = "报废记录表", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateQcScrapRecords([FromBody] QcScrapRecordsDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _QcScrapRecordsService.UpdateQcScrapRecords(modal); return ToResponse(response); } /// /// 删除报废记录表 /// /// [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "qcscraprecords:delete")] [Log(Title = "报废记录表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteQcScrapRecords([FromRoute] string ids) { var idArr = Tools.SplitAndConvert(ids); return ToResponse(_QcScrapRecordsService.Delete(idArr)); } /// /// 创建报废单 /// /// /// [HttpPost("scrap-order")] [ActionPermissionFilter(Permission = "qcscraprecords:add")] [Log(Title = "创建报废单", BusinessType = BusinessType.INSERT)] public IActionResult CreateScrapOrder([FromBody] QcScrapRecordsDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcScrapRecordsService.CreateScrapOrder(modal); return SUCCESS(response); } /// /// 创建转用单 /// /// /// [HttpPost("transfer-order")] [ActionPermissionFilter(Permission = "qcscraprecords:add")] [Log(Title = "创建转用单", BusinessType = BusinessType.INSERT)] public IActionResult CreateTransferOrder([FromBody] QcScrapRecordsDto parm) { if (string.IsNullOrEmpty(parm.Workorder)) { return ToResponse(StatusCodes.Status400BadRequest, "工单号不能为空"); } var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcScrapRecordsService.CreateTransferOrder(modal); return SUCCESS(response); } /// /// 审批报废记录 /// /// 记录ID /// 审批信息 /// [HttpPut("approve/{id}")] [ActionPermissionFilter(Permission = "qcscraprecords:approve")] [Log(Title = "审批报废记录", BusinessType = BusinessType.UPDATE)] public IActionResult ApproveScrapRecord([FromRoute] long id, [FromBody] ScrapApproveDto parm) { var response = _QcScrapRecordsService.ApproveScrapRecord(id, parm.IsApproved, parm.Approver); return ToResponse(response); } /// /// 撤销报废记录 /// /// 记录ID /// [HttpPut("revoke/{id}")] [ActionPermissionFilter(Permission = "qcscraprecords:revoke")] [Log(Title = "撤销报废记录", BusinessType = BusinessType.UPDATE)] public IActionResult RevokeScrapRecord([FromRoute] long id) { var response = _QcScrapRecordsService.RevokeScrapRecord(id); return ToResponse(response); } } }