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.client.dto.*;
import org.qinan.safetyeval.domain.constant.BooleanQAEnum; import org.qinan.safetyeval.domain.constant.BooleanQAEnum;
import org.qinan.safetyeval.domain.constant.QualFilingApplyTypeEnum; 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.constant.QualFilingStatusEnum;
import org.qinan.safetyeval.domain.entity.*; import org.qinan.safetyeval.domain.entity.*;
import org.qinan.safetyeval.domain.exception.BizException; import org.qinan.safetyeval.domain.exception.BizException;
@ -181,6 +182,18 @@ public class QualFilingExecutor implements QualFilingApi {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public SingleResponse<QualFilingCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingCmd cmd) { 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若同机构已存在其他资质备案记录则不允许新增 // 新增时校验用当前id查询记录获取org_id若同机构已存在其他资质备案记录则不允许新增
Long currentId = cmd.getQualFilingAddCmd().getId(); Long currentId = cmd.getQualFilingAddCmd().getId();
if (currentId == null) { if (currentId == null) {
@ -209,10 +222,6 @@ public class QualFilingExecutor implements QualFilingApi {
: qualFilingAddCmdConvertor.convertPersonnelCertCmdListToEntityList(cmd.getQualFilingPersonnelCertAddCmds()); : qualFilingAddCmdConvertor.convertPersonnelCertCmdListToEntityList(cmd.getQualFilingPersonnelCertAddCmds());
Long id = qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities); Long id = qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
co.setId(id); co.setId(id);
if (cmd.getQualFilingAddCmd().getFilingStatusCode() != null
&& cmd.getQualFilingAddCmd().getFilingStatusCode() != QualFilingStatusEnum.DRAFT.getCode()) {
ComplianceCheckUtil.complianceCheck(cmd, true);
}
return SingleResponse.success(co); return SingleResponse.success(co);
} }

View File

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