From 15c6320a97f9c1a0b5c27f7b77db32cdc1c2000a Mon Sep 17 00:00:00 2001 From: WendyYang Date: Tue, 18 Jul 2023 17:49:15 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9D=83=E9=99=90=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ningdatech/pmapi/datascope/provider/DataScopeContext.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/datascope/provider/DataScopeContext.java b/pmapi/src/main/java/com/ningdatech/pmapi/datascope/provider/DataScopeContext.java index c8e5148..c53fe9e 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/datascope/provider/DataScopeContext.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/datascope/provider/DataScopeContext.java @@ -28,10 +28,9 @@ public class DataScopeContext implements Serializable { } public static Optional getDataScope(String roleCode) { - String key = roleCode; - DataScopeProvider dataScopeProvider = DSP_MAP.get(key); + DataScopeProvider dataScopeProvider = DSP_MAP.get(roleCode); if (dataScopeProvider == null) { - throw new IllegalArgumentException(String.format(WARN_MSG, key)); + throw new IllegalArgumentException(String.format(WARN_MSG, roleCode)); } return dataScopeProvider.findDataFieldProperty(); } From 6699cb2eb5ae68b1908888b87914bf46f054eb0b Mon Sep 17 00:00:00 2001 From: WendyYang Date: Wed, 19 Jul 2023 16:05:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=93=E5=AE=B6?= =?UTF-8?q?=E5=BA=93=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/helper/impl/RegionLimitHelperImpl.java | 3 -- .../pmapi/expert/manage/ExpertAdminManage.java | 40 ++++++++++++++++------ .../model/cmd/ExpertAdminExpertManageQueryCmd.java | 5 +++ 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/helper/impl/RegionLimitHelperImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/helper/impl/RegionLimitHelperImpl.java index f23c0e6..aa62183 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/helper/impl/RegionLimitHelperImpl.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/helper/impl/RegionLimitHelperImpl.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** * @author liuxinxin @@ -76,8 +75,6 @@ public class RegionLimitHelperImpl extends AbstractRegionLimitHelper { resultBoList.add(regionContainsBO); } } - } else { - resultBoList.add(queryRegionContainBo); } return resultBoList; } else { diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java index 82aa9da..cc9c078 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java @@ -9,6 +9,7 @@ import com.ningdatech.basic.model.PageVo; import com.ningdatech.pmapi.common.enumeration.BoolDisplayEnum; import com.ningdatech.pmapi.common.helper.RegionLimitHelper; import com.ningdatech.pmapi.common.model.CommonPage; +import com.ningdatech.pmapi.common.util.StrUtils; import com.ningdatech.pmapi.expert.assembler.ExpertAdminExpertManageAssembler; import com.ningdatech.pmapi.expert.assembler.ExpertInfoCmdAssembler; import com.ningdatech.pmapi.expert.constant.ExpertAccountStatusEnum; @@ -49,10 +50,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * @author liuxinxin @@ -82,6 +80,9 @@ public class ExpertAdminManage { public PageVo getExpertLibraryList(ExpertAdminExpertManageQuery query) { Long userId = LoginUserUtil.getUserId(); ExpertAdminExpertManageQueryCmd queryCmd = buildExpertAdminExpertManageQueryCmd(query, userId); + if (queryCmd.isHasNonData()) { + return PageVo.empty(); + } CommonPage pageResult = expertAdminManageService.getExpertLibraryList(queryCmd); PageVo pageVo = new PageVo<>(); @@ -95,10 +96,10 @@ public class ExpertAdminManage { ExpertAdminExpertManageQueryCmd queryCmd = new ExpertAdminExpertManageQueryCmd(); queryCmd.setPageNumber(query.getPageNumber()); queryCmd.setPageSize(query.getPageSize()); - if (StringUtils.isNotBlank(query.getExpertName())) { + if (StrUtils.isNotBlank(query.getExpertName())) { queryCmd.setExpertName(query.getExpertName()); } - if (StringUtils.isNotBlank(query.getCompany())) { + if (StrUtils.isNotBlank(query.getCompany())) { queryCmd.setCompany(query.getCompany()); } List expertDictQueryList = new ArrayList<>(); @@ -134,8 +135,8 @@ public class ExpertAdminManage { expertTagQueryList.add(expertTagQuery); } if (StringUtils.isNotBlank(query.getExpertAccountStatus())) { - QueryExpertAccountStatusEnum queryExpertAccountStatusEnum = QueryExpertAccountStatusEnum.of(query.getExpertAccountStatus()); - switch (queryExpertAccountStatusEnum) { + QueryExpertAccountStatusEnum queryExpertAccountStatus = QueryExpertAccountStatusEnum.of(query.getExpertAccountStatus()); + switch (queryExpertAccountStatus) { case NORMAL: queryCmd.setExpertAccountStatusList(CollectionUtil.toList(ExpertAccountStatusEnum.AVAILABLE)); break; @@ -151,7 +152,8 @@ public class ExpertAdminManage { List expertAdminContainsRegionList; // 如果为超级管理员,可以查看所有的专家,包括没有层级的专家 - if (!permissionCheckHelper.isSuperAdmin()) { + boolean isSuperAdmin; + if (!(isSuperAdmin = permissionCheckHelper.isSuperAdmin())) { expertAdminContainsRegionList = regionLimitHelper.getExpertAdminContainsRegion(userId); } else { expertAdminContainsRegionList = Collections.emptyList(); @@ -161,7 +163,15 @@ public class ExpertAdminManage { if (Objects.nonNull(query.getExpertRegionInfo())) { RegionContainsBO containsRegionBo = regionLimitHelper.getContainsRegionBo(query.getExpertRegionInfo().getRegionLevel() , query.getExpertRegionInfo().getRegionCode()); - containsRegion = regionLimitHelper.queryContainsRegionAssembler(containsRegionBo, expertAdminContainsRegionList); + if (isSuperAdmin) { + containsRegion = Collections.singletonList(containsRegionBo); + } else { + containsRegion = regionLimitHelper.queryContainsRegionAssembler(containsRegionBo, expertAdminContainsRegionList); + if (containsRegion.isEmpty()) { + queryCmd.setHasNonData(true); + return queryCmd; + } + } } List intentionRegions = null; @@ -169,7 +179,15 @@ public class ExpertAdminManage { ExpertRegionInfo intentionRegionInfo = query.getIntentionRegionInfo(); RegionContainsBO containsRegionBo = regionLimitHelper.getContainsRegionBo(intentionRegionInfo.getRegionLevel() , intentionRegionInfo.getRegionCode()); - intentionRegions = regionLimitHelper.queryContainsRegionAssembler(containsRegionBo, expertAdminContainsRegionList); + if (isSuperAdmin) { + intentionRegions = Collections.singletonList(containsRegionBo); + } else { + intentionRegions = regionLimitHelper.queryContainsRegionAssembler(containsRegionBo, expertAdminContainsRegionList); + if (intentionRegions.isEmpty()) { + queryCmd.setHasNonData(true); + return queryCmd; + } + } } if (containsRegion == null && intentionRegions == null) { containsRegion = expertAdminContainsRegionList; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/cmd/ExpertAdminExpertManageQueryCmd.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/cmd/ExpertAdminExpertManageQueryCmd.java index c430ccf..7b00fbc 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/cmd/ExpertAdminExpertManageQueryCmd.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/cmd/ExpertAdminExpertManageQueryCmd.java @@ -64,4 +64,9 @@ public class ExpertAdminExpertManageQueryCmd extends CommonPageReq { */ private Boolean isDingUser; + /** + * 无数据可供查询 + */ + private transient boolean hasNonData = false; + } From 915e225d6c3d145cf75f2968687dc05c8835cda4 Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Wed, 19 Jul 2023 22:58:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BB=BA=E8=AE=BE=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E9=80=80=E5=9B=9E=E9=87=8D=E6=96=B0=E7=94=B3=E6=8A=A5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/todocenter/manage/HandlerManage.java | 7 +++++- .../pmapi/todocenter/manage/TodoCenterManage.java | 28 ++++++++++++++++++---- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/HandlerManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/HandlerManage.java index 18d8918..ed2e75f 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/HandlerManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/HandlerManage.java @@ -354,12 +354,17 @@ public class HandlerManage { .eq(ProjectInst::getInstCode, instanceId)); Integer instType = projectInst.getInstType(); LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(); - // 如果是预审审批退回,需要重新盖章,原来盖过章的文件要清空 + // 如果是预审审批或建设方案退回,需要重新盖章,原来盖过章的文件要清空 if (InstTypeEnum.PRELIMINARY_PREVIEW.getCode().equals(instType)){ updateWrapper.set(Project::getPretrialFileId,null) .set(Project::getPretrialFileName,null) .eq(Project::getId,declaredProject.getId()); projectService.update(updateWrapper); + } else if (InstTypeEnum.CONSTRUCTION_PLAN_REVIEW.getCode().equals(instType)) { + updateWrapper.set(Project::getConstructFileId,null) + .set(Project::getConstructFileName,null) + .eq(Project::getId,declaredProject.getId()); + projectService.update(updateWrapper); } // 给项目创建人、流程发起人发送浙政钉工作通知:【项目名称】的【流程名称】被退回,请及时处理。 //发送消息 diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index 430a77a..f102842 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -1076,11 +1076,29 @@ public class TodoCenterManage { //再修改应用信息 Boolean isApp = Objects.nonNull(projectDto.getIncludeApplication()) && 1 == projectDto.getIncludeApplication() ? Boolean.TRUE : Boolean.FALSE; - //批量删除 - projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) - .eq(ProjectApplication::getProjectId,project.getId())); - projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) - .eq(ProjectApplication::getProjectCode,project.getProjectCode())); + Long projectDtoId = projectDto.getId(); + Project projectInfo = projectService.getById(projectDtoId); + String instCode = projectInfo.getInstCode(); + ProjectInst projectInst = projectInstService.getOne(Wrappers.lambdaQuery(ProjectInst.class).eq(ProjectInst::getInstCode, instCode)); + Integer instType = projectInst.getInstType(); + if (InstTypeEnum.UNIT_INNER_AUDIT.getCode().equals(instType) || + InstTypeEnum.PRELIMINARY_PREVIEW.getCode().equals(instType) || + InstTypeEnum.DEPT_UNITED_REVIEW.getCode().equals(instType)) { + //批量删除 + projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) + .eq(ProjectApplication::getProjectId, project.getId())); + projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) + .eq(ProjectApplication::getProjectCode, project.getProjectCode())); + }else { + //采取批量删除 批量添加的方式 批量删除建设方案申报后的应用信息 + List projectIdList = projectService.list(Wrappers.lambdaQuery(Project.class) + .eq(Project::getProjectCode, projectInfo.getProjectCode()) + .eq(Project::getIsConstruct, Boolean.TRUE)).stream() + .map(Project::getId).collect(Collectors.toList()); + projectApplicationService.remove(Wrappers.lambdaQuery(ProjectApplication.class) + .eq(ProjectApplication::getProjectCode,projectInfo.getProjectCode()) + .in(ProjectApplication::getProjectId,projectIdList)); + } if(isApp && CollUtil.isNotEmpty(projectDto.getApplicationList())){ //批量添加 List applications = projectDto.getApplicationList().stream().map(application -> {