From e3243930202c1950bcb00e8ef5d301d12dfdd69f Mon Sep 17 00:00:00 2001 From: zhanglei Date: Fri, 28 Aug 2026 14:12:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=A1=B9=E7=9B=AE=E5=BB=BA=E7=AB=8B?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E5=A1=AB=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EvalProjectMemberController.java | 28 +++++++++++++++++++ .../web/institution/EvalSurveyController.java | 7 ++++- .../institution/EvalSurveyAttachExecutor.java | 16 ++++++++++- .../api/institution/EvalSurveyAttachApi.java | 2 ++ .../domain/constant/ProjectDocumentEnum.java | 1 + 5 files changed, 52 insertions(+), 2 deletions(-) diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectMemberController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectMemberController.java index a1efe3eb..123428d6 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectMemberController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectMemberController.java @@ -3,21 +3,29 @@ package org.qinan.safetyeval.adapter.web.institution; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.qinan.safetyeval.client.api.institution.EvalProjectMemberApi; import org.qinan.safetyeval.client.api.institution.EvalRiskAnalysisApi; +import org.qinan.safetyeval.client.api.institution.EvalSurveyAttachApi; import org.qinan.safetyeval.client.co.institution.EvalProjectMemberCO; import org.qinan.safetyeval.client.co.institution.EvalRiskParticipantCO; +import org.qinan.safetyeval.client.co.institution.EvalSurveyAttachCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalProjectMemberAddCmd; import org.qinan.safetyeval.client.dto.institution.EvalProjectMemberPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalRiskParticipantSaveCmd; +import org.qinan.safetyeval.client.dto.institution.EvalSurveyAttachSaveCmd; +import org.qinan.safetyeval.domain.constant.ProjectDocumentEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; +@Slf4j @Api(tags = "机构端-安评项目成员") @RestController @RequestMapping("/safetyEval/institution/eval-project-member") @@ -27,6 +35,8 @@ public class EvalProjectMemberController { private EvalProjectMemberApi evalProjectMemberApi; @Resource private EvalRiskAnalysisApi evalRiskAnalysisApi; + @Autowired + private EvalSurveyAttachApi evalSurveyAttachApi; @ApiOperation("保存成员(id空新增/非空修改)") @@ -57,4 +67,22 @@ public class EvalProjectMemberController { @ApiParam("projectId") @RequestParam String projectId) { return evalRiskAnalysisApi.listParticipantsMember(projectId); } + + //////////////////////////////////项目组成员附件 + @ApiOperation("保存项目成立附件") + @PostMapping("/saveProjectEstablishedAttach") + public SingleResponse saveProjectEstablishedAttach(@Validated @RequestBody EvalSurveyAttachSaveCmd cmdList) { + return evalSurveyAttachApi.saveProjectEstablishedAttach(cmdList); + } + + @ApiOperation("按项目查询项目成立附件列表") + @GetMapping("/getProjectEstablishedAttach") + public SingleResponse getProjectEstablishedAttach(@ApiParam("项目ID") @RequestParam String projectId) { + SingleResponse> listSingleResponse = evalSurveyAttachApi.listByProject(Long.parseLong(projectId)); + List data = listSingleResponse.getData(); + if (!CollectionUtils.isEmpty(data)) { + data.removeIf(item -> !ProjectDocumentEnum.PROJECT_ESTABLISHED.getVal().equals(item.getAttachTypeCode())); + } + return SingleResponse.success(CollectionUtils.isEmpty(data) ? null : data.get(0)); + } } diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalSurveyController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalSurveyController.java index 470a79ea..c88d1526 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalSurveyController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalSurveyController.java @@ -12,6 +12,7 @@ import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalSurveyAttachSaveCmd; import org.qinan.safetyeval.client.dto.institution.EvalSurveyPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalSurveySaveCmd; +import org.qinan.safetyeval.domain.constant.ProjectDocumentEnum; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -49,6 +50,10 @@ public class EvalSurveyController { @ApiOperation("按项目查询附件列表") @GetMapping("/list") public SingleResponse> list(@ApiParam("项目ID") @RequestParam String projectId) { - return evalSurveyAttachApi.listByProject(Long.parseLong(projectId)); + SingleResponse> listSingleResponse = evalSurveyAttachApi.listByProject(Long.parseLong(projectId)); + if (listSingleResponse != null && listSingleResponse.getData() != null) { + listSingleResponse.getData().removeIf(item -> ProjectDocumentEnum.PROJECT_ESTABLISHED.getVal().equals(item.getAttachTypeCode())); + } + return listSingleResponse; } } diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyAttachExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyAttachExecutor.java index a35935ea..c70dd82b 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyAttachExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSurveyAttachExecutor.java @@ -50,7 +50,9 @@ public class EvalSurveyAttachExecutor implements EvalSurveyAttachApi { @Transactional(rollbackFor = Exception.class) public SingleResponse save(List cmdList) { evalSurveyAttachMapper.delete(new LambdaQueryWrapper() - .eq(EvalSurveyAttachDO::getProjectId, cmdList.get(0).getProjectId())); + .eq(EvalSurveyAttachDO::getProjectId, cmdList.get(0).getProjectId()) + .ne(EvalSurveyAttachDO::getAttachTypeCode, ProjectDocumentEnum.PROJECT_ESTABLISHED.getVal()) + ); for (EvalSurveyAttachSaveCmd cmd : cmdList) { cmd.setId(null); EvalSurveyAttachEntity entity = evalSurveyCmdConvertor.convertAttachSaveCmdToE(cmd); @@ -96,4 +98,16 @@ public class EvalSurveyAttachExecutor implements EvalSurveyAttachApi { evalSurveyCmdConvertor.convertAttachEListToCOList( evalSurveyDomainService.listAttachesByProjectId(projectId))); } + + @Override + public SingleResponse saveProjectEstablishedAttach(EvalSurveyAttachSaveCmd cmdList) { + evalSurveyAttachMapper.delete(new LambdaQueryWrapper() + .eq(EvalSurveyAttachDO::getProjectId, cmdList.getProjectId()) + .eq(EvalSurveyAttachDO::getAttachTypeCode, ProjectDocumentEnum.PROJECT_ESTABLISHED.getVal()) + ); + cmdList.setId(null); + EvalSurveyAttachEntity entity = evalSurveyCmdConvertor.convertAttachSaveCmdToE(cmdList); + evalSurveyDomainService.saveOrUpdateAttach(entity); + return SingleResponse.success(true); + } } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyAttachApi.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyAttachApi.java index f4e76d12..bcd006c0 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyAttachApi.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalSurveyAttachApi.java @@ -11,4 +11,6 @@ public interface EvalSurveyAttachApi { SingleResponse save(List cmdList); SingleResponse> listByProject(Long projectId); + + SingleResponse saveProjectEstablishedAttach(EvalSurveyAttachSaveCmd cmdList); } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectDocumentEnum.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectDocumentEnum.java index 840e5b4b..86fded75 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectDocumentEnum.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/constant/ProjectDocumentEnum.java @@ -14,6 +14,7 @@ public enum ProjectDocumentEnum { RECTIFICATION_NOTICE("整改通知", "RECTIFICATION_NOTICE"), ENTERPRISE_RECTIFICATION("企业整改", "ENTERPRISE_RECTIFICATION"), RECTIFICATION_REVIEW("整改复查", "RECTIFICATION_REVIEW"), + PROJECT_ESTABLISHED("项目建立附件", "PROJECT_ESTABLISHED"), SITE_INSPECTION_FORM("现场检查表", "SITE_INSPECTION_FORM"); @Getter