From a8c7db0c5f25c1304523df0fff17ec45e888b180 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Fri, 31 Jul 2026 09:46:43 +0800 Subject: [PATCH] fix bug --- .../app/executor/QualFilingExecutor.java | 54 +++++++++++++++++-- .../command/QualOnSiteReviewUpdateCmdExe.java | 47 ---------------- .../gatewayimpl/QualFilingGatewayImpl.java | 5 +- 3 files changed, 51 insertions(+), 55 deletions(-) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingExecutor.java index e902114..9cdabfa 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingExecutor.java @@ -2,12 +2,9 @@ package org.qinan.safetyeval.app.executor; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.qinan.safetyeval.app.change.convertor.*; import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator; import org.qinan.safetyeval.client.api.QualFilingApi; -import org.qinan.safetyeval.client.change.request.QualFilingCommitmentChangeAddCmd; -import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangeAddCmd; -import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangeAddCmd; -import org.qinan.safetyeval.client.change.request.QualFilingPersonnelChangeAddCmd; import org.qinan.safetyeval.client.co.QualFilingCO; import org.qinan.safetyeval.client.co.QualFilingComplianceCheckResultCO; import org.qinan.safetyeval.client.co.QualFilingDetailCO; @@ -15,7 +12,6 @@ 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.QualFilingReviewResultEnum; import org.qinan.safetyeval.domain.constant.QualFilingStatusEnum; import org.qinan.safetyeval.domain.entity.*; import org.qinan.safetyeval.domain.exception.BizException; @@ -67,6 +63,17 @@ public class QualFilingExecutor implements QualFilingApi { @Resource private QualFilingPersonnelCertMapper qualFilingPersonnelCertMapper; + @Resource + private QualFilingChangeCmdConvertor qualFilingChangeCmdConvertor; + @Resource + private QualFilingCommitmentChangeCmdConvertor qualFilingCommitmentChangeCmdConvertor; + @Resource + private QualFilingEquipmentChangeCmdConvertor qualFilingEquipmentChangeCmdConvertor; + @Resource + private QualFilingMaterialChangeCmdConvertor qualFilingMaterialChangeCmdConvertor; + @Resource + private QualFilingPersonnelChangeCmdConvertor qualFilingPersonnelChangeCmdConvertor; + @Override public SingleResponse add(QualFilingAddCmd cmd) { QualFilingEntity entity = new QualFilingEntity(); @@ -228,6 +235,43 @@ public class QualFilingExecutor implements QualFilingApi { public void review(QualFilingReviewAddCmd cmd) { qualFilingDomainService.review(cmd.getFilingId(), cmd.getReviewResult() , cmd.getReviewResultRemark(), cmd.getFilingExpertId(), cmd.getFilingExpertName(), cmd.getReviewOpinion()); + QualFilingStatusEnum qualFilingStatusEnum = QualFilingStatusEnum.ofCode(Integer.valueOf(cmd.getReviewResult())); + if (qualFilingStatusEnum == QualFilingStatusEnum.FILED) { + passedSaveToChange(cmd.getFilingId()); + } + } + + private void passedSaveToChange(Long filingId) { + QualFilingDO qualFilingDO = qualFilingMapper.selectById(filingId); + // 检查是否已存在资质变更记录,若已存在则不允许再次保存 + Long changeCount = qualFilingMapper.selectCount(new LambdaQueryWrapper() + .eq(QualFilingDO::getFilingStatusCode, QualFilingStatusEnum.FILED.getCode()) + .eq(QualFilingDO::getId, filingId)); + if (changeCount != null && changeCount > 1) { + throw new com.alibaba.cola.exception.BizException("存在已备案的不能重复备案"); + } + + // 审核通过,需要新增资质变更记录 + AggregationSaveOrEditQualFilingChangeCmd cmdSync = new AggregationSaveOrEditQualFilingChangeCmd(); + + cmdSync.setQualFilingChangeAddCmd(qualFilingChangeCmdConvertor.convertDOToCmd(qualFilingDO)); + // 备案承诺书 + QualFilingCommitmentDO qualFilingCommitmentDO = qualFilingCommitmentMapper.selectOne(new LambdaQueryWrapper() + .eq(QualFilingCommitmentDO::getFilingId, filingId)); + cmdSync.setQualFilingCommitmentChangeAddCmd(qualFilingCommitmentChangeCmdConvertor.convertDOToCmd(qualFilingCommitmentDO)); + // 备案装备 + List qualFilingEquipmentDOs = qualFilingEquipmentMapper.selectList(new LambdaQueryWrapper() + .eq(QualFilingEquipmentDO::getFilingId, filingId)); + cmdSync.setQualFilingEquipmentChangeAddCmds(qualFilingEquipmentChangeCmdConvertor.convertDOListToCmdList(qualFilingEquipmentDOs)); + // 备案材料清单 + List qualFilingMaterialDOs = qualFilingMaterialMapper.selectList(new LambdaQueryWrapper() + .eq(QualFilingMaterialDO::getFilingId, filingId)); + cmdSync.setQualFilingMaterialChangeAddCmds(qualFilingMaterialChangeCmdConvertor.convertDOListToCmdList(qualFilingMaterialDOs)); + // 备案人员 + List qualFilingPersonnelDOs = qualFilingPersonnelMapper.selectList(new LambdaQueryWrapper() + .eq(QualFilingPersonnelDO::getFilingId, filingId)); + cmdSync.setQualFilingPersonnelChangeAddCmds(qualFilingPersonnelChangeCmdConvertor.convertDOListToCmdList(qualFilingPersonnelDOs)); + qualFilingChangeExecutor.aggregationSaveOrEdit(cmdSync, true); } @Override diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java index 6e90068..df7f091 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java @@ -147,25 +147,8 @@ public class QualOnSiteReviewUpdateCmdExe { if (!updateRes) { throw new BizException("数据已被更新,请刷新重试"); } - - // 审查通过时,更新备案状态为已备案 - if (passed) { - // 基本信息 - QualFilingDO qualFilingDO = qualFilingMapper.selectByOrgIdLastOne(reviewDO.getOrgId()); - QualFilingEntity filingEntity = new QualFilingEntity(); - filingEntity.setId(qualFilingDO.getId()); - filingEntity.setFilingStatusCode(QualFilingStatusEnum.FILED.getCode()); - filingEntity.setFilingStatusName(QualFilingStatusEnum.FILED.getName()); - qualFilingGateway.modify(filingEntity); - - qualFilingDO.setFilingStatusCode(filingEntity.getFilingStatusCode()); - // 审核通过,同步生成资质变更记录 - passedSaveToChange(qualFilingDO); - } - // 保存审查结果文件 saveFileList(cmd.getId(), cmd.getFileList()); - return true; } @@ -187,35 +170,5 @@ public class QualOnSiteReviewUpdateCmdExe { } } - private void passedSaveToChange(QualFilingDO qualFilingDO) { - Long filingId = qualFilingDO.getId(); - // 检查是否已存在资质变更记录,若已存在则不允许再次保存 - Long changeCount = qualFilingChangeMapper.selectCount(new LambdaQueryWrapper() - .eq(QualFilingChangeDO::getFilingId, filingId)); - if (changeCount != null && changeCount > 0) { - throw new BizException("已经保存不能再次保存"); - } - // 审核通过,需要新增资质变更记录 - AggregationSaveOrEditQualFilingChangeCmd cmdSync = new AggregationSaveOrEditQualFilingChangeCmd(); - - cmdSync.setQualFilingChangeAddCmd(qualFilingChangeCmdConvertor.convertDOToCmd(qualFilingDO)); - // 备案承诺书 - QualFilingCommitmentDO qualFilingCommitmentDO = qualFilingCommitmentMapper.selectOne(new LambdaQueryWrapper() - .eq(QualFilingCommitmentDO::getFilingId, filingId)); - cmdSync.setQualFilingCommitmentChangeAddCmd(qualFilingCommitmentChangeCmdConvertor.convertDOToCmd(qualFilingCommitmentDO)); - // 备案装备 - List qualFilingEquipmentDOs = qualFilingEquipmentMapper.selectList(new LambdaQueryWrapper() - .eq(QualFilingEquipmentDO::getFilingId, filingId)); - cmdSync.setQualFilingEquipmentChangeAddCmds(qualFilingEquipmentChangeCmdConvertor.convertDOListToCmdList(qualFilingEquipmentDOs)); - // 备案材料清单 - List qualFilingMaterialDOs = qualFilingMaterialMapper.selectList(new LambdaQueryWrapper() - .eq(QualFilingMaterialDO::getFilingId, filingId)); - cmdSync.setQualFilingMaterialChangeAddCmds(qualFilingMaterialChangeCmdConvertor.convertDOListToCmdList(qualFilingMaterialDOs)); - // 备案人员 - List qualFilingPersonnelDOs = qualFilingPersonnelMapper.selectList(new LambdaQueryWrapper() - .eq(QualFilingPersonnelDO::getFilingId, filingId)); - cmdSync.setQualFilingPersonnelChangeAddCmds(qualFilingPersonnelChangeCmdConvertor.convertDOListToCmdList(qualFilingPersonnelDOs)); - qualFilingChangeExecutor.aggregationSaveOrEdit(cmdSync, true); - } } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingGatewayImpl.java index b7afc93..7e2a296 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingGatewayImpl.java @@ -268,7 +268,8 @@ public class QualFilingGatewayImpl implements QualFilingGateway { * @param reviewOpinion 审核意见 */ @Override - public void review(Long filingId, String reviewResult, String reviewResultRemark, Long filingExpertId, String filingExpertName, String reviewOpinion) { + public void review(Long filingId, String reviewResult, String reviewResultRemark + , Long filingExpertId, String filingExpertName, String reviewOpinion) { // 保存审核记录 QualFilingReviewDO qualFilingReviewDO = new QualFilingReviewDO(); qualFilingReviewDO.setFilingId(filingId); @@ -282,8 +283,6 @@ public class QualFilingGatewayImpl implements QualFilingGateway { // 更新备案状态 QualFilingDO filing = new QualFilingDO(); QualFilingStatusEnum qualFilingStatusEnum = QualFilingStatusEnum.ofCode(Integer.valueOf(reviewResult)); - qualFilingStatusEnum = qualFilingStatusEnum == QualFilingStatusEnum.FILED - ? QualFilingStatusEnum.CONDITION_COMPLIANCE_PASS : qualFilingStatusEnum; filing.setFilingStatusCode(qualFilingStatusEnum.getCode()); filing.setFilingStatusName(qualFilingStatusEnum.getName()); filing.setApproveTime(LocalDateTime.now());