From 7be9b70e2253e3c7d3cdedda4121891fad6047fd Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 28 Jul 2022 00:10:39 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=9B=BE=E5=B1=82=E3=80=91=E5=B7=A6?= =?UTF-8?q?=E4=BE=A7=E8=BF=98=E5=B7=AE=E5=85=AC=E5=85=B1=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E4=BA=BA=E7=BE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/enums/CoverageEnums.java | 52 ++++++++++------- .../tools/enums/CoveragePlaceTypeEnum.java | 4 +- .../AnalysisGovernedTargetsResult.java | 25 ++++++++ .../controller/CoverageController.java | 11 ++++ .../govorg/IcCoverageCategoryDictEntity.java | 2 + .../dataaggre/service/CoverageService.java | 3 + .../service/govorg/GovOrgCoverageService.java | 4 +- .../impl/GovOrgCoverageServiceImpl.java | 13 ++++- .../service/impl/CoverageServiceImpl.java | 57 +++++++++++++++++-- .../govorg/IcCoverageCategoryDictDao.xml | 1 + .../entity/IcCoverageCategoryDictEntity.java | 2 + 11 files changed, 144 insertions(+), 30 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java index 0e2e749b16..02f5504d6a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java @@ -6,42 +6,50 @@ package com.epmet.commons.tools.enums; public enum CoverageEnums { ZHZL("zhzl", "综合治理图层", 1), - YJCL("yjcl", "应急处置资源", 2), - AQSC("aqsc", "安全生产资源", 2), - CSGL("csgl", "城市管理资源", 2), - GGFW("ggfw", "公共服务资源", 2); - - private String coverageType; - private String coverageName; - - /** 位置,1:左侧,2,右侧**/ - private Integer position; - - CoverageEnums(String coverageType, String coverageName, Integer position) { - this.coverageType = coverageType; - this.coverageName = coverageName; - this.position = position; + YJCL("yjcl", "应急处置资源", 1), + AQSC("aqsc", "安全生产资源", 1), + CSGL("csgl", "城市管理资源", 1), + GGFW("ggfw", "公共服务资源", 1), + + DATA_TYPE_GOVERNED_TARGET("governedTarget", "被管理对象", 2), + DATA_TYPE_RESOURCES("resources", "资源", 2); + + private String key; + private String name; + /** + * 1:图层,2:数据类型 + */ + private Integer type; + + CoverageEnums(String key, String name, Integer type) { + this.key = key; + this.name = name; + this.type = type; } - public static CoverageEnums getEnum(String coverageType) { + public static CoverageEnums getEnum(String key) { CoverageEnums[] values = CoverageEnums.values(); for (CoverageEnums value : values) { - if (value.getCoverageType().equals(coverageType)) { + if (value.getKey().equals(key)) { return value; } } return null; } - public String getCoverageType() { - return coverageType; + public String getKey() { + return key; } public String getCoverageName() { - return coverageName; + return name; + } + + public String getName() { + return name; } - public Integer getPosition() { - return position; + public Integer getType() { + return type; } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java index dbad5fa3c2..3e68bf0503 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java @@ -8,6 +8,7 @@ public enum CoveragePlaceTypeEnum { SUPERIOR_RESOURCE("superior_resource", "优势资源"), DANGEROUS_CHEMICALS("dangerous_chemicals", "重点危化企业"), ENTERPRISE_PATROL("enterprise_patrol", "企事业单位巡查"), + ENTERPRISE_PATROL_UNQUALIFIED("enterprise_patrol_unqualified", "安全生产隐患"), SPECIAL_RESI("special_resi", "特殊人群"), CITY_MANAGEMENT("city_management", "城市管理"), COMMUNITY_ORG("community_org", "社区自组织"), @@ -16,7 +17,8 @@ public enum CoveragePlaceTypeEnum { PARTY_UNIT("party_unit", "联建单位"), VOLUNTEER("volunteer", "志愿者"), GROUP_RENT("group_rent", "群租房"), - EVENT("event", "事件(包括难点堵点)"); + EVENT("event", "事件(包括难点堵点)"), + ZHZL_RQ("zhzl_rq", "综合治理人群"); private final String code; private final String name; diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java new file mode 100644 index 0000000000..56988054ba --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java @@ -0,0 +1,25 @@ +package com.epmet.dataaggre.dto.coverage; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 五大图层分析-被管理对象分类 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class AnalysisGovernedTargetsResult { + + private String categoryKey; + private String categoryName; + private String coverageType; + private String placeType; + private String placeTypeName; + private Integer count = 0; + + private List children; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java index fa68116993..67a4b52d04 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.enums.ZhzlResiCategoryEnum; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; +import com.epmet.dataaggre.dto.coverage.AnalysisGovernedTargetsResult; import com.epmet.dataaggre.dto.coverage.AnalysisResourceCategoriesResult; import com.epmet.dataaggre.dto.govorg.form.CoverageAnalisisDataListFormDTO; import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO; @@ -83,4 +84,14 @@ public class CoverageController { return new Result>().ok(r); } + /** + * 被管理对象分类列表 + * @return + */ + @PostMapping("analysis/governedTargetCategories") + public Result> listGovernedTargetCategories() { + List r = coverageService.listGovernedTargetCategories(); + return new Result>().ok(r); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java index dee38b469f..bc0ae5c9e2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java @@ -58,6 +58,8 @@ public class IcCoverageCategoryDictEntity extends BaseEpmetEntity { */ private String coverageType; + private String dataType; + /** * 排序 */ diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java index f372f2699c..651655f2e3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java @@ -1,6 +1,7 @@ package com.epmet.dataaggre.service; import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.coverage.AnalysisGovernedTargetsResult; import com.epmet.dataaggre.dto.coverage.AnalysisResourceCategoriesResult; import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO; import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; @@ -37,4 +38,6 @@ public interface CoverageService { * @return */ List listAnalysisResourceCategories(); + + List listGovernedTargetCategories(); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java index 8168721b71..7b1779be57 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java @@ -138,5 +138,7 @@ public interface GovOrgCoverageService { */ IcCoverageCategoryDictEntity selectByCategoryKey(String categoryKey); - List listCoverageCategoryEntities(String coverageType); + List listResourceCategoryEntities(String coverageType); + + List listGovernedTargetCategoryEntities(); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java index 2f39da60a4..bc64607a7f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.dataaggre.service.govorg.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.enums.CoverageEnums; import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.*; @@ -326,11 +327,21 @@ public class GovOrgCoverageServiceImpl implements GovOrgCoverageService { } @Override - public List listCoverageCategoryEntities(String coverageType) { + public List listResourceCategoryEntities(String coverageType) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(IcCoverageCategoryDictEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); query.eq(IcCoverageCategoryDictEntity::getCoverageType, coverageType); query.orderByAsc(IcCoverageCategoryDictEntity::getSort); + query.eq(IcCoverageCategoryDictEntity::getDataType, CoverageEnums.DATA_TYPE_RESOURCES.getKey()); + return coverageCategoryDictDao.selectList(query); + } + + @Override + public List listGovernedTargetCategoryEntities() { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcCoverageCategoryDictEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); + query.orderByAsc(IcCoverageCategoryDictEntity::getSort); + query.eq(IcCoverageCategoryDictEntity::getDataType, CoverageEnums.DATA_TYPE_GOVERNED_TARGET.getKey()); return coverageCategoryDictDao.selectList(query); } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java index dfae8be881..3f09b04d77 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.dataaggre.dto.coverage.AnalysisGovernedTargetsResult; import com.epmet.dataaggre.dto.coverage.AnalysisResourceCategoriesResult; import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO; @@ -26,6 +27,7 @@ import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.govproject.GovProjectService; import com.epmet.dataaggre.service.heart.HeartService; +import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -474,15 +476,18 @@ public class CoverageServiceImpl implements CoverageService { // 1.查询categoryDict表得到基础数据,每个图层循环一次 for (CoverageEnums coverage : CoverageEnums.values()) { - // 只要右边的 - if (!coverage.getPosition().equals(Integer.valueOf(2))) { + if (!coverage.getType().equals(1)) { continue; } AnalysisResourceCategoriesResult categoriesOfThisCoverage = new AnalysisResourceCategoriesResult(); HashMap placeTypeMap = new HashMap<>(); - List categoryDictEntities = govOrgCoverageService.listCoverageCategoryEntities(coverage.getCoverageType()); + List categoryDictEntities = govOrgCoverageService.listResourceCategoryEntities(coverage.getKey()); + + if (CollectionUtils.isEmpty(categoryDictEntities)) { + continue; + } // 2.根据menuUrl过滤 todo @@ -516,12 +521,54 @@ public class CoverageServiceImpl implements CoverageService { total.updateAndGet(v -> v + placeType.getCount()); }); - categoriesOfThisCoverage.setCoverageType(coverage.getCoverageType()); - categoriesOfThisCoverage.setCoverageName(CoverageEnums.getEnum(coverage.getCoverageType()).getCoverageName()); + categoriesOfThisCoverage.setCoverageType(coverage.getKey()); + categoriesOfThisCoverage.setCoverageName(CoverageEnums.getEnum(coverage.getKey()).getCoverageName()); categoriesOfThisCoverage.setCount(total.get()); results.add(categoriesOfThisCoverage); } return results; } + + @Override + public List listGovernedTargetCategories() { + List targetCategories = govOrgCoverageService.listGovernedTargetCategoryEntities(); + + if (CollectionUtils.isEmpty(targetCategories)) { + return new ArrayList<>(); + } + + List results = new ArrayList<>(); + HashMap> placeTypeMap = new HashMap<>(); + + targetCategories.forEach(rc -> { + String placeTypeInAnalysis = rc.getPlaceTypeInAnalysis(); + if (StringUtils.isEmpty(placeTypeInAnalysis)) { + // 只有一层,没有子级 + results.add(new AnalysisGovernedTargetsResult(rc.getCategoryKey(), rc.getCategoryName(), rc.getCoverageType(), + rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), 0, new ArrayList<>())); + } else { + // 有子级,需要使用placeTypeInAnalysis分组 + List targets = placeTypeMap.get(placeTypeInAnalysis); + if (CollectionUtils.isEmpty(targets)) { + targets = new ArrayList<>(); + placeTypeMap.put(placeTypeInAnalysis, targets); + } + targets.add(new AnalysisGovernedTargetsResult(rc.getCategoryKey(), rc.getCategoryName(), rc.getCoverageType(), + rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), 0, new ArrayList<>())); + } + }); + + if (placeTypeMap.size() > 0) { + placeTypeMap.forEach((placeTypeInAnalysis, targetObjects) -> { + AnalysisGovernedTargetsResult tr = new AnalysisGovernedTargetsResult(); + tr.setPlaceType(placeTypeInAnalysis); + tr.setPlaceTypeName(CoveragePlaceTypeEnum.getEnum(placeTypeInAnalysis).getName()); + tr.setChildren(targetObjects); + results.add(tr); + }); + } + + return results; + } } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml index 25c0704bbd..94da6bd60c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml @@ -12,6 +12,7 @@ + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java index 13a31b9974..25a4e47299 100755 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java @@ -61,6 +61,8 @@ public class IcCoverageCategoryDictEntity extends BaseEpmetEntity { */ private String coverageType; + private String dataType; + /** * 排序 */