dev
luotaiqian 2026-08-05 11:51:36 +08:00
parent 64d4625fd3
commit 3014eef505
2 changed files with 19 additions and 6 deletions

View File

@ -12,6 +12,7 @@ import org.qinan.safetyeval.client.co.QualFilingStatisticsCO;
import org.qinan.safetyeval.client.dto.*;
import org.qinan.safetyeval.domain.constant.BooleanQAEnum;
import org.qinan.safetyeval.domain.constant.QualFilingApplyTypeEnum;
import org.qinan.safetyeval.domain.constant.QualFilingComplianceCheckEnum;
import org.qinan.safetyeval.domain.constant.QualFilingStatusEnum;
import org.qinan.safetyeval.domain.entity.*;
import org.qinan.safetyeval.domain.exception.BizException;
@ -181,6 +182,18 @@ public class QualFilingExecutor implements QualFilingApi {
@Override
@Transactional(rollbackFor = Exception.class)
public SingleResponse<QualFilingCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingCmd cmd) {
if (cmd.getQualFilingAddCmd().getFilingStatusCode() != null
&& cmd.getQualFilingAddCmd().getFilingStatusCode() != QualFilingStatusEnum.DRAFT.getCode()) {
List<QualFilingComplianceCheckResultCO> complianceResults = ComplianceCheckUtil.complianceCheck(cmd, false);
List<String> failedItems = complianceResults.stream()
.filter(r -> QualFilingComplianceCheckEnum.STATUS_FAIL.equals(r.getStatus()))
.map(QualFilingComplianceCheckResultCO::getTitle)
.collect(Collectors.toList());
if (!failedItems.isEmpty()) {
throw new BizException(ErrorCode.QUAL_FILING_COMPLIANCE_CHECK_FAIL,
"合规性校验未通过:" + String.join("、", failedItems));
}
}
// 新增时校验用当前id查询记录获取org_id若同机构已存在其他资质备案记录则不允许新增
Long currentId = cmd.getQualFilingAddCmd().getId();
if (currentId == null) {
@ -209,10 +222,6 @@ public class QualFilingExecutor implements QualFilingApi {
: qualFilingAddCmdConvertor.convertPersonnelCertCmdListToEntityList(cmd.getQualFilingPersonnelCertAddCmds());
Long id = qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
co.setId(id);
if (cmd.getQualFilingAddCmd().getFilingStatusCode() != null
&& cmd.getQualFilingAddCmd().getFilingStatusCode() != QualFilingStatusEnum.DRAFT.getCode()) {
ComplianceCheckUtil.complianceCheck(cmd, true);
}
return SingleResponse.success(co);
}

View File

@ -86,6 +86,7 @@ public class ComplianceCheckUtil {
// 9. 承诺书/网站/报告查询
results.add(checkCommitment(cmd.getQualFilingCommitmentAddCmd(), filing));
// 承诺书签字管理
results.add(checkCommitmentSignature(cmd.getQualFilingCommitmentAddCmd(), filing));
@ -103,8 +104,11 @@ public class ComplianceCheckUtil {
QualFilingComplianceCheckResultCO qualFilingComplianceCheckResultCO = new QualFilingComplianceCheckResultCO();
qualFilingComplianceCheckResultCO.setTitle(QualFilingComplianceCheckEnum.COMMITMENT_SIGNATURE.getTitle());
qualFilingComplianceCheckResultCO.setDescription(QualFilingComplianceCheckEnum.COMMITMENT_SIGNATURE.getDescription());
qualFilingComplianceCheckResultCO.setStatus(Objects.nonNull(commitment) && StringUtils.hasText(commitment.getLegalRepSignatureUrl()) ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
qualFilingComplianceCheckResultCO.setCurrentValue(Objects.nonNull(commitment) && StringUtils.hasText(commitment.getLegalRepSignatureUrl()) ? "法定代表人已签字" : "法定代表人未签字");
qualFilingComplianceCheckResultCO.setStatus(Objects.nonNull(commitment)
&& StringUtils.hasText(commitment.getLegalRepSignatureUrl())
? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
qualFilingComplianceCheckResultCO.setCurrentValue(Objects.nonNull(commitment)
&& StringUtils.hasText(commitment.getLegalRepSignatureUrl()) ? "法定代表人已签字" : "法定代表人未签字");
qualFilingComplianceCheckResultCO.setSourceColumn(QualFilingComplianceCheckEnum.COMMITMENT_SIGNATURE.getSourceColumn());
return qualFilingComplianceCheckResultCO;
}