diff --git a/DOAN.Admin.WebApi/Controllers/MES/Quality/IPQC/QcScrapRecordsController.cs b/DOAN.Admin.WebApi/Controllers/MES/Quality/IPQC/QcScrapRecordsController.cs index 1005290..04d48fd 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/Quality/IPQC/QcScrapRecordsController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/Quality/IPQC/QcScrapRecordsController.cs @@ -161,5 +161,77 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM var response = _QcScrapRecordsService.RevokeScrapRecord(id); return ToResponse(response); } + + /// + /// 根据工单号查询不良品记录 + /// + /// 工单号 + /// + [HttpGet("byWorkorder")] + [ActionPermissionFilter(Permission = "qcscraprecords:list")] + public IActionResult GetQcScrapRecordsByWorkorder([FromQuery] string workorder) + { + if (string.IsNullOrEmpty(workorder)) + { + return ToResponse(StatusCodes.Status400BadRequest, "工单号不能为空"); + } + + var response = _QcScrapRecordsService.GetQcScrapRecordsByWorkorder(workorder); + return SUCCESS(response); + } + + /// + /// 根据工单号填写报废单 + /// + /// 报废单数据 + /// + [HttpPost("scrapOrder/byWorkorder")] + [ActionPermissionFilter(Permission = "qcscraprecords:add")] + [Log(Title = "根据工单号创建报废单", BusinessType = BusinessType.INSERT)] + public IActionResult CreateScrapOrderByWorkorder([FromBody] QcScrapRecordsDto parm) + { + if (string.IsNullOrEmpty(parm.Workorder)) + { + return ToResponse(StatusCodes.Status400BadRequest, "工单号不能为空"); + } + + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _QcScrapRecordsService.CreateScrapOrderByWorkorder(modal); + return SUCCESS(response); + } + + /// + /// 根据工单号填写转用单 + /// + /// 转用单数据 + /// + [HttpPost("transferOrder/byWorkorder")] + [ActionPermissionFilter(Permission = "qcscraprecords:add")] + [Log(Title = "根据工单号创建转用单", BusinessType = BusinessType.INSERT)] + public IActionResult CreateTransferOrderByWorkorder([FromBody] QcScrapRecordsDto parm) + { + if (string.IsNullOrEmpty(parm.Workorder)) + { + return ToResponse(StatusCodes.Status400BadRequest, "工单号不能为空"); + } + + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _QcScrapRecordsService.CreateTransferOrderByWorkorder(modal); + return SUCCESS(response); + } + + /// + /// 根据不良品记录ID撤销不良品记录 + /// + /// 不良品记录ID + /// + [HttpPut("revokeById/{id}")] + [ActionPermissionFilter(Permission = "qcscraprecords:revoke")] + [Log(Title = "根据ID撤销不良品记录", BusinessType = BusinessType.UPDATE)] + public IActionResult RevokeScrapRecordById([FromRoute] long id) + { + var response = _QcScrapRecordsService.RevokeScrapRecordById(id); + return ToResponse(response); + } } } \ No newline at end of file diff --git a/DOAN.Service/MES/Quality/IPQC/IService/IQcScrapRecordsService.cs b/DOAN.Service/MES/Quality/IPQC/IService/IQcScrapRecordsService.cs index 9136fa4..358fffc 100644 --- a/DOAN.Service/MES/Quality/IPQC/IService/IQcScrapRecordsService.cs +++ b/DOAN.Service/MES/Quality/IPQC/IService/IQcScrapRecordsService.cs @@ -46,5 +46,33 @@ namespace DOAN.Service.BZFM.IService /// int RevokeScrapRecord(long id); + /// + /// 根据工单号查询不良品记录 + /// + /// 工单号 + /// + PagedInfo GetQcScrapRecordsByWorkorder(string workorder); + + /// + /// 根据工单号填写报废单 + /// + /// 报废单数据 + /// + QcScrapRecords CreateScrapOrderByWorkorder(QcScrapRecords parm); + + /// + /// 根据工单号填写转用单 + /// + /// 转用单数据 + /// + QcScrapRecords CreateTransferOrderByWorkorder(QcScrapRecords parm); + + /// + /// 根据不良品记录ID撤销不良品记录 + /// + /// 不良品记录ID + /// + int RevokeScrapRecordById(long id); + } } diff --git a/DOAN.Service/MES/Quality/IPQC/QcScrapRecordsService.cs b/DOAN.Service/MES/Quality/IPQC/QcScrapRecordsService.cs index a307fae..3608ea1 100644 --- a/DOAN.Service/MES/Quality/IPQC/QcScrapRecordsService.cs +++ b/DOAN.Service/MES/Quality/IPQC/QcScrapRecordsService.cs @@ -278,5 +278,65 @@ namespace DOAN.Service.BZFM return Context.Updateable(updateObj).UpdateColumns(x => new { x.Status, x.UpdatedTime }).ExecuteCommand(); } + + /// + /// 根据工单号查询不良品记录 + /// + /// 工单号 + /// + public PagedInfo GetQcScrapRecordsByWorkorder(string workorder) + { + var queryDto = new QcScrapRecordsQueryDto + { + Workorder = workorder + }; + + return GetList(queryDto); + } + + /// + /// 根据工单号填写报废单 + /// + /// 报废单数据 + /// + public QcScrapRecords CreateScrapOrderByWorkorder(QcScrapRecords parm) + { + // 验证工单号 + if (string.IsNullOrEmpty(parm.Workorder)) + { + throw new Exception("工单号不能为空"); + } + + // 调用现有的创建报废单方法 + return CreateScrapOrder(parm); + } + + /// + /// 根据工单号填写转用单 + /// + /// 转用单数据 + /// + public QcScrapRecords CreateTransferOrderByWorkorder(QcScrapRecords parm) + { + // 验证工单号 + if (string.IsNullOrEmpty(parm.Workorder)) + { + throw new Exception("工单号不能为空"); + } + + // 调用现有的创建转用单方法 + return CreateTransferOrder(parm); + } + + /// + /// 根据不良品记录ID撤销不良品记录 + /// + /// 不良品记录ID + /// + public int RevokeScrapRecordById(long id) + { + // 调用现有的撤销方法 + return RevokeScrapRecord(id); + } } } \ No newline at end of file