luotaiqian 2026-07-22 10:41:49 +08:00
parent 4a42e7ad5f
commit d8e3fc0939
10 changed files with 148 additions and 0 deletions

View File

@ -16,6 +16,7 @@ import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewOrgCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewResultCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewStatisticsCo;
import org.qinan.safetyeval.domain.constant.QualOnSiteReviewStatusEnum;
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
@ -94,6 +95,12 @@ public class QualOnSiteReviewController implements Serializable {
return Response.buildSuccess();
}
@GetMapping("/result-detail/{id}")
@ApiOperation("查询审查结果明细(上传信息)")
public SingleResponse<QualOnSiteReviewResultCo> getReviewResult(@PathVariable Long id) {
return SingleResponse.of(qualOnSiteReviewServiceI.getReviewResult(id));
}
@DeleteMapping("/{id}")
@ApiOperation("删除资质现场核查(单个)")
public Response deletedById(@PathVariable("id") Long id) {

View File

@ -62,7 +62,20 @@ public class QualOnSiteReviewUpdateCmdExe {
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(QualOnSiteReviewUpdateCmd qualOnSiteReviewUpdateCmd) {
// 查询现有记录
QualOnSiteReviewDO existingReview = qualOnSiteReviewQueryService.getById(qualOnSiteReviewUpdateCmd.getId());
if (existingReview == null) {
throw new BizException("资质现场核查记录不存在");
}
QualOnSiteReviewE qualOnSiteReviewE = qualOnSiteReviewCmdConvertor.convertCmdToE(qualOnSiteReviewUpdateCmd);
// 已完成(核查通过/核查不通过)的记录,修改时不改变状态
String existingStatus = existingReview.getStatus();
if (QualOnSiteReviewStatusEnum.REVIEW_PASSED.getCode().equals(existingStatus)) {
qualOnSiteReviewE.setStatus(null);
}
Boolean updateRes = qualOnSiteReviewE.update();
if (!updateRes) {
throw new BizException("数据已被更新,请刷新重试");

View File

@ -1,12 +1,19 @@
package org.qinan.safetyeval.app.review.executor.query;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.file.response.QualOnSiteReviewFileCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewResultCo;
import org.qinan.safetyeval.domain.constant.QualOnSiteReviewStatusEnum;
import org.qinan.safetyeval.infrastructure.convertor.QualOnSiteReviewDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewFileQueryService;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewQueryService;
import org.springframework.stereotype.Component;
import java.util.List;
/**
*
*
@ -19,6 +26,7 @@ public class QualOnSiteReviewListQueryExe {
private final QualOnSiteReviewQueryService qualOnSiteReviewQueryService;
private final QualOnSiteReviewDoConvertor qualOnSiteReviewDoConvertor;
private final QualOnSiteReviewFileQueryService qualOnSiteReviewFileQueryService;
/**
* ID
@ -31,4 +39,31 @@ public class QualOnSiteReviewListQueryExe {
return qualOnSiteReviewDoConvertor.converDoToCo(qualOnSiteReviewDO);
}
/**
*
*
* @param id ID
* @return
*/
public QualOnSiteReviewResultCo executeResult(Long id) {
QualOnSiteReviewDO qualOnSiteReviewDO = qualOnSiteReviewQueryService.getById(id);
if (qualOnSiteReviewDO == null) {
throw new BizException("资质现场核查记录不存在");
}
QualOnSiteReviewResultCo resultCo = new QualOnSiteReviewResultCo();
resultCo.setId(qualOnSiteReviewDO.getId());
resultCo.setOrgId(qualOnSiteReviewDO.getOrgId());
resultCo.setReviewDateStart(qualOnSiteReviewDO.getReviewDateStart());
resultCo.setReviewLeader(qualOnSiteReviewDO.getReviewLeader());
resultCo.setReviewOpinion(qualOnSiteReviewDO.getReviewOpinion());
resultCo.setReviewResult(isReviewPassed(qualOnSiteReviewDO.getStatus()));
List<QualOnSiteReviewFileCo> fileList = qualOnSiteReviewFileQueryService.listByQualOnSiteReviewId(id);
resultCo.setFileList(fileList);
return resultCo;
}
private Boolean isReviewPassed(String status) {
return QualOnSiteReviewStatusEnum.REVIEW_PASSED.getCode().equals(status);
}
}

View File

@ -10,6 +10,7 @@ import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewOrgCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewResultCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewStatisticsCo;
/**
@ -91,6 +92,14 @@ public interface QualOnSiteReviewServiceI {
*/
boolean uploadReviewResult(QualOnSiteReviewResultUploadCmd qualOnSiteReviewResultUploadCmd);
/**
*
*
* @param id ID
* @return
*/
QualOnSiteReviewResultCo getReviewResult(Long id);
/**
*
*

View File

@ -17,6 +17,7 @@ import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewMonitorCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewOrgCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewResultCo;
import org.qinan.safetyeval.client.review.response.QualOnSiteReviewStatisticsCo;
import org.springframework.stereotype.Service;
@ -81,6 +82,11 @@ public class QualOnSiteReviewServiceImpl implements QualOnSiteReviewServiceI {
return qualOnSiteReviewUpdateCommandExe.execute(qualOnSiteReviewResultUploadCmd);
}
@Override
public QualOnSiteReviewResultCo getReviewResult(Long id) {
return qualOnSiteReviewListQueryExe.executeResult(id);
}
@Override
public QualOnSiteReviewStatisticsCo statistics(Long orgId) {
return qualOnSiteReviewPageQueryExe.executeStatistics(orgId);

View File

@ -0,0 +1,46 @@
package org.qinan.safetyeval.client.review.response;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.qinan.safetyeval.client.file.response.QualOnSiteReviewFileCo;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* -Co
*
* @Author: ltq
* @date 2026-07-20 15:17:00
*/
@Data
public class QualOnSiteReviewResultCo extends ClientObject implements Serializable {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "资质现场核查id")
private Long id;
@ApiModelProperty(value = "受审查机构ID")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long orgId;
@ApiModelProperty(value = "现场审查日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime reviewDateStart;
@ApiModelProperty(value = "审查组长")
private String reviewLeader;
@ApiModelProperty(value = "审查结论:true通过/false不通过")
private Boolean reviewResult;
@ApiModelProperty(value = "审查意见")
private String reviewOpinion;
@ApiModelProperty(value = "审查结果文件")
private List<QualOnSiteReviewFileCo> fileList;
}

View File

@ -5,6 +5,8 @@ import org.qinan.safetyeval.client.file.request.QualOnSiteReviewFilePageQry;
import org.qinan.safetyeval.client.file.response.QualOnSiteReviewFileCo;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewFileDO;
import java.util.List;
/**
* -
*
@ -28,4 +30,12 @@ public interface QualOnSiteReviewFileQueryService {
* @return
*/
PageResponse<QualOnSiteReviewFileCo> listQualOnSiteReviewFilePage(QualOnSiteReviewFilePageQry qualOnSiteReviewFilePageQry);
/**
* ID
*
* @param qualOnSiteReviewId ID
* @return CO
*/
List<QualOnSiteReviewFileCo> listByQualOnSiteReviewId(Long qualOnSiteReviewId);
}

View File

@ -39,4 +39,10 @@ public class QualOnSiteReviewFileQueryServiceImpl implements QualOnSiteReviewFil
return PageHelper.pageToResponse(qualOnSiteReviewFileDoPage, qualOnSiteReviewFileCoS);
}
@Override
public List<QualOnSiteReviewFileCo> listByQualOnSiteReviewId(Long qualOnSiteReviewId) {
List<QualOnSiteReviewFileDO> qualOnSiteReviewFileDOS = qualOnSiteReviewFileRepository.listByQualOnSiteReviewId(qualOnSiteReviewId);
return qualOnSiteReviewFileDoConvertor.converDosToCos(qualOnSiteReviewFileDOS);
}
}

View File

@ -5,6 +5,8 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
import org.qinan.safetyeval.client.file.request.QualOnSiteReviewFilePageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewFileDO;
import java.util.List;
/**
* -
*
@ -20,6 +22,14 @@ public interface QualOnSiteReviewFileRepository extends BaseRepository<QualOnSit
*/
QualOnSiteReviewFileDO getById(Long id);
/**
* ID
*
* @param qualOnSiteReviewId ID
* @return
*/
List<QualOnSiteReviewFileDO> listByQualOnSiteReviewId(Long qualOnSiteReviewId);
/**
* -
*

View File

@ -13,6 +13,7 @@ import org.qinan.safetyeval.infrastructure.persistence.repository.QualOnSiteRevi
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* -
@ -31,6 +32,11 @@ public class QualOnSiteReviewFileRepositoryImpl extends BaseRepositoryImpl<QualO
return super.lambdaQuery().eq(QualOnSiteReviewFileDO::getId, id).eq(QualOnSiteReviewFileDO::getDeleteEnum, BooleanEnum.FALSE.getValue()).one();
}
@Override
public List<QualOnSiteReviewFileDO> listByQualOnSiteReviewId(Long qualOnSiteReviewId) {
return super.lambdaQuery().eq(QualOnSiteReviewFileDO::getQualOnSiteReviewId, qualOnSiteReviewId).eq(QualOnSiteReviewFileDO::getDeleteEnum, BooleanEnum.FALSE.getValue()).list();
}
@Override
public IPage<QualOnSiteReviewFileDO> listQualOnSiteReviewFilePage(IPage iPage, QualOnSiteReviewFilePageQry qualOnSiteReviewFilePageQry) {
QueryWrapper<QualOnSiteReviewFileDO> qualOnSiteReviewFileDoQueryWrapper = new QueryWrapper<>();