fix(报废审批): 修复审批流程中的异常处理和物料校验问题
- 在QcScrapRecordsService中重构审批逻辑,增加事务管理和异常回滚 - 添加成品物料信息校验,使用物料供应商代码替代记录中的供应商代码 - 完善工单不存在时的错误处理 - 在控制器中统一异常处理,返回更友好的错误信息
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using Azure;
|
||||
using DOAN.Admin.WebApi.Filters;
|
||||
using DOAN.Model.BZFM;
|
||||
using DOAN.Model.BZFM.Dto;
|
||||
@@ -146,12 +147,26 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
|
||||
[FromBody] ScrapApproveDto parm
|
||||
)
|
||||
{
|
||||
var response = _QcScrapRecordsService.ApproveScrapRecord(
|
||||
id,
|
||||
parm.IsApproved,
|
||||
parm.Approver
|
||||
);
|
||||
return ToResponse(response);
|
||||
try
|
||||
{
|
||||
var response = _QcScrapRecordsService.ApproveScrapRecord(
|
||||
id,
|
||||
parm.IsApproved,
|
||||
parm.Approver
|
||||
);
|
||||
if(response > 0)
|
||||
{
|
||||
return ToResponse(new ApiResult(200, response));
|
||||
}
|
||||
else
|
||||
{
|
||||
return ToResponse(new ApiResult(500, "审批记录失败"));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ToResponse(new ApiResult(500, ex.Message));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -203,19 +218,22 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
|
||||
return ToResponse(StatusCodes.Status400BadRequest, "工单号不能为空");
|
||||
}
|
||||
var response = _QcScrapRecordsService.CreateScrapOrderByWorkorder(parm);
|
||||
if(response == "ok")
|
||||
if (response == "ok")
|
||||
{
|
||||
return SUCCESS(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, response));
|
||||
return ToResponse(
|
||||
new ApiResult(StatusCodes.Status500InternalServerError, response)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
|
||||
return ToResponse(
|
||||
new ApiResult(StatusCodes.Status500InternalServerError, ex.Message)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -242,12 +260,16 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
|
||||
}
|
||||
else
|
||||
{
|
||||
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, response));
|
||||
return ToResponse(
|
||||
new ApiResult(StatusCodes.Status500InternalServerError, response)
|
||||
);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
|
||||
return ToResponse(
|
||||
new ApiResult(StatusCodes.Status500InternalServerError, ex.Message)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,7 +296,9 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
|
||||
return ToResponse(
|
||||
new ApiResult(StatusCodes.Status500InternalServerError, ex.Message)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,15 +321,19 @@ namespace DOAN.Admin.WebApi.Controllers.BZFM
|
||||
}
|
||||
else
|
||||
{
|
||||
return ToResponse(new ApiResult(
|
||||
StatusCodes.Status400BadRequest,
|
||||
"撤销不良品记录失败,可能记录已被审批或不存在"
|
||||
));
|
||||
return ToResponse(
|
||||
new ApiResult(
|
||||
StatusCodes.Status400BadRequest,
|
||||
"撤销不良品记录失败,可能记录已被审批或不存在"
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ToResponse(new ApiResult(StatusCodes.Status500InternalServerError, ex.Message));
|
||||
return ToResponse(
|
||||
new ApiResult(StatusCodes.Status500InternalServerError, ex.Message)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user