From f05d8fb3c2d79c0f7a3965c7ca36874105f83738 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Wed, 8 Jul 2026 20:06:00 +0800 Subject: [PATCH] bug fix --- .../executor/QualFilingChangeExecutor.java | 20 +++++++++++++++---- .../domain/exception/ErrorCode.java | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java index 69a29c8..13ade60 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java @@ -9,6 +9,7 @@ import org.qinan.safetyeval.client.co.*; import org.qinan.safetyeval.client.dto.*; import org.qinan.safetyeval.domain.change.gateway.*; import org.qinan.safetyeval.domain.change.model.*; +import org.qinan.safetyeval.domain.constant.QualFilingComplianceCheckEnum; import org.qinan.safetyeval.domain.constant.QualFilingFormStepEnum; import org.qinan.safetyeval.domain.constant.QualFilingReviewResultEnum; import org.qinan.safetyeval.domain.constant.QualFilingStatusEnum; @@ -238,10 +239,10 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi { return SingleResponse.success(); } - @Override - public SingleResponse> complianceCheck(Long id) { - return SingleResponse.success(qualFilingOrchestrator.complianceCheckChange(id)); - } + @Override + public SingleResponse> complianceCheck(Long id) { + return SingleResponse.success(qualFilingOrchestrator.complianceCheckChange(id)); + } @Override @Transactional(rollbackFor = Exception.class) @@ -301,6 +302,17 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi { Long id = qualFilingChangeDomainService.aggregationSaveOrEdit(entity, commitmentEntity , equipmentEntities, materialEntities, personnelEntities, personnelCertEntities); + // 合规性校验:只要有一项未通过则抛出异常 + List complianceResults = qualFilingOrchestrator.complianceCheckChange(id); + List failedItems = complianceResults.stream() + .filter(r -> QualFilingComplianceCheckEnum.STATUS_FAIL.equals(r.getStatus())) + .map(QualFilingChangeComplianceCheckResultCO::getTitle) + .collect(Collectors.toList()); + if (!failedItems.isEmpty()) { + throw new BizException(ErrorCode.QUAL_FILING_COMPLIANCE_CHECK_FAIL, + "合规性校验未通过:" + String.join("、", failedItems)); + } + QualFilingChangeCO co = new QualFilingChangeCO(); co.setId(id); return SingleResponse.success(co); diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java index be48c00..d1af5c2 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/ErrorCode.java @@ -74,6 +74,7 @@ public enum ErrorCode { QUAL_FILING_EQUIPMENT_DUPLICATE("02-05-101", "备案装备已存在,请勿重复添加"), QUAL_FILING_CHANGE_NO_DIFF("02-02-101", "备案信息无变更,无需提交"), QUAL_FILING_CHANGE_IN_PROGRESS("02-02-102", "存在进行中的备案变更"), + QUAL_FILING_COMPLIANCE_CHECK_FAIL("02-02-103", "合规性校验未通过"), // ---- 用户 ---- ACCOUNT_NOT_FOUND("04-01-001", "用户不存在"),