dev
luotaiqian 2026-07-08 20:06:00 +08:00
parent e0315f9827
commit f05d8fb3c2
2 changed files with 17 additions and 4 deletions

View File

@ -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<List<QualFilingChangeComplianceCheckResultCO>> complianceCheck(Long id) {
return SingleResponse.success(qualFilingOrchestrator.complianceCheckChange(id));
}
@Override
public SingleResponse<List<QualFilingChangeComplianceCheckResultCO>> 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<QualFilingChangeComplianceCheckResultCO> complianceResults = qualFilingOrchestrator.complianceCheckChange(id);
List<String> 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);

View File

@ -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", "用户不存在"),