fix(qms): 修复COA审核逻辑,先检查COA任务状态再验证报告

- 添加对QmsCoaTask表的查询验证
- 检查供应商和物料对应的COA任务是否已发送(status=1)
- 如果没有已发送的COA任务则直接放行审核流程
- 仅当存在已发送的COA任务时才继续验证COA报告
- 修复了缺少任务状态前置校验导致的审核逻辑缺陷
This commit is contained in:
曹鹏飞 2026-06-14 09:13:28 +08:00
parent 8e2810d368
commit 9ac84fce4a
1 changed files with 14 additions and 0 deletions

View File

@ -614,6 +614,20 @@ public class QmsCoaReviewServiceImpl extends ServiceImpl<QmsCoaReviewMapper, Qms
return true;
}
// 先判断QmsCoaTask中是否有该供应商和物料的信息且状态为已发送status=1
QmsCoaTask task = coaTaskService.lambdaQuery()
.eq(QmsCoaTask::getSupplierId, supplier.getId())
.eq(QmsCoaTask::getMaterialId, material.getId())
.eq(QmsCoaTask::getStatus, 1)
.ne(QmsCoaTask::getDeleted, true)
.last("LIMIT 1")
.one();
if (Objects.isNull(task)) {
// 没有已发送的COA任务直接放行
return true;
}
// 有已发送的COA任务才需要检查COA报告
// 判断是否存在COA报告未删除
boolean hasReport = lambdaQuery()
.eq(QmsCoaReview::getSupplierId, supplier.getId())