init
parent
fdc1e3c576
commit
631b86fa60
|
|
@ -11,6 +11,7 @@ import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd;
|
|||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewMonitorPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewOrgPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewResultUploadCmd;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd;
|
||||
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo;
|
||||
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo;
|
||||
|
|
@ -79,6 +80,13 @@ public class QualOnSiteReviewController implements Serializable {
|
|||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@PostMapping("/result-upload")
|
||||
@ApiOperation("审查结果上传")
|
||||
public Response uploadReviewResult(@Validated @RequestBody QualOnSiteReviewResultUploadCmd qualOnSiteReviewResultUploadCmd) {
|
||||
qualOnSiteReviewServiceI.uploadReviewResult(qualOnSiteReviewResultUploadCmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@ApiOperation("删除资质现场核查(单个)")
|
||||
public Response deletedById(@PathVariable("id") Long id) {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import org.qinan.safetyeval.client.dto.QualFilingAddCmd;
|
|||
import org.qinan.safetyeval.client.dto.QualFilingChangeAddCmd;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingChangeEntity;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingEntity;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -69,4 +70,23 @@ public interface QualFilingChangeCmdConvertor {
|
|||
@Mapping(target = "applyTypeCode", ignore = true)
|
||||
@Mapping(target = "applyTypeName", ignore = true)
|
||||
QualFilingAddCmd convertChangeEToFilingCmd(QualFilingChangeEntity changeEntity);
|
||||
|
||||
/**
|
||||
* 备案DO转变更Cmd(审核通过同步变更记录时使用)
|
||||
* <p>
|
||||
* 原 BeanUtils.copyProperties(qualFilingDO, cmd, "id") 行为:
|
||||
* - id 不拷贝
|
||||
* - filingId 由 DO.id 设置
|
||||
* - businessScope 由 JSON 字符串解析为 List
|
||||
*/
|
||||
@Mapping(target = "id", ignore = true)
|
||||
@Mapping(target = "filingId", source = "id")
|
||||
@Mapping(target = "changeFilingId", ignore = true)
|
||||
@Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "jsonStringToList")
|
||||
QualFilingChangeAddCmd convertDOToCmd(QualFilingDO qualFilingDO);
|
||||
|
||||
@Named("jsonStringToList")
|
||||
default List<String> jsonStringToList(String json) {
|
||||
return json == null ? null : JSON.parseArray(json, String.class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import org.qinan.safetyeval.client.co.QualFilingCommitmentCO;
|
|||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentAddCmd;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingCommitmentChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingCommitmentEntity;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingCommitmentDO;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
|
@ -63,7 +64,18 @@ public interface QualFilingCommitmentChangeCmdConvertor {
|
|||
*/
|
||||
QualFilingCommitmentAddCmd convertChangeEToCmd(QualFilingCommitmentChangeE changeE);
|
||||
|
||||
/**
|
||||
* 备案承诺书DO转变更Cmd(审核通过同步变更记录时使用)
|
||||
* signDate 由 LocalDate 转为 LocalDateTime
|
||||
*/
|
||||
@Mapping(target = "filingChangeId", ignore = true)
|
||||
QualFilingCommitmentChangeAddCmd convertDOToCmd(QualFilingCommitmentDO qualFilingCommitmentDO);
|
||||
|
||||
default LocalDate map(LocalDateTime dateTime) {
|
||||
return dateTime == null ? null : dateTime.toLocalDate();
|
||||
}
|
||||
|
||||
default LocalDateTime map(LocalDate date) {
|
||||
return date == null ? null : date.atStartOfDay();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangeUpdat
|
|||
import org.qinan.safetyeval.client.co.QualFilingEquipmentCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingEquipmentChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingEquipmentEntity;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingEquipmentDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -60,4 +61,15 @@ public interface QualFilingEquipmentChangeCmdConvertor {
|
|||
* 批量转换变更装备为CO
|
||||
*/
|
||||
List<QualFilingEquipmentCO> convertChangeEListToCOList(List<QualFilingEquipmentChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 备案装备DO转变更Cmd(审核通过同步变更记录时使用)
|
||||
*/
|
||||
@Mapping(target = "filingChangeId", ignore = true)
|
||||
QualFilingEquipmentChangeAddCmd convertDOToCmd(QualFilingEquipmentDO qualFilingEquipmentDO);
|
||||
|
||||
/**
|
||||
* 批量转换备案装备DO为变更Cmd
|
||||
*/
|
||||
List<QualFilingEquipmentChangeAddCmd> convertDOListToCmdList(List<QualFilingEquipmentDO> qualFilingEquipmentDOs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import org.qinan.safetyeval.client.co.QualFilingMaterialCO;
|
|||
import org.qinan.safetyeval.client.dto.QualFilingMaterialAddCmd;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingMaterialChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingMaterialEntity;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingMaterialDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -80,4 +81,15 @@ public interface QualFilingMaterialChangeCmdConvertor {
|
|||
* 批量转换变更实体为备案Cmd
|
||||
*/
|
||||
List<QualFilingMaterialAddCmd> convertChangeEListToCmdList(List<QualFilingMaterialChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 备案材料DO转变更Cmd(审核通过同步变更记录时使用)
|
||||
*/
|
||||
@Mapping(target = "filingChangeId", ignore = true)
|
||||
QualFilingMaterialChangeAddCmd convertDOToCmd(QualFilingMaterialDO qualFilingMaterialDO);
|
||||
|
||||
/**
|
||||
* 批量转换备案材料DO为变更Cmd
|
||||
*/
|
||||
List<QualFilingMaterialChangeAddCmd> convertDOListToCmdList(List<QualFilingMaterialDO> qualFilingMaterialDOs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import org.qinan.safetyeval.client.co.QualFilingPersonnelCO;
|
|||
import org.qinan.safetyeval.client.dto.QualFilingPersonnelAddCmd;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingPersonnelChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingPersonnelEntity;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingPersonnelDO;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
|
@ -84,7 +85,23 @@ public interface QualFilingPersonnelChangeCmdConvertor {
|
|||
*/
|
||||
List<QualFilingPersonnelAddCmd> convertChangeEListToCmdList(List<QualFilingPersonnelChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 备案人员DO转变更Cmd(审核通过同步变更记录时使用)
|
||||
* birthDate / joinWorkDate 由 LocalDate 转为 LocalDateTime
|
||||
*/
|
||||
@Mapping(target = "filingChangeId", ignore = true)
|
||||
QualFilingPersonnelChangeAddCmd convertDOToCmd(QualFilingPersonnelDO qualFilingPersonnelDO);
|
||||
|
||||
/**
|
||||
* 批量转换备案人员DO为变更Cmd
|
||||
*/
|
||||
List<QualFilingPersonnelChangeAddCmd> convertDOListToCmdList(List<QualFilingPersonnelDO> qualFilingPersonnelDOs);
|
||||
|
||||
default LocalDate map(LocalDateTime dateTime) {
|
||||
return dateTime == null ? null : dateTime.toLocalDate();
|
||||
}
|
||||
|
||||
default LocalDateTime map(LocalDate date) {
|
||||
return date == null ? null : date.atStartOfDay();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ 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;
|
||||
import org.qinan.safetyeval.domain.exception.ErrorCode;
|
||||
|
|
@ -225,49 +226,8 @@ public class QualFilingExecutor implements QualFilingApi {
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void review(QualFilingReviewAddCmd cmd) {
|
||||
qualFilingDomainService.review(cmd.getFilingId(), cmd.getReviewResult(), cmd.getReviewResultRemark(), cmd.getFilingExpertId(), cmd.getFilingExpertName(), cmd.getReviewOpinion());
|
||||
if (QualFilingReviewResultEnum.PASS.getCode() == Integer.parseInt(cmd.getReviewResult())) {
|
||||
// 审核通过,需要新增资质变更记录
|
||||
AggregationSaveOrEditQualFilingChangeCmd cmdSync = new AggregationSaveOrEditQualFilingChangeCmd();
|
||||
// 基本信息
|
||||
QualFilingDO qualFilingDO = qualFilingMapper.selectById(cmd.getFilingId());
|
||||
QualFilingChangeAddCmd qualFilingChangeAddCmd = new QualFilingChangeAddCmd();
|
||||
BeanUtils.copyProperties(qualFilingDO, qualFilingChangeAddCmd, "id");
|
||||
qualFilingChangeAddCmd.setBusinessScope(JSON.parseArray(qualFilingDO.getBusinessScope(), String.class));
|
||||
qualFilingChangeAddCmd.setFilingId(qualFilingDO.getId());
|
||||
cmdSync.setQualFilingChangeAddCmd(qualFilingChangeAddCmd);
|
||||
// 备案承诺书
|
||||
QualFilingCommitmentDO qualFilingCommitmentDO = qualFilingCommitmentMapper.selectOne(new LambdaQueryWrapper<QualFilingCommitmentDO>()
|
||||
.eq(QualFilingCommitmentDO::getFilingId, cmd.getFilingId()));
|
||||
QualFilingCommitmentChangeAddCmd qualFilingCommitmentChangeAddCmd = new QualFilingCommitmentChangeAddCmd();
|
||||
BeanUtils.copyProperties(qualFilingCommitmentDO, qualFilingCommitmentChangeAddCmd);
|
||||
cmdSync.setQualFilingCommitmentChangeAddCmd(qualFilingCommitmentChangeAddCmd);
|
||||
// 备案装备
|
||||
List<QualFilingEquipmentDO> qualFilingEquipmentDOs = qualFilingEquipmentMapper.selectList(new LambdaQueryWrapper<QualFilingEquipmentDO>()
|
||||
.eq(QualFilingEquipmentDO::getFilingId, cmd.getFilingId()));
|
||||
cmdSync.setQualFilingEquipmentChangeAddCmds(qualFilingEquipmentDOs.stream().map(item -> {
|
||||
QualFilingEquipmentChangeAddCmd qualFilingEquipmentChangeAddCmd = new QualFilingEquipmentChangeAddCmd();
|
||||
BeanUtils.copyProperties(item, qualFilingEquipmentChangeAddCmd);
|
||||
return qualFilingEquipmentChangeAddCmd;
|
||||
}).collect(Collectors.toList()));
|
||||
// 备案材料清单
|
||||
List<QualFilingMaterialDO> qualFilingMaterialDOs = qualFilingMaterialMapper.selectList(new LambdaQueryWrapper<QualFilingMaterialDO>()
|
||||
.eq(QualFilingMaterialDO::getFilingId, cmd.getFilingId()));
|
||||
cmdSync.setQualFilingMaterialChangeAddCmds(qualFilingMaterialDOs.stream().map(item -> {
|
||||
QualFilingMaterialChangeAddCmd qualFilingMaterialChangeAddCmd = new QualFilingMaterialChangeAddCmd();
|
||||
BeanUtils.copyProperties(item, qualFilingMaterialChangeAddCmd);
|
||||
return qualFilingMaterialChangeAddCmd;
|
||||
}).collect(Collectors.toList()));
|
||||
// 备案人员
|
||||
List<QualFilingPersonnelDO> qualFilingPersonnelDOs = qualFilingPersonnelMapper.selectList(new LambdaQueryWrapper<QualFilingPersonnelDO>()
|
||||
.eq(QualFilingPersonnelDO::getFilingId, cmd.getFilingId()));
|
||||
cmdSync.setQualFilingPersonnelChangeAddCmds(qualFilingPersonnelDOs.stream().map(item -> {
|
||||
QualFilingPersonnelChangeAddCmd qualFilingPersonnelChangeAddCmd = new QualFilingPersonnelChangeAddCmd();
|
||||
BeanUtils.copyProperties(item, qualFilingPersonnelChangeAddCmd);
|
||||
return qualFilingPersonnelChangeAddCmd;
|
||||
}).collect(Collectors.toList()));
|
||||
qualFilingChangeExecutor.aggregationSaveOrEdit(cmdSync, true);
|
||||
}
|
||||
qualFilingDomainService.review(cmd.getFilingId(), cmd.getReviewResult()
|
||||
, cmd.getReviewResultRemark(), cmd.getFilingExpertId(), cmd.getFilingExpertName(), cmd.getReviewOpinion());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,14 +1,32 @@
|
|||
package org.qinan.safetyeval.app.review.executor.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.qinan.safetyeval.app.change.convertor.*;
|
||||
import org.qinan.safetyeval.app.executor.QualFilingChangeExecutor;
|
||||
import org.qinan.safetyeval.app.file.convertor.QualOnSiteReviewFileCmdConvertor;
|
||||
import org.qinan.safetyeval.app.review.convertor.QualOnSiteReviewCmdConvertor;
|
||||
import org.qinan.safetyeval.client.dto.AggregationSaveOrEditQualFilingChangeCmd;
|
||||
import org.qinan.safetyeval.client.file.request.QualOnSiteReviewFileAddCmd;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewResultUploadCmd;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingStatusEnum;
|
||||
import org.qinan.safetyeval.domain.constant.QualOnSiteReviewStatusEnum;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingEntity;
|
||||
import org.qinan.safetyeval.domain.file.model.QualOnSiteReviewFileE;
|
||||
import org.qinan.safetyeval.domain.gateway.QualFilingGateway;
|
||||
import org.qinan.safetyeval.domain.review.ability.QualOnSiteReviewAbility;
|
||||
import org.qinan.safetyeval.domain.review.model.QualOnSiteReviewE;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.*;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.*;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewQueryService;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 修改资质现场核查资源执行器
|
||||
|
|
@ -22,6 +40,19 @@ public class QualOnSiteReviewUpdateCmdExe {
|
|||
private final QualOnSiteReviewQueryService qualOnSiteReviewQueryService;
|
||||
private final QualOnSiteReviewCmdConvertor qualOnSiteReviewCmdConvertor;
|
||||
private final QualOnSiteReviewAbility qualOnSiteReviewAbility;
|
||||
private final QualOnSiteReviewFileCmdConvertor qualOnSiteReviewFileCmdConvertor;
|
||||
private final QualFilingGateway qualFilingGateway;
|
||||
private final QualFilingMapper qualFilingMapper;
|
||||
private final QualFilingCommitmentMapper qualFilingCommitmentMapper;
|
||||
private final QualFilingEquipmentMapper qualFilingEquipmentMapper;
|
||||
private final QualFilingMaterialMapper qualFilingMaterialMapper;
|
||||
private final QualFilingPersonnelMapper qualFilingPersonnelMapper;
|
||||
private final QualFilingChangeExecutor qualFilingChangeExecutor;
|
||||
private final QualFilingChangeCmdConvertor qualFilingChangeCmdConvertor;
|
||||
private final QualFilingCommitmentChangeCmdConvertor qualFilingCommitmentChangeCmdConvertor;
|
||||
private final QualFilingEquipmentChangeCmdConvertor qualFilingEquipmentChangeCmdConvertor;
|
||||
private final QualFilingMaterialChangeCmdConvertor qualFilingMaterialChangeCmdConvertor;
|
||||
private final QualFilingPersonnelChangeCmdConvertor qualFilingPersonnelChangeCmdConvertor;
|
||||
|
||||
/**
|
||||
* 修改资质现场核查
|
||||
|
|
@ -38,4 +69,100 @@ public class QualOnSiteReviewUpdateCmdExe {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 审查结果上传
|
||||
* <p>
|
||||
* 1. 更新现场核查状态(通过/不通过)及审查意见
|
||||
* 2. 审查通过时,将对应备案记录状态更新为已备案
|
||||
* 3. 保存审查结果文件
|
||||
*
|
||||
* @param cmd 审查结果上传对象
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(QualOnSiteReviewResultUploadCmd cmd) {
|
||||
QualOnSiteReviewDO reviewDO = qualOnSiteReviewQueryService.getById(cmd.getId());
|
||||
if (reviewDO == null) {
|
||||
throw new BizException("资质现场核查记录不存在");
|
||||
}
|
||||
|
||||
// 解析审查结论
|
||||
boolean passed = cmd.getReviewResult();
|
||||
String status = passed ? QualOnSiteReviewStatusEnum.REVIEW_PASSED.getCode()
|
||||
: QualOnSiteReviewStatusEnum.REVIEW_FAILED.getCode();
|
||||
|
||||
// 更新现场核查状态及审查意见
|
||||
QualOnSiteReviewE reviewE = QualOnSiteReviewE.of();
|
||||
reviewE.setId(cmd.getId());
|
||||
reviewE.setStatus(status);
|
||||
reviewE.setReviewOpinion(cmd.getReviewOpinion());
|
||||
Boolean updateRes = reviewE.update();
|
||||
if (!updateRes) {
|
||||
throw new BizException("数据已被更新,请刷新重试");
|
||||
}
|
||||
|
||||
// 审查通过时,更新备案状态为已备案
|
||||
if (passed && reviewDO.getBizId() != null) {
|
||||
QualFilingEntity filingEntity = new QualFilingEntity();
|
||||
filingEntity.setId(reviewDO.getBizId());
|
||||
filingEntity.setFilingStatusCode(QualFilingStatusEnum.FILED.getCode());
|
||||
filingEntity.setFilingStatusName(QualFilingStatusEnum.FILED.getName());
|
||||
qualFilingGateway.modify(filingEntity);
|
||||
|
||||
// 审核通过,同步生成资质变更记录
|
||||
passedSaveToChange(reviewDO.getOrgId());
|
||||
}
|
||||
|
||||
// 保存审查结果文件
|
||||
saveFileList(cmd.getId(), cmd.getFileList());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private void saveFileList(Long reviewId, List<QualOnSiteReviewFileAddCmd> fileList) {
|
||||
if (CollectionUtils.isEmpty(fileList)) {
|
||||
return;
|
||||
}
|
||||
for (QualOnSiteReviewFileAddCmd fileCmd : fileList) {
|
||||
QualOnSiteReviewFileE fileE = qualOnSiteReviewFileCmdConvertor.convertCmdToE(fileCmd);
|
||||
fileE.setQualOnSiteReviewId(reviewId);
|
||||
boolean res = fileE.add();
|
||||
if (!res) {
|
||||
throw new BizException("审查结果文件保存失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void passedSaveToChange(Long orgId) {
|
||||
// 基本信息
|
||||
QualFilingDO qualFilingDO = qualFilingMapper.selectByOrgIdLastOne(orgId);
|
||||
if (qualFilingDO == null) {
|
||||
throw new BizException("未找到该机构的资质备案记录");
|
||||
}
|
||||
Long filingId = qualFilingDO.getId();
|
||||
|
||||
// 审核通过,需要新增资质变更记录
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd;
|
|||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewMonitorPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewOrgPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewResultUploadCmd;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd;
|
||||
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo;
|
||||
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo;
|
||||
|
|
@ -81,5 +82,13 @@ public interface QualOnSiteReviewServiceI {
|
|||
*/
|
||||
boolean deletedQualOnSiteReviewByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 审查结果上传
|
||||
*
|
||||
* @param qualOnSiteReviewResultUploadCmd 审查结果上传对象
|
||||
* @return 结果
|
||||
*/
|
||||
boolean uploadReviewResult(QualOnSiteReviewResultUploadCmd qualOnSiteReviewResultUploadCmd);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd;
|
|||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewMonitorPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewOrgPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewResultUploadCmd;
|
||||
import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd;
|
||||
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo;
|
||||
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo;
|
||||
|
|
@ -74,4 +75,9 @@ public class QualOnSiteReviewServiceImpl implements QualOnSiteReviewServiceI {
|
|||
return qualOnSiteReviewDelCommandExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean uploadReviewResult(QualOnSiteReviewResultUploadCmd qualOnSiteReviewResultUploadCmd) {
|
||||
return qualOnSiteReviewUpdateCommandExe.execute(qualOnSiteReviewResultUploadCmd);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,4 +32,10 @@ public class QualOnSiteReviewFileAddCmd implements Serializable {
|
|||
@NotBlank(message = "文件url不能为空")
|
||||
@Size(max = 1024, message = "文件url不能超过1024个字符")
|
||||
private String fileUrl;
|
||||
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,4 +36,10 @@ public class QualOnSiteReviewFileUpdateCmd implements Serializable {
|
|||
@NotBlank(message = "文件url不能为空")
|
||||
@Size(max = 1024, message = "文件url不能超过1024个字符")
|
||||
private String fileUrl;
|
||||
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ public class QualOnSiteReviewFileCo extends ClientObject {
|
|||
*/
|
||||
@ApiModelProperty(value = "文件url")
|
||||
private String fileUrl;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -64,6 +64,11 @@ public class QualOnSiteReviewAddCmd implements Serializable {
|
|||
*/
|
||||
@ApiModelProperty(value = QualOnSiteReviewStatusEnum.REMARKS, required = true)
|
||||
private String status;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package org.qinan.safetyeval.client.review.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.qinan.safetyeval.client.file.request.QualOnSiteReviewFileAddCmd;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 资质现场核查-审查结果上传Cmd
|
||||
*
|
||||
* @Author: ltq
|
||||
* @date 2026-07-20 15:17:00
|
||||
*/
|
||||
@Data
|
||||
public class QualOnSiteReviewResultUploadCmd implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
@NotNull(message = "资质现场核查id不能为空")
|
||||
@ApiModelProperty(value = "资质现场核查id", required = true)
|
||||
private Long id;
|
||||
|
||||
@NotBlank(message = "审查结论不能为空")
|
||||
@ApiModelProperty(value = "审查结论:true通过/false不通过", required = true)
|
||||
@NotNull
|
||||
private Boolean reviewResult;
|
||||
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
|
||||
@ApiModelProperty(value = "审查结果文件")
|
||||
@NotNull
|
||||
@Size(max = 100)
|
||||
@Valid
|
||||
private List<QualOnSiteReviewFileAddCmd> fileList;
|
||||
}
|
||||
|
|
@ -66,6 +66,11 @@ public class QualOnSiteReviewUpdateCmd implements Serializable {
|
|||
@ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)", required = true)
|
||||
@NotNull(message = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)不能为空")
|
||||
private String status;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -64,6 +64,11 @@ public class QualOnSiteReviewCo extends ClientObject {
|
|||
*/
|
||||
@ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)")
|
||||
private String status;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -67,6 +67,11 @@ public class QualOnSiteReviewMonitorCo extends ClientObject {
|
|||
*/
|
||||
@ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)")
|
||||
private String status;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -66,6 +66,11 @@ public class QualOnSiteReviewOrgCo extends ClientObject {
|
|||
*/
|
||||
@ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)")
|
||||
private String status;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
@ApiModelProperty(value = "审查意见")
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -32,6 +32,10 @@ public class QualOnSiteReviewFileE extends BaseE {
|
|||
* 文件url
|
||||
*/
|
||||
private String fileUrl;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -58,6 +58,10 @@ public class QualOnSiteReviewE extends BaseE {
|
|||
* 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import org.qinan.safetyeval.domain.entity.*;
|
|||
import org.qinan.safetyeval.domain.exception.BizException;
|
||||
import org.qinan.safetyeval.domain.exception.ErrorCode;
|
||||
import org.qinan.safetyeval.domain.gateway.QualFilingGateway;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingQuery;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingQuery;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.*;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.*;
|
||||
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
|
||||
|
|
@ -71,6 +71,7 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
|||
QualFilingDO dataObject = qualFilingMapper.selectById(id);
|
||||
return toEntity(dataObject);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QualFilingEntity getByFilingNo(String filingNo) {
|
||||
LambdaQueryWrapper<QualFilingDO> wrapper = new LambdaQueryWrapper<>();
|
||||
|
|
@ -156,6 +157,7 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
|||
|
||||
/**
|
||||
* 聚合保存
|
||||
*
|
||||
* @param entity 基础信息
|
||||
* @param commitmentEntity 备案承诺书
|
||||
* @param equipmentEntities 备件
|
||||
|
|
@ -257,6 +259,7 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
|||
|
||||
/**
|
||||
* 备案审核
|
||||
*
|
||||
* @param filingId 机构id
|
||||
* @param reviewResult 审核结果(1通过2待定3不通过)
|
||||
* @param reviewResultRemark 审核结果文字描述
|
||||
|
|
@ -279,6 +282,8 @@ 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());
|
||||
|
|
|
|||
|
|
@ -16,4 +16,12 @@ public interface QualFilingMapper extends BaseMapper<QualFilingDO> {
|
|||
List<QualFilingCO> qualificationMonitoringPage(@Param("page") Page<QualFilingCO> page, @Param("query") QualificationMonitoringQuery query);
|
||||
|
||||
QualFilingStatisticsCO qualificationMonitoringPageStatistics();
|
||||
|
||||
/**
|
||||
* 根据机构id查询最新一条资质备案记录
|
||||
*
|
||||
* @param orgId 机构id
|
||||
* @return 最新一条资质备案记录
|
||||
*/
|
||||
QualFilingDO selectByOrgIdLastOne(@Param("orgId") Long orgId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,10 @@ public class QualOnSiteReviewDO extends BaseDO {
|
|||
* 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,6 +29,10 @@ public class QualOnSiteReviewFileDO extends BaseDO {
|
|||
* 文件url
|
||||
*/
|
||||
private String fileUrl;
|
||||
/**
|
||||
* 审查意见
|
||||
*/
|
||||
private String reviewOpinion;
|
||||
/**
|
||||
* 环境
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -84,4 +84,14 @@
|
|||
where info.delete_enum = 'false';
|
||||
</select>
|
||||
|
||||
<select id="selectByOrgIdLastOne" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from qual_filing
|
||||
where org_id = #{orgId}
|
||||
and delete_enum = 'false'
|
||||
order by id desc
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
<result property="supervisorContact" column="supervisor_contact"/>
|
||||
<result property="contactPhone" column="contact_phone"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="reviewOpinion" column="review_opinion"/>
|
||||
<result property="deleteEnum" column="delete_enum"/>
|
||||
<result property="remarks" column="remarks"/>
|
||||
<result property="createName" column="create_name"/>
|
||||
|
|
@ -41,6 +42,7 @@
|
|||
supervisor_contact,
|
||||
contact_phone,
|
||||
status,
|
||||
review_opinion,
|
||||
delete_enum,
|
||||
remarks,
|
||||
create_name,
|
||||
|
|
|
|||
Loading…
Reference in New Issue