Browse Source

Merge remote-tracking branch 'origin/dev_five_coverage' into dev_five_coverage

master
yinzuomei 3 years ago
parent
commit
ec15eae342
  1. 2
      epmet-cloud-generator/src/main/resources/application.yml
  2. 5
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisResourceCategoriesResult.java
  3. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java
  4. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryStatsDao.java
  5. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java
  6. 64
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryStatsEntity.java
  7. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java
  8. 206
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java
  9. 25
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryStatsDao.xml
  10. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java

2
epmet-cloud-generator/src/main/resources/application.yml

@ -9,7 +9,7 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://118.190.150.119:43306/epmet_user?useUnicode=true&characterEncoding=UTF-8&useSSL=false
url: jdbc:mysql://118.190.150.119:43306/epmet_gov_org?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: root
#oracle配置

5
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisResourceCategoriesResult.java

@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
/**
* 五大图层-可视化-右侧分类树列表
@ -26,7 +27,7 @@ public class AnalysisResourceCategoriesResult {
/**
* 个数
*/
private Integer quantity;
private AtomicInteger quantity = new AtomicInteger(0);
/**
* 没有placeTypeInAnalysis直接属于图层的
@ -61,7 +62,7 @@ public class AnalysisResourceCategoriesResult {
public static class PlaceType {
private String placeType;
private String placeTypeName;
private Integer quantity = 0;
private AtomicInteger quantity = new AtomicInteger(0);
private List<Category> categories;
}

18
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java

@ -3,6 +3,8 @@ package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.dto.result.ZhzlCategorySelectDTO;
import com.epmet.commons.tools.enums.ZhzlResiCategoryEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
@ -14,6 +16,7 @@ import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.service.CoverageService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -22,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 5大图层controller
@ -82,18 +86,24 @@ public class CoverageController {
* @return
*/
@PostMapping("analysis/resourceCategories")
public Result<List<AnalysisResourceCategoriesResult>> listAnalysisResourceCategories() {
List<AnalysisResourceCategoriesResult> r = coverageService.listAnalysisResourceCategories();
public Result<List<AnalysisResourceCategoriesResult>> listAnalysisResourceCategories(@RequestBody Map<String, String> input) {
String agencyId = input.get("agencyId");
List<AnalysisResourceCategoriesResult> r = coverageService.listAnalysisResourceCategories(agencyId);
return new Result<List<AnalysisResourceCategoriesResult>>().ok(r);
}
/**
* 被管理对象分类列表
* @param input:只有一个字段:agencyId
* @return
*/
@PostMapping("analysis/governedTargetCategories")
public Result<List<AnalysisGovernedTargetsResult>> listGovernedTargetCategories() {
List<AnalysisGovernedTargetsResult> r = coverageService.listGovernedTargetCategories();
public Result<List<AnalysisGovernedTargetsResult>> listGovernedTargetCategories(@RequestBody Map<String, String> input) {
String agencyId = input.get("agencyId");
if (StringUtils.isBlank(agencyId)) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "请输入组织ID");
}
List<AnalysisGovernedTargetsResult> r = coverageService.listGovernedTargetCategories(agencyId);
return new Result<List<AnalysisGovernedTargetsResult>>().ok(r);
}

16
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryStatsDao.java

@ -0,0 +1,16 @@
package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.entity.govorg.IcCoverageCategoryStatsEntity;
import org.apache.ibatis.annotations.Mapper;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-29
*/
@Mapper
public interface IcCoverageCategoryStatsDao extends BaseDao<IcCoverageCategoryStatsEntity> {
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java

@ -60,11 +60,6 @@ public class IcCoverageCategoryDictEntity extends BaseEpmetEntity {
private String dataType;
/**
* 数量
*/
private Integer quantity;
/**
* 排序
*/

64
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryStatsEntity.java

@ -0,0 +1,64 @@
package com.epmet.dataaggre.entity.govorg;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-29
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_coverage_category_stats")
public class IcCoverageCategoryStatsEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* default或者customerId
*/
private String customerId;
/**
* agency,grid的id
*/
private String orgId;
/**
* agency,grid的id
*/
private String orgType;
/**
* agency,grid ID路径path包含自身
*/
private String orgIdPath;
/**
* 类别key
*/
private String categoryKey;
/**
* 所属场所类型社区自组织community_org;优势资源:superior_resource;城市管理city_management重点危化企业dangerous_chemicals公共服务public_service特殊人群special_resi居民resi联建单位party_unit群租房group_rent事件(包括难点堵点)event企事业单位巡查enterprise_patrol
*/
private String placeType;
/**
* 所属五大图层zhzl综合治理图层yjcl应急处置图层aqsc安全生产图层csgl城市管理图层ggfw公共服务图层
*/
private String coverageType;
/**
*
*/
private Integer quantity;
}

4
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java

@ -40,9 +40,9 @@ public interface CoverageService {
* 五大图层-可视化-右侧分类树列表
* @return
*/
List<AnalysisResourceCategoriesResult> listAnalysisResourceCategories();
List<AnalysisResourceCategoriesResult> listAnalysisResourceCategories(String agencyId);
List<AnalysisGovernedTargetsResult> listGovernedTargetCategories();
List<AnalysisGovernedTargetsResult> listGovernedTargetCategories(String agencyId);
/**
* 五大图层左侧菜单点击事件查询人.事的分布

206
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java

@ -58,6 +58,10 @@ import org.springframework.stereotype.Service;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@ -89,6 +93,9 @@ public class CoverageServiceImpl implements CoverageService {
@Autowired
private IcResiCategoryWarnService icResiCategoryWarnService;
@Autowired
private ExecutorService executorService;
// 1:出租 0:自住 2:闲置 3:未售出
public static final Integer HOUSE_RENT_FLAG_RENT = 1;
@ -580,10 +587,11 @@ public class CoverageServiceImpl implements CoverageService {
return heartService.countCommunityOrgEntities(customerId, agencyId, staffOrgIds, search, categoryKey);
} else if (CoveragePlaceTypeEnum.PARTY_UNIT.getCode().equals(placeType)) {
// 机关直属部门(联建单位) 楼宇党建 0;两新组织 1;区域单位党建 2;机关直属部门 3;社会团体 4;民办非企业单位 5;基金会 6;其他 7
if (categoryKey.equals("pu_jgzsbm")) {
String partyUnitType = "3";
return heartService.countPartyUnitEntities(customerId, agencyId, staffOrgIds, partyUnitType, search);
}
// if (categoryKey.equals("pu_jgzsbm")) {
// String partyUnitType = "3";
// }
String[] parts = categoryKey.split("_");
return heartService.countPartyUnitEntities(customerId, agencyId, staffOrgIds, parts[1], search);
} else if (CoveragePlaceTypeEnum.DANGEROUS_CHEMICALS.getCode().equals(placeType)) {
// 危化企业
return orgCoverageService.countDangerousChemicalEntities(customerId, staffOrgIds, search, categoryKey);
@ -690,17 +698,16 @@ public class CoverageServiceImpl implements CoverageService {
} else if (CoveragePlaceTypeEnum.PARTY_UNIT.getCode().equals(placeType)) {
// 机关直属部门(联建单位) 楼宇党建 0;两新组织 1;区域单位党建 2;机关直属部门 3;社会团体 4;民办非企业单位 5;基金会 6;其他 7
if (categoryKey.equals("pu_jgzsbm")) {
String partyUnitType = "3";
List<IcPartyUnitEntity> l = heartService.searchPartyUnitEntities(
customerId, agencyId, staffOrgIds, partyUnitType, search, isPage, pageNo, pageSize);
return l.stream()
.map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey,
isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? dc.getUnitName() : null, dc.getLatitude(), dc.getLongitude()))
.collect(Collectors.toList());
}
return new ArrayList<>();
// if (categoryKey.equals("pu_jgzsbm")) {
// String partyUnitType = "3";
// }
String[] parts = categoryKey.split("_");
List<IcPartyUnitEntity> l = heartService.searchPartyUnitEntities(
customerId, agencyId, staffOrgIds, parts[1], search, isPage, pageNo, pageSize);
return l.stream()
.map(dc -> new CoverageAnalisisDataListResultDTO(dc.getId(), categoryKey,
isPage ? categoryDict.getCategoryName() : null, placeType, isPage ? dc.getUnitName() : null, dc.getLatitude(), dc.getLongitude()))
.collect(Collectors.toList());
} else if (CoveragePlaceTypeEnum.DANGEROUS_CHEMICALS.getCode().equals(placeType)) {
// 危化企业
List<IcDangerousChemicalsEntity> l = orgCoverageService.searchDangerousChemicalEntities(
@ -802,7 +809,7 @@ public class CoverageServiceImpl implements CoverageService {
* @return
*/
@Override
public List<AnalysisResourceCategoriesResult> listAnalysisResourceCategories() {
public List<AnalysisResourceCategoriesResult> listAnalysisResourceCategories(String agencyId) {
// 获取所有菜单的url
List<String> menuUrls = new ArrayList<>(128);
@ -822,7 +829,7 @@ public class CoverageServiceImpl implements CoverageService {
continue;
}
AnalysisResourceCategoriesResult categoriesOfThisCoverage = new AnalysisResourceCategoriesResult();
AnalysisResourceCategoriesResult coverageResult = new AnalysisResourceCategoriesResult();
HashMap<String, AnalysisResourceCategoriesResult.PlaceType> placeTypeMap = new HashMap<>();
List<IcCoverageCategoryDictEntity> categoryDictEntities = govOrgCoverageService.listResourceCategoryEntities(coverage.getKey());
@ -836,9 +843,9 @@ public class CoverageServiceImpl implements CoverageService {
if (StringUtils.isBlank(category.getPlaceTypeInAnalysis())) {
// 没有placetype的
if ("all".equals(category.getMenuUrl()) || menuUrls.contains(category.getMenuUrl())) {
categoriesOfThisCoverage.getCategories()
coverageResult.getCategories()
.add(new AnalysisResourceCategoriesResult.Category(category.getCategoryKey(), category.getCategoryName(),
category.getCoverageType(), category.getPlaceType(), category.getQuantity()));
category.getCoverageType(), category.getPlaceType(), 0));
}
} else {
// 有placetype的
@ -847,35 +854,96 @@ public class CoverageServiceImpl implements CoverageService {
if (placeType == null) {
placeType = new AnalysisResourceCategoriesResult.PlaceType(
category.getPlaceTypeInAnalysis(), CoveragePlaceTypeEnum.getEnum(category.getPlaceTypeInAnalysis()).getName(), category.getQuantity(), new ArrayList<>());
category.getPlaceTypeInAnalysis(), CoveragePlaceTypeEnum.getEnum(category.getPlaceTypeInAnalysis()).getName(), new AtomicInteger(0), new ArrayList<>());
placeTypeMap.put(category.getPlaceTypeInAnalysis(), placeType);
}
placeType.getCategories().add(new AnalysisResourceCategoriesResult.Category(category.getCategoryKey(),
category.getCategoryName(), category.getCoverageType(), category.getPlaceType(), category.getQuantity()));
placeType.setQuantity(placeType.getQuantity() + category.getQuantity()); // todo 0改为category的count
category.getCategoryName(), category.getCoverageType(), category.getPlaceType(), 0));
}
}
});
AtomicReference<Integer> total = new AtomicReference<>(0);
placeTypeMap.forEach((placeTypeKey, placeType) -> {
categoriesOfThisCoverage.getPlaceTypesInAnalysis().add(placeType);
total.updateAndGet(v -> v + placeType.getQuantity());
coverageResult.getPlaceTypesInAnalysis().add(placeType);
});
categoriesOfThisCoverage.setCoverageType(coverage.getKey());
categoriesOfThisCoverage.setCoverageName(CoverageEnums.getEnum(coverage.getKey()).getCoverageName());
categoriesOfThisCoverage.setQuantity(total.get());
results.add(categoriesOfThisCoverage);
coverageResult.setCoverageType(coverage.getKey());
coverageResult.setCoverageName(CoverageEnums.getEnum(coverage.getKey()).getCoverageName());
results.add(coverageResult);
}
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
String userId = EpmetRequestHolder.getLoginUserId();
Map<String,String> stafInfoMap=getStaffPidsFromStaffInfo(customerId, userId, agencyId,OrgConstant.AGENCY);
String staffOrgPath = stafInfoMap.get(OrgConstant.AGENC_PATH);
// 填充数量quantity字段
fillQuantities4ResourcesCoverages(results, customerId, agencyId, staffOrgPath);
return results;
}
private void fillQuantities4ResourcesCoverages(ArrayList<AnalysisResourceCategoriesResult> coverages, String customerId, String agencyId, String staffOrgIds) {
ArrayList<CompletableFuture<Void>> futures = new ArrayList<>();
coverages.forEach(coverage -> {
List<AnalysisResourceCategoriesResult.Category> categoriesInCoverage = coverage.getCategories();
List<AnalysisResourceCategoriesResult.PlaceType> placeTypesInCoverage = coverage.getPlaceTypesInAnalysis();
if (CollectionUtils.isNotEmpty(categoriesInCoverage)) {
// 直属于图层的category。异步提交计算任务
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> fillQuantities4ResourcesCategories(coverage, null, categoriesInCoverage, customerId, agencyId, staffOrgIds));
futures.add(future);
}
if (CollectionUtils.isNotEmpty(placeTypesInCoverage)) {
// placeType,需要拆开来算, 异步提交计算任务
placeTypesInCoverage.forEach(placeType -> {
List<AnalysisResourceCategoriesResult.Category> categoriesInPlaceType = placeType.getCategories();
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> fillQuantities4ResourcesCategories(coverage, placeType, categoriesInPlaceType, customerId, agencyId, staffOrgIds));
futures.add(future);
});
}
});
// 等待异步任务计算完成
futures.forEach(f -> {
try {
f.get();
} catch (InterruptedException e) {
log.error("【五大图层】可视化-右侧资源列表异步计算数量quantity失败,计算被中止,错误信息:{}", ExceptionUtils.getErrorStackTrace(e));
} catch (ExecutionException e) {
log.error("【五大图层】可视化-右侧资源列表异步计算数量quantity失败,错误信息:{}", ExceptionUtils.getErrorStackTrace(e));
}
});
}
private void fillQuantities4ResourcesCategories(AnalysisResourceCategoriesResult coverage,
AnalysisResourceCategoriesResult.PlaceType placeType,
List<AnalysisResourceCategoriesResult.Category> categories,
String customerId, String agencyId, String staffOrgIds) {
AtomicInteger total = new AtomicInteger();
categories.forEach(cat -> {
Integer quantity = doDataListCount(customerId, agencyId, staffOrgIds, cat.getPlaceType(), cat.getCategoryKey(), null, null);
cat.setQuantity(quantity);
total.getAndAdd(quantity);
});
// 分别给所属的coverage和placeType的quantity增加quantity
coverage.getQuantity().getAndAdd(total.get());
if (placeType != null) {
placeType.getQuantity().getAndAdd(total.get());
}
}
@Override
public List<AnalysisGovernedTargetsResult> listGovernedTargetCategories() {
public List<AnalysisGovernedTargetsResult> listGovernedTargetCategories(String agencyId) {
// 获取所有菜单的url
List<String> menuUrls = new ArrayList<>(128);
@ -898,7 +966,6 @@ public class CoverageServiceImpl implements CoverageService {
List<AnalysisGovernedTargetsResult> results = new ArrayList<>();
HashMap<String, List<AnalysisGovernedTargetsResult>> placeTypeTargetMap = new HashMap<>();
HashMap<String, Integer> placeTypeQuantityMap = new HashMap<>();
targetCategories.forEach(rc -> {
String placeTypeInAnalysis = rc.getPlaceTypeInAnalysis();
@ -912,7 +979,7 @@ public class CoverageServiceImpl implements CoverageService {
// 只有一层,没有子级
if (menuUrls.contains(rc.getMenuUrl()) || "all".equals(rc.getMenuUrl())) {
results.add(new AnalysisGovernedTargetsResult(rc.getCategoryKey(), rc.getCategoryName(), rc.getCoverageType(),
rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), rc.getQuantity(), new ArrayList<>()));
rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), 0, new ArrayList<>()));
}
} else {
// 有子级,需要使用placeTypeInAnalysis分组
@ -921,12 +988,9 @@ public class CoverageServiceImpl implements CoverageService {
if (CollectionUtils.isEmpty(targets)) {
targets = new ArrayList<>();
placeTypeTargetMap.put(placeTypeInAnalysis, targets);
placeTypeQuantityMap.put(placeTypeInAnalysis, 0);
}
targets.add(new AnalysisGovernedTargetsResult(rc.getCategoryKey(), rc.getCategoryName(), rc.getCoverageType(),
rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), rc.getQuantity(), new ArrayList<>()));
placeTypeQuantityMap.put(placeTypeInAnalysis, placeTypeQuantityMap.get(placeTypeInAnalysis) + rc.getQuantity());
rc.getPlaceType(), CoveragePlaceTypeEnum.getEnum(rc.getPlaceType()).getName(), 0, new ArrayList<>()));
}
}
});
@ -936,16 +1000,84 @@ public class CoverageServiceImpl implements CoverageService {
placeTypeTargetMap.forEach((placeTypeInAnalysis, targetObjects) -> {
AnalysisGovernedTargetsResult tr = new AnalysisGovernedTargetsResult();
tr.setPlaceType(placeTypeInAnalysis);
tr.setQuantity(placeTypeQuantityMap.get(placeTypeInAnalysis));
tr.setPlaceTypeName(CoveragePlaceTypeEnum.getEnum(placeTypeInAnalysis).getName());
tr.setChildren(targetObjects);
results.add(tr);
});
}
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
String staffId = EpmetRequestHolder.getLoginUserId();
Map<String,String> agencyMap=getStaffPidsFromStaffInfo(customerId,staffId,agencyId,OrgConstant.AGENCY);
String agencyPath = agencyMap.get(OrgConstant.AGENC_PATH);
// 再最后,多线程setQuantity
fillQuantities4GovernedTarges(results, customerId, agencyId, agencyPath);
return results;
}
/**
* 填充数量接收参数为多个placeType(对应左侧菜单的所有一级)
* @param results
*/
private void fillQuantities4GovernedTarges(List<AnalysisGovernedTargetsResult> results, String customerId, String agencyId, String staffOrgIds) {
ArrayList<CompletableFuture<Void>> futures = new ArrayList<>();
results.stream().forEach(targetsOfOnePlaceType -> {
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
fillQuantities4GovernedTarges(targetsOfOnePlaceType, customerId, agencyId, staffOrgIds);
}, executorService);
futures.add(future);
});
// 此处是为了等待计算完成
futures.forEach(future -> {
try {
future.get();
} catch (InterruptedException e) {
log.error("【五大图层】可视化-左侧异步计算数量quantity失败,计算被中止,错误信息:{}", ExceptionUtils.getErrorStackTrace(e));
} catch (ExecutionException e) {
log.error("【五大图层】可视化-左侧异步计算数量quantity失败,错误信息:{}", ExceptionUtils.getErrorStackTrace(e));
}
});
}
/**
* 填充数量接收参数为左侧单个placeType
* @param targetsOfOnePlaceType
* @param customerId
* @param agencyId
* @param staffOrgIds
*/
private void fillQuantities4GovernedTarges(AnalysisGovernedTargetsResult targetsOfOnePlaceType, String customerId, String agencyId, String staffOrgIds) {
List<AnalysisGovernedTargetsResult> children = targetsOfOnePlaceType.getChildren();
if (CollectionUtils.isEmpty(children)) {
// 城市管理时间 || 安全生产隐患等只有一层的
Integer quantity = doDataListCount(customerId, agencyId, staffOrgIds, targetsOfOnePlaceType.getPlaceType(),
targetsOfOnePlaceType.getCategoryKey(), null, null);
targetsOfOnePlaceType.setQuantity(quantity);
} else {
// 综合治理人群 || 公共服务人群等有子级的
AtomicInteger totalOfPlaceType = new AtomicInteger();
children.forEach(governedTarget -> {
Integer quantity = doDataListCount(customerId, agencyId, staffOrgIds, governedTarget.getPlaceType(),
governedTarget.getCategoryKey(), null, null);
governedTarget.setQuantity(quantity);
totalOfPlaceType.addAndGet(quantity);
});
// 设置这一组的总数
targetsOfOnePlaceType.setQuantity(totalOfPlaceType.get());
}
}
/**
* 五大图层左侧菜单点击事件查询人.事的分布
*

25
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryStatsDao.xml

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dataaggre.dao.govorg.IcCoverageCategoryStatsDao">
<resultMap type="com.epmet.dataaggre.entity.govorg.IcCoverageCategoryStatsEntity" id="icCoverageCategoryStatsMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="orgId" column="ORG_ID"/>
<result property="orgType" column="ORG_TYPE"/>
<result property="orgIdPath" column="ORG_ID_PATH"/>
<result property="categoryKey" column="CATEGORY_KEY"/>
<result property="placeType" column="PLACE_TYPE"/>
<result property="coverageType" column="COVERAGE_TYPE"/>
<result property="quantity" column="QUANTITY"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcCoverageCategoryDictEntity.java

@ -62,10 +62,6 @@ public class IcCoverageCategoryDictEntity extends BaseEpmetEntity {
private String coverageType;
private String dataType;
/**
* 数量
*/
private Integer quantity;
/**
* 排序
*/

Loading…
Cancel
Save