feat(报废管理): 实现报废单和转用单的创建与审批流程

添加报废审批DTO和供应商字段
实现创建报废单/转用单功能
新增审批和撤销报废记录接口
优化查询条件并生成唯一报废单号
This commit is contained in:
2026-01-26 17:57:18 +08:00
parent 1e7d768489
commit 722ef40fd2
8 changed files with 355 additions and 17 deletions

View File

@@ -48,7 +48,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
public IActionResult GetQcScrapRecords(long Id)
{
var response = _QcScrapRecordsService.GetInfo(Id);
var info = response.Adapt<QcScrapRecordsDto>();
return SUCCESS(info);
}
@@ -91,12 +91,75 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
[HttpPost("delete/{ids}")]
[ActionPermissionFilter(Permission = "qcscraprecords:delete")]
[Log(Title = "报废记录表", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteQcScrapRecords([FromRoute]string ids)
public IActionResult DeleteQcScrapRecords([FromRoute] string ids)
{
var idArr = Tools.SplitAndConvert<long>(ids);
return ToResponse(_QcScrapRecordsService.Delete(idArr));
}
/// <summary>
/// 创建报废单
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("scrap-order")]
[ActionPermissionFilter(Permission = "qcscraprecords:add")]
[Log(Title = "创建报废单", BusinessType = BusinessType.INSERT)]
public IActionResult CreateScrapOrder([FromBody] QcScrapRecordsDto parm)
{
var modal = parm.Adapt<QcScrapRecords>().ToCreate(HttpContext);
var response = _QcScrapRecordsService.CreateScrapOrder(modal);
return SUCCESS(response);
}
/// <summary>
/// 创建转用单
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[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<QcScrapRecords>().ToCreate(HttpContext);
var response = _QcScrapRecordsService.CreateTransferOrder(modal);
return SUCCESS(response);
}
/// <summary>
/// 审批报废记录
/// </summary>
/// <param name="id">记录ID</param>
/// <param name="parm">审批信息</param>
/// <returns></returns>
[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);
}
/// <summary>
/// 撤销报废记录
/// </summary>
/// <param name="id">记录ID</param>
/// <returns></returns>
[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);
}
}
}