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