feat(IPQC): 完善报废和转用单处理流程

重构报废和转用单创建逻辑,使用DefectApproveDto作为参数
新增批次号、处理数量和操作人字段
实现不良品出库和报废/转用入库的完整流程
This commit is contained in:
2026-02-25 18:42:57 +08:00
parent 5011447292
commit dbe9dc9311
4 changed files with 208 additions and 33 deletions

View File

@@ -194,7 +194,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
[HttpPost("scrapOrder/byWorkorder")]
[ActionPermissionFilter(Permission = "qcscraprecords:add")]
[Log(Title = "根据工单号创建报废单", BusinessType = BusinessType.INSERT)]
public IActionResult CreateScrapOrderByWorkorder([FromBody] QcScrapRecordsDto parm)
public IActionResult CreateScrapOrderByWorkorder([FromBody] DefectApproveDto parm)
{
try
{
@@ -202,14 +202,20 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
{
return ToResponse(StatusCodes.Status400BadRequest, "工单号不能为空");
}
var modal = parm.Adapt<QcScrapRecords>().ToCreate(HttpContext);
var response = _QcScrapRecordsService.CreateScrapOrderByWorkorder(modal);
return SUCCESS(response);
var response = _QcScrapRecordsService.CreateScrapOrderByWorkorder(parm);
if(response == "ok")
{
return SUCCESS(response);
}
else
{
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, response));
}
}
catch (Exception ex)
{
return ToResponse(StatusCodes.Status500InternalServerError, ex.Message);
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
}
}
@@ -221,7 +227,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
[HttpPost("transferOrder/byWorkorder")]
[ActionPermissionFilter(Permission = "qcscraprecords:add")]
[Log(Title = "根据工单号创建转用单", BusinessType = BusinessType.INSERT)]
public IActionResult CreateTransferOrderByWorkorder([FromBody] QcScrapRecordsDto parm)
public IActionResult CreateTransferOrderByWorkorder([FromBody] DefectApproveDto parm)
{
try
{
@@ -229,14 +235,19 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
{
return ToResponse(StatusCodes.Status400BadRequest, "工单号不能为空");
}
var modal = parm.Adapt<QcScrapRecords>().ToCreate(HttpContext);
var response = _QcScrapRecordsService.CreateTransferOrderByWorkorder(modal);
return SUCCESS(response);
var response = _QcScrapRecordsService.CreateTransferOrderByWorkorder(parm);
if (response == "ok")
{
return SUCCESS(response);
}
else
{
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, response));
}
}
catch (Exception ex)
{
return ToResponse(StatusCodes.Status500InternalServerError, ex.Message);
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
}
}
@@ -263,7 +274,7 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
}
catch (Exception ex)
{
return ToResponse(StatusCodes.Status500InternalServerError, ex.Message);
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
}
}
@@ -286,15 +297,15 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
}
else
{
return ToResponse(
return ToResponse(new ApiResult(
StatusCodes.Status400BadRequest,
"撤销不良品记录失败,可能记录已被审批或不存在"
);
));
}
}
catch (Exception ex)
{
return ToResponse(StatusCodes.Status500InternalServerError, ex.Message);
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
}
}
}