From bab37f01c264f1d0104d026f47754029469b97af Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Thu, 23 Jul 2026 11:24:10 +0800 Subject: [PATCH] waring --- .../EvalProcessControlExecutor.java | 134 +++--------------- .../EvalContractQueryService.java | 23 +++ .../EvalInternalReviewQueryService.java | 23 +++ .../EvalProcessControlQueryService.java | 23 +++ .../EvalReportDraftQueryService.java | 23 +++ .../queryservice/EvalReportQueryService.java | 23 +++ .../EvalSurveyAttachQueryService.java | 23 +++ .../EvalTechReviewQueryService.java | 23 +++ .../impl/EvalContractQueryServiceImpl.java | 45 ++++++ .../EvalInternalReviewQueryServiceImpl.java | 45 ++++++ .../EvalProcessControlQueryServiceImpl.java | 45 ++++++ .../impl/EvalReportDraftQueryServiceImpl.java | 50 +++++++ .../impl/EvalReportQueryServiceImpl.java | 48 +++++++ .../EvalSurveyAttachQueryServiceImpl.java | 50 +++++++ .../impl/EvalTechReviewQueryServiceImpl.java | 45 ++++++ 15 files changed, 511 insertions(+), 112 deletions(-) create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalContractQueryService.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalInternalReviewQueryService.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalProcessControlQueryService.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportDraftQueryService.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportQueryService.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalSurveyAttachQueryService.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalTechReviewQueryService.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalContractQueryServiceImpl.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalInternalReviewQueryServiceImpl.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportDraftQueryServiceImpl.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportQueryServiceImpl.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalSurveyAttachQueryServiceImpl.java create mode 100644 safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalTechReviewQueryServiceImpl.java diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java index a8ea6af..2cae32e 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProcessControlExecutor.java @@ -1,6 +1,5 @@ package org.qinan.safetyeval.app.executor.institution; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.qinan.safetyeval.app.executor.institution.support.EvalCmdCopy; import org.qinan.safetyeval.app.executor.institution.support.EvalNodeCoConverter; import org.qinan.safetyeval.app.executor.institution.support.EvalProjectNodeSupport; @@ -43,21 +42,14 @@ import org.qinan.safetyeval.domain.support.EvalNodeCodes; import org.qinan.safetyeval.domain.waring.gateway.EvalProjectWaringGateway; import org.qinan.safetyeval.domain.waring.model.EvalProjectWaringE; import org.qinan.safetyeval.infrastructure.convertor.EvalProcessControlConvertor; -import org.qinan.safetyeval.infrastructure.dataobject.EvalContractDO; -import org.qinan.safetyeval.infrastructure.dataobject.EvalInternalReviewDO; -import org.qinan.safetyeval.infrastructure.dataobject.EvalProcessControlDO; -import org.qinan.safetyeval.infrastructure.dataobject.EvalReportDO; -import org.qinan.safetyeval.infrastructure.dataobject.EvalReportDraftDO; -import org.qinan.safetyeval.infrastructure.dataobject.EvalSurveyAttachDO; -import org.qinan.safetyeval.infrastructure.dataobject.EvalTechReviewDO; -import org.qinan.safetyeval.infrastructure.mapper.EvalContractMapper; -import org.qinan.safetyeval.infrastructure.mapper.EvalInternalReviewMapper; -import org.qinan.safetyeval.infrastructure.mapper.EvalProcessControlMapper; -import org.qinan.safetyeval.infrastructure.mapper.EvalReportDraftMapper; -import org.qinan.safetyeval.infrastructure.mapper.EvalReportMapper; -import org.qinan.safetyeval.infrastructure.mapper.EvalSurveyAttachMapper; -import org.qinan.safetyeval.infrastructure.mapper.EvalTechReviewMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalContractQueryService; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalInternalReviewQueryService; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalProcessControlQueryService; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReportDraftQueryService; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReportQueryService; import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReviewItemQueryService; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalSurveyAttachQueryService; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalTechReviewQueryService; import org.qinan.safetyeval.infrastructure.support.NodeWriteAuthority; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -98,19 +90,19 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi { @Resource private EvalProjectWaringGateway evalProjectWaringGateway; @Resource - private EvalContractMapper evalContractMapper; + private EvalContractQueryService evalContractQueryService; @Resource - private EvalSurveyAttachMapper evalSurveyAttachMapper; + private EvalSurveyAttachQueryService evalSurveyAttachQueryService; @Resource - private EvalReportDraftMapper evalReportDraftMapper; + private EvalReportDraftQueryService evalReportDraftQueryService; @Resource - private EvalInternalReviewMapper evalInternalReviewMapper; + private EvalInternalReviewQueryService evalInternalReviewQueryService; @Resource - private EvalTechReviewMapper evalTechReviewMapper; + private EvalTechReviewQueryService evalTechReviewQueryService; @Resource - private EvalProcessControlMapper evalProcessControlMapper; + private EvalProcessControlQueryService evalProcessControlQueryService; @Resource - private EvalReportMapper evalReportMapper; + private EvalReportQueryService evalReportQueryService; @Override public SingleResponse getOrSave(EvalProcessControlSaveCmd cmd) { @@ -274,105 +266,23 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi { List files = new java.util.ArrayList<>(); // 业务合同-合同扫描件 - EvalContractDO contract = evalContractMapper.selectOne(new LambdaQueryWrapper() - .eq(EvalContractDO::getProjectId, projectId) - .eq(EvalContractDO::getOrgId, orgId) - .select(EvalContractDO::getId, EvalContractDO::getScanFileUrl)); - if (contract != null && contract.getScanFileUrl() != null) { - files.add(buildFile(contract.getId(), ProjectStageEnum.BUSINESS_CONTRACT.getMsg(), - "合同扫描件", "合同扫描件", contract.getScanFileUrl())); - } - - // 现场踏勘-附件(直接按projectId查询附件,避免先查踏勘记录再中转) - List attaches = evalSurveyAttachMapper.selectList(new LambdaQueryWrapper() - .eq(EvalSurveyAttachDO::getProjectId, projectId) - .eq(EvalSurveyAttachDO::getOrgId, orgId) - .select(EvalSurveyAttachDO::getId, EvalSurveyAttachDO::getFileName, - EvalSurveyAttachDO::getAttachTypeName, EvalSurveyAttachDO::getFileUrl)); - if (attaches != null) { - for (EvalSurveyAttachDO attach : attaches) { - if (attach.getFileUrl() != null) { - String itemName = attach.getAttachTypeName() != null ? attach.getAttachTypeName() : "踏勘附件"; - String name = attach.getFileName() != null ? attach.getFileName() : itemName; - files.add(buildFile(attach.getId(), ProjectStageEnum.SITE_SURVEY.getMsg(), - itemName, name, attach.getFileUrl())); - } - } - } - + files.addAll(evalContractQueryService.listProjectFiles(projectId, orgId)); + // 现场踏勘-附件 + files.addAll(evalSurveyAttachQueryService.listProjectFiles(projectId, orgId)); // 报告编制-报告草稿 - List drafts = evalReportDraftMapper.selectList(new LambdaQueryWrapper() - .eq(EvalReportDraftDO::getProjectId, projectId) - .eq(EvalReportDraftDO::getOrgId, orgId) - .select(EvalReportDraftDO::getId, EvalReportDraftDO::getContentUrl, - EvalReportDraftDO::getTemplateName, EvalReportDraftDO::getDraftVersionNo)); - if (drafts != null) { - for (EvalReportDraftDO draft : drafts) { - if (draft.getContentUrl() != null) { - String name = draft.getTemplateName() != null ? draft.getTemplateName() : "报告草稿"; - String itemName = "V" + (draft.getDraftVersionNo() != null ? draft.getDraftVersionNo() : 0); - files.add(buildFile(draft.getId(), ProjectStageEnum.REPORT_PREPARATION.getMsg(), - itemName, name, draft.getContentUrl())); - } - } - } - + files.addAll(evalReportDraftQueryService.listProjectFiles(projectId, orgId)); // 内部审核-内审签字 - EvalInternalReviewDO internalReview = evalInternalReviewMapper.selectOne(new LambdaQueryWrapper() - .eq(EvalInternalReviewDO::getProjectId, projectId) - .eq(EvalInternalReviewDO::getOrgId, orgId) - .select(EvalInternalReviewDO::getId, EvalInternalReviewDO::getReviewerSignatureUrl)); - if (internalReview != null && internalReview.getReviewerSignatureUrl() != null) { - files.add(buildFile(internalReview.getId(), ProjectStageEnum.INTERNAL_REVIEW.getMsg(), - "内审签字", "内审签字", internalReview.getReviewerSignatureUrl())); - } - + files.addAll(evalInternalReviewQueryService.listProjectFiles(projectId, orgId)); // 技术审核-技审签字 - EvalTechReviewDO techReview = evalTechReviewMapper.selectOne(new LambdaQueryWrapper() - .eq(EvalTechReviewDO::getProjectId, projectId) - .eq(EvalTechReviewDO::getOrgId, orgId) - .select(EvalTechReviewDO::getId, EvalTechReviewDO::getReviewerSignatureUrl)); - if (techReview != null && techReview.getReviewerSignatureUrl() != null) { - files.add(buildFile(techReview.getId(), ProjectStageEnum.TECHNICAL_REVIEW.getMsg(), - "技审签字", "技审签字", techReview.getReviewerSignatureUrl())); - } - + files.addAll(evalTechReviewQueryService.listProjectFiles(projectId, orgId)); // 过程控制-归档交接单 - EvalProcessControlDO processControl = evalProcessControlMapper.selectOne(new LambdaQueryWrapper() - .eq(EvalProcessControlDO::getProjectId, projectId) - .eq(EvalProcessControlDO::getOrgId, orgId) - .select(EvalProcessControlDO::getId, EvalProcessControlDO::getHandoverFormUrl)); - if (processControl != null && processControl.getHandoverFormUrl() != null) { - files.add(buildFile(processControl.getId(), ProjectStageEnum.PROCESS_CONTROL.getMsg(), - "归档交接单", "归档交接单", processControl.getHandoverFormUrl())); - } - + files.addAll(evalProcessControlQueryService.listProjectFiles(projectId, orgId)); // 过程控制-归档报告 - List reports = evalReportMapper.selectList(new LambdaQueryWrapper() - .eq(EvalReportDO::getProjectId, projectId) - .eq(EvalReportDO::getOrgId, orgId) - .select(EvalReportDO::getId, EvalReportDO::getFileUrl, EvalReportDO::getFileName)); - if (reports != null) { - for (EvalReportDO report : reports) { - if (report.getFileUrl() != null) { - String name = report.getFileName() != null ? report.getFileName() : "归档报告"; - files.add(buildFile(report.getId(), ProjectStageEnum.PROCESS_CONTROL.getMsg(), - "归档报告", name, report.getFileUrl())); - } - } - } + files.addAll(evalReportQueryService.listProjectFiles(projectId, orgId)); return SingleResponse.success(files); } - private EvalProjectFileCO buildFile(Long id, String processName, String itemName, String name, String url) { - EvalProjectFileCO co = new EvalProjectFileCO(); - co.setProcessName(processName); - co.setItemName(itemName); - co.setProjectDocUrl(url); - return co; - } - private EvalReportEntity buildReport(EvalProjectEntity project) { EvalReportEntity report = new EvalReportEntity(); report.setOrgId(project.getOrgId()); diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalContractQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalContractQueryService.java new file mode 100644 index 0000000..67b8eb5 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalContractQueryService.java @@ -0,0 +1,23 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; + +import java.util.List; + +/** + * 业务合同查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +public interface EvalContractQueryService { + + /** + * 查询项目合同相关文件(合同扫描件) + * + * @param projectId 项目ID + * @param orgId 机构ID + * @return 项目文件CO列表 + */ + List listProjectFiles(Long projectId, Long orgId); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalInternalReviewQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalInternalReviewQueryService.java new file mode 100644 index 0000000..2fbb30d --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalInternalReviewQueryService.java @@ -0,0 +1,23 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; + +import java.util.List; + +/** + * 内部审核查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +public interface EvalInternalReviewQueryService { + + /** + * 查询项目内部审核相关文件(内审签字) + * + * @param projectId 项目ID + * @param orgId 机构ID + * @return 项目文件CO列表 + */ + List listProjectFiles(Long projectId, Long orgId); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalProcessControlQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalProcessControlQueryService.java new file mode 100644 index 0000000..935f4e2 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalProcessControlQueryService.java @@ -0,0 +1,23 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; + +import java.util.List; + +/** + * 过程控制查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +public interface EvalProcessControlQueryService { + + /** + * 查询项目过程控制相关文件(归档交接单) + * + * @param projectId 项目ID + * @param orgId 机构ID + * @return 项目文件CO列表 + */ + List listProjectFiles(Long projectId, Long orgId); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportDraftQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportDraftQueryService.java new file mode 100644 index 0000000..35a634e --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportDraftQueryService.java @@ -0,0 +1,23 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; + +import java.util.List; + +/** + * 报告草稿查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +public interface EvalReportDraftQueryService { + + /** + * 查询项目报告编制相关文件(报告草稿) + * + * @param projectId 项目ID + * @param orgId 机构ID + * @return 项目文件CO列表 + */ + List listProjectFiles(Long projectId, Long orgId); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportQueryService.java new file mode 100644 index 0000000..01296fa --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalReportQueryService.java @@ -0,0 +1,23 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; + +import java.util.List; + +/** + * 归档报告查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +public interface EvalReportQueryService { + + /** + * 查询项目归档报告相关文件(归档报告) + * + * @param projectId 项目ID + * @param orgId 机构ID + * @return 项目文件CO列表 + */ + List listProjectFiles(Long projectId, Long orgId); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalSurveyAttachQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalSurveyAttachQueryService.java new file mode 100644 index 0000000..fea5894 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalSurveyAttachQueryService.java @@ -0,0 +1,23 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; + +import java.util.List; + +/** + * 现场踏勘附件查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +public interface EvalSurveyAttachQueryService { + + /** + * 查询项目踏勘相关文件(踏勘附件) + * + * @param projectId 项目ID + * @param orgId 机构ID + * @return 项目文件CO列表 + */ + List listProjectFiles(Long projectId, Long orgId); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalTechReviewQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalTechReviewQueryService.java new file mode 100644 index 0000000..8cc579c --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/EvalTechReviewQueryService.java @@ -0,0 +1,23 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; + +import java.util.List; + +/** + * 技术审核查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +public interface EvalTechReviewQueryService { + + /** + * 查询项目技术审核相关文件(技审签字) + * + * @param projectId 项目ID + * @param orgId 机构ID + * @return 项目文件CO列表 + */ + List listProjectFiles(Long projectId, Long orgId); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalContractQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalContractQueryServiceImpl.java new file mode 100644 index 0000000..7fb872a --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalContractQueryServiceImpl.java @@ -0,0 +1,45 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.infrastructure.dataobject.EvalContractDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalContractMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalContractQueryService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 业务合同查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +@Service +@AllArgsConstructor +public class EvalContractQueryServiceImpl implements EvalContractQueryService { + + private final EvalContractMapper evalContractMapper; + + @Override + public List listProjectFiles(Long projectId, Long orgId) { + EvalContractDO contract = evalContractMapper.selectOne(new LambdaQueryWrapper() + .eq(EvalContractDO::getProjectId, projectId) + .eq(EvalContractDO::getOrgId, orgId) + .select(EvalContractDO::getId, EvalContractDO::getScanFileUrl)); + if (contract == null || contract.getScanFileUrl() == null) { + return Collections.emptyList(); + } + List files = new ArrayList<>(); + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.BUSINESS_CONTRACT.getMsg()); + co.setItemName("合同扫描件"); + co.setProjectDocUrl(contract.getScanFileUrl()); + files.add(co); + return files; + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalInternalReviewQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalInternalReviewQueryServiceImpl.java new file mode 100644 index 0000000..cc1c270 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalInternalReviewQueryServiceImpl.java @@ -0,0 +1,45 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.infrastructure.dataobject.EvalInternalReviewDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalInternalReviewMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalInternalReviewQueryService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 内部审核查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +@Service +@AllArgsConstructor +public class EvalInternalReviewQueryServiceImpl implements EvalInternalReviewQueryService { + + private final EvalInternalReviewMapper evalInternalReviewMapper; + + @Override + public List listProjectFiles(Long projectId, Long orgId) { + EvalInternalReviewDO internalReview = evalInternalReviewMapper.selectOne(new LambdaQueryWrapper() + .eq(EvalInternalReviewDO::getProjectId, projectId) + .eq(EvalInternalReviewDO::getOrgId, orgId) + .select(EvalInternalReviewDO::getId, EvalInternalReviewDO::getReviewerSignatureUrl)); + if (internalReview == null || internalReview.getReviewerSignatureUrl() == null) { + return Collections.emptyList(); + } + List files = new ArrayList<>(); + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.INTERNAL_REVIEW.getMsg()); + co.setItemName("内审签字"); + co.setProjectDocUrl(internalReview.getReviewerSignatureUrl()); + files.add(co); + return files; + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java new file mode 100644 index 0000000..1f4b4c9 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalProcessControlQueryServiceImpl.java @@ -0,0 +1,45 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.infrastructure.dataobject.EvalProcessControlDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalProcessControlMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalProcessControlQueryService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 过程控制查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +@Service +@AllArgsConstructor +public class EvalProcessControlQueryServiceImpl implements EvalProcessControlQueryService { + + private final EvalProcessControlMapper evalProcessControlMapper; + + @Override + public List listProjectFiles(Long projectId, Long orgId) { + EvalProcessControlDO processControl = evalProcessControlMapper.selectOne(new LambdaQueryWrapper() + .eq(EvalProcessControlDO::getProjectId, projectId) + .eq(EvalProcessControlDO::getOrgId, orgId) + .select(EvalProcessControlDO::getId, EvalProcessControlDO::getHandoverFormUrl)); + if (processControl == null || processControl.getHandoverFormUrl() == null) { + return Collections.emptyList(); + } + List files = new ArrayList<>(); + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.PROCESS_CONTROL.getMsg()); + co.setItemName("归档交接单"); + co.setProjectDocUrl(processControl.getHandoverFormUrl()); + files.add(co); + return files; + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportDraftQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportDraftQueryServiceImpl.java new file mode 100644 index 0000000..13da2b8 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportDraftQueryServiceImpl.java @@ -0,0 +1,50 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.infrastructure.dataobject.EvalReportDraftDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalReportDraftMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReportDraftQueryService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 报告草稿查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +@Service +@AllArgsConstructor +public class EvalReportDraftQueryServiceImpl implements EvalReportDraftQueryService { + + private final EvalReportDraftMapper evalReportDraftMapper; + + @Override + public List listProjectFiles(Long projectId, Long orgId) { + List drafts = evalReportDraftMapper.selectList(new LambdaQueryWrapper() + .eq(EvalReportDraftDO::getProjectId, projectId) + .eq(EvalReportDraftDO::getOrgId, orgId) + .select(EvalReportDraftDO::getId, EvalReportDraftDO::getContentUrl, + EvalReportDraftDO::getTemplateName, EvalReportDraftDO::getDraftVersionNo)); + List files = new ArrayList<>(); + if (drafts == null) { + return files; + } + for (EvalReportDraftDO draft : drafts) { + if (draft.getContentUrl() != null) { + String itemName = "V" + (draft.getDraftVersionNo() != null ? draft.getDraftVersionNo() : 0); + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.REPORT_PREPARATION.getMsg()); + co.setItemName(itemName); + co.setProjectDocUrl(draft.getContentUrl()); + files.add(co); + } + } + return files; + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportQueryServiceImpl.java new file mode 100644 index 0000000..08fd268 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalReportQueryServiceImpl.java @@ -0,0 +1,48 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.infrastructure.dataobject.EvalReportDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalReportMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReportQueryService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 归档报告查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +@Service +@AllArgsConstructor +public class EvalReportQueryServiceImpl implements EvalReportQueryService { + + private final EvalReportMapper evalReportMapper; + + @Override + public List listProjectFiles(Long projectId, Long orgId) { + List reports = evalReportMapper.selectList(new LambdaQueryWrapper() + .eq(EvalReportDO::getProjectId, projectId) + .eq(EvalReportDO::getOrgId, orgId) + .select(EvalReportDO::getId, EvalReportDO::getFileUrl, EvalReportDO::getFileName)); + List files = new ArrayList<>(); + if (reports == null) { + return files; + } + for (EvalReportDO report : reports) { + if (report.getFileUrl() != null) { + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.PROCESS_CONTROL.getMsg()); + co.setItemName("归档报告"); + co.setProjectDocUrl(report.getFileUrl()); + files.add(co); + } + } + return files; + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalSurveyAttachQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalSurveyAttachQueryServiceImpl.java new file mode 100644 index 0000000..6e6234c --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalSurveyAttachQueryServiceImpl.java @@ -0,0 +1,50 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.infrastructure.dataobject.EvalSurveyAttachDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalSurveyAttachMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalSurveyAttachQueryService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 现场踏勘附件查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +@Service +@AllArgsConstructor +public class EvalSurveyAttachQueryServiceImpl implements EvalSurveyAttachQueryService { + + private final EvalSurveyAttachMapper evalSurveyAttachMapper; + + @Override + public List listProjectFiles(Long projectId, Long orgId) { + List attaches = evalSurveyAttachMapper.selectList(new LambdaQueryWrapper() + .eq(EvalSurveyAttachDO::getProjectId, projectId) + .eq(EvalSurveyAttachDO::getOrgId, orgId) + .select(EvalSurveyAttachDO::getId, EvalSurveyAttachDO::getFileName, + EvalSurveyAttachDO::getAttachTypeName, EvalSurveyAttachDO::getFileUrl)); + List files = new ArrayList<>(); + if (attaches == null) { + return files; + } + for (EvalSurveyAttachDO attach : attaches) { + if (attach.getFileUrl() != null) { + String itemName = attach.getAttachTypeName() != null ? attach.getAttachTypeName() : "踏勘附件"; + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.SITE_SURVEY.getMsg()); + co.setItemName(itemName); + co.setProjectDocUrl(attach.getFileUrl()); + files.add(co); + } + } + return files; + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalTechReviewQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalTechReviewQueryServiceImpl.java new file mode 100644 index 0000000..e4c9bc1 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/EvalTechReviewQueryServiceImpl.java @@ -0,0 +1,45 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; +import org.qinan.safetyeval.infrastructure.dataobject.EvalTechReviewDO; +import org.qinan.safetyeval.infrastructure.mapper.EvalTechReviewMapper; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalTechReviewQueryService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 技术审核查询服务 + * + * @Author: trae + * @date 2026-07-23 + */ +@Service +@AllArgsConstructor +public class EvalTechReviewQueryServiceImpl implements EvalTechReviewQueryService { + + private final EvalTechReviewMapper evalTechReviewMapper; + + @Override + public List listProjectFiles(Long projectId, Long orgId) { + EvalTechReviewDO techReview = evalTechReviewMapper.selectOne(new LambdaQueryWrapper() + .eq(EvalTechReviewDO::getProjectId, projectId) + .eq(EvalTechReviewDO::getOrgId, orgId) + .select(EvalTechReviewDO::getId, EvalTechReviewDO::getReviewerSignatureUrl)); + if (techReview == null || techReview.getReviewerSignatureUrl() == null) { + return Collections.emptyList(); + } + List files = new ArrayList<>(); + EvalProjectFileCO co = new EvalProjectFileCO(); + co.setProcessName(ProjectStageEnum.TECHNICAL_REVIEW.getMsg()); + co.setItemName("技审签字"); + co.setProjectDocUrl(techReview.getReviewerSignatureUrl()); + files.add(co); + return files; + } +}