dev
luotaiqian 2026-07-31 09:46:43 +08:00
parent f342d7ad8e
commit a8c7db0c5f
3 changed files with 51 additions and 55 deletions

View File

@ -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<QualFilingCO> 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<QualFilingDO>()
.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<QualFilingCommitmentDO>()
.eq(QualFilingCommitmentDO::getFilingId, filingId));
cmdSync.setQualFilingCommitmentChangeAddCmd(qualFilingCommitmentChangeCmdConvertor.convertDOToCmd(qualFilingCommitmentDO));
// 备案装备
List<QualFilingEquipmentDO> qualFilingEquipmentDOs = qualFilingEquipmentMapper.selectList(new LambdaQueryWrapper<QualFilingEquipmentDO>()
.eq(QualFilingEquipmentDO::getFilingId, filingId));
cmdSync.setQualFilingEquipmentChangeAddCmds(qualFilingEquipmentChangeCmdConvertor.convertDOListToCmdList(qualFilingEquipmentDOs));
// 备案材料清单
List<QualFilingMaterialDO> qualFilingMaterialDOs = qualFilingMaterialMapper.selectList(new LambdaQueryWrapper<QualFilingMaterialDO>()
.eq(QualFilingMaterialDO::getFilingId, filingId));
cmdSync.setQualFilingMaterialChangeAddCmds(qualFilingMaterialChangeCmdConvertor.convertDOListToCmdList(qualFilingMaterialDOs));
// 备案人员
List<QualFilingPersonnelDO> qualFilingPersonnelDOs = qualFilingPersonnelMapper.selectList(new LambdaQueryWrapper<QualFilingPersonnelDO>()
.eq(QualFilingPersonnelDO::getFilingId, filingId));
cmdSync.setQualFilingPersonnelChangeAddCmds(qualFilingPersonnelChangeCmdConvertor.convertDOListToCmdList(qualFilingPersonnelDOs));
qualFilingChangeExecutor.aggregationSaveOrEdit(cmdSync, true);
}
@Override

View File

@ -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<QualFilingChangeDO>()
.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<QualFilingCommitmentDO>()
.eq(QualFilingCommitmentDO::getFilingId, filingId));
cmdSync.setQualFilingCommitmentChangeAddCmd(qualFilingCommitmentChangeCmdConvertor.convertDOToCmd(qualFilingCommitmentDO));
// 备案装备
List<QualFilingEquipmentDO> qualFilingEquipmentDOs = qualFilingEquipmentMapper.selectList(new LambdaQueryWrapper<QualFilingEquipmentDO>()
.eq(QualFilingEquipmentDO::getFilingId, filingId));
cmdSync.setQualFilingEquipmentChangeAddCmds(qualFilingEquipmentChangeCmdConvertor.convertDOListToCmdList(qualFilingEquipmentDOs));
// 备案材料清单
List<QualFilingMaterialDO> qualFilingMaterialDOs = qualFilingMaterialMapper.selectList(new LambdaQueryWrapper<QualFilingMaterialDO>()
.eq(QualFilingMaterialDO::getFilingId, filingId));
cmdSync.setQualFilingMaterialChangeAddCmds(qualFilingMaterialChangeCmdConvertor.convertDOListToCmdList(qualFilingMaterialDOs));
// 备案人员
List<QualFilingPersonnelDO> qualFilingPersonnelDOs = qualFilingPersonnelMapper.selectList(new LambdaQueryWrapper<QualFilingPersonnelDO>()
.eq(QualFilingPersonnelDO::getFilingId, filingId));
cmdSync.setQualFilingPersonnelChangeAddCmds(qualFilingPersonnelChangeCmdConvertor.convertDOListToCmdList(qualFilingPersonnelDOs));
qualFilingChangeExecutor.aggregationSaveOrEdit(cmdSync, true);
}
}

View File

@ -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());