diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgencyGovrnFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgencyGovrnFormDTO.java index 82315c125f..ad33559d5b 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgencyGovrnFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgencyGovrnFormDTO.java @@ -29,7 +29,7 @@ public class AgencyGovrnFormDTO implements Serializable { * 党群自治占比:party * 网格自治占比:grid * 社区解决占比:community - * 区直部门解决占比:department + * 区直部门解决占比:dept * 街道解决占比:street */ private String type; diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyGovrnResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyGovrnResultDTO.java index b48a5602d7..b15017ea33 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyGovrnResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyGovrnResultDTO.java @@ -18,18 +18,20 @@ public class AgencyGovrnResultDTO implements Serializable { //组织Id private String agencyId; //组织名称 - private String agencyName; + private String agencyName = ""; + //agency_id所属的机关级别(社区级:community,乡(镇、街道)级:street, 区县级: district, 市级: city, 省级:province) + private String level = ""; //问题解决总数 - private Integer a = 0; + private Integer problemResolvedCount = 0; //党群自治占比 - private BigDecimal b = bi; + private BigDecimal groupSelfGovernRatio = bi; //网格自治占比 - private BigDecimal c = bi; + private BigDecimal gridSelfGovernRatio = bi; //社区解决占比 - private BigDecimal d = bi; + private BigDecimal communityResolvedRatio = bi; //区直部门解决占比 - private BigDecimal e = bi; + private BigDecimal districtDeptResolvedRatio = bi; //街道解决占比 - private BigDecimal f = bi; + private BigDecimal streetResolvedRatio = bi; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridGovrnResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridGovrnResultDTO.java index 0aa7f5852e..9b16f7b014 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridGovrnResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridGovrnResultDTO.java @@ -18,12 +18,12 @@ public class GridGovrnResultDTO implements Serializable { //网格Id private String gridId; //网格名称 - private String gridName; + private String gridName = ""; //问题解决总数 - private Integer a = 0; + private Integer problemResolvedCount = 0; //党群自治占比 - private BigDecimal b = bi; + private BigDecimal groupSelfGovernRatio = bi; //网格自治占比 - private BigDecimal c = bi; + private BigDecimal gridSelfGovernRatio = bi; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java index 02d6e72a76..b49b16fc0c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java @@ -228,4 +228,18 @@ public interface DataStatsDao { @Param("actCategoryDictDTOList") List actCategoryDictDTOList); DimAgencyEntity getAgencyInfo(@Param("agencyId") String agencyId); + + /** + * @Param formDTO + * @Description 根据组织Id查询事件治理指数 + * @author sun + */ + List getAgencyGovern(@Param("agencyIds") List agencyIds, @Param("dateId") String dateId); + + /** + * @Param formDTO + * @Description 根据网格Id查询事件治理指数 + * @author sun + */ + List getGridGovern(@Param("gridIds") List gridIds, @Param("dateId") String dateId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 1691ff528e..3a0512349a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -1029,9 +1029,13 @@ public class DataStatsServiceImpl implements DataStatsService { formDTO.setDateId(format.format(yesterday)); } //1.按日期查询当前组织事件治理指数 - - - return null; + List agencyIds = new ArrayList<>(); + agencyIds.add(formDTO.getAgencyId()); + List list = dataStatsDao.getAgencyGovern(agencyIds, formDTO.getDateId()); + if (list.size() > NumConstant.ZERO) { + resultDTO = list.get(NumConstant.ZERO); + } + return resultDTO; } /** @@ -1064,25 +1068,43 @@ public class DataStatsServiceImpl implements DataStatsService { List agencyIds = subAgencyList.stream().map(DimAgencyEntity::getId).collect(Collectors.toList()); //2.按日期查询所有下级组织的事件治理指数 + List list = dataStatsDao.getAgencyGovern(agencyIds, formDTO.getDateId()); //3.封装数据 + for (DimAgencyEntity sub : subAgencyList) { + AgencyGovrnResultDTO dto = new AgencyGovrnResultDTO(); + dto.setAgencyId(sub.getId()); + dto.setAgencyName(sub.getAgencyName()); + dto.setLevel(sub.getLevel()); + for (AgencyGovrnResultDTO re : list) { + if (sub.getId().equals(re.getAgencyId())) { + dto.setProblemResolvedCount(re.getProblemResolvedCount()); + dto.setGroupSelfGovernRatio(re.getGroupSelfGovernRatio()); + dto.setGridSelfGovernRatio(re.getGridSelfGovernRatio()); + dto.setCommunityResolvedRatio(re.getCommunityResolvedRatio()); + dto.setStreetResolvedRatio(re.getStreetResolvedRatio()); + dto.setDistrictDeptResolvedRatio(re.getDistrictDeptResolvedRatio()); + } + } + resultList.add(dto); + } //4.按要求排序并返回 Collections.sort(resultList, new Comparator() { @Override public int compare(AgencyGovrnResultDTO o1, AgencyGovrnResultDTO o2) { if ("party".equals(formDTO.getType())) { - return o2.getB().compareTo(o1.getB()); + return o2.getGroupSelfGovernRatio().compareTo(o1.getGroupSelfGovernRatio()); } else if ("grid".equals(formDTO.getType())) { - return o2.getC().compareTo(o1.getC()); + return o2.getGridSelfGovernRatio().compareTo(o1.getGridSelfGovernRatio()); } else if ("community".equals(formDTO.getType())) { - return o2.getD().compareTo(o1.getD()); + return o2.getCommunityResolvedRatio().compareTo(o1.getCommunityResolvedRatio()); } else if ("department".equals(formDTO.getType())) { - return o2.getE().compareTo(o1.getE()); + return o2.getDistrictDeptResolvedRatio().compareTo(o1.getDistrictDeptResolvedRatio()); } else if ("street".equals(formDTO.getType())) { - return o2.getF().compareTo(o1.getF()); + return o2.getStreetResolvedRatio().compareTo(o1.getStreetResolvedRatio()); } else { - return o2.getA().compareTo(o1.getA()); + return o2.getProblemResolvedCount().compareTo(o1.getProblemResolvedCount()); } } }); @@ -1109,9 +1131,13 @@ public class DataStatsServiceImpl implements DataStatsService { formDTO.setDateId(format.format(yesterday)); } - //1.按日子查询网格事件治理指数 - - + //1.按日期查询网格事件治理指数 + List gridIds = new ArrayList<>(); + gridIds.add(formDTO.getGridId()); + List list = dataStatsDao.getGridGovern(gridIds, formDTO.getDateId()); + if (list.size() > NumConstant.ZERO) { + resultDTO = list.get(NumConstant.ZERO); + } return resultDTO; } @@ -1145,19 +1171,33 @@ public class DataStatsServiceImpl implements DataStatsService { List gridIds = gridList.stream().map(DimGridEntity::getId).collect(Collectors.toList()); //2.按日期查找组织直属网格事件治理指数列表 + List list = dataStatsDao.getGridGovern(gridIds, formDTO.getDateId()); //3.封装数据 + for (DimGridEntity gr : gridList) { + GridGovrnResultDTO dto = new GridGovrnResultDTO(); + dto.setGridId(gr.getId()); + dto.setGridName(gr.getGridName()); + for (GridGovrnResultDTO re : list) { + if (gr.getId().equals(re.getGridId())) { + dto.setProblemResolvedCount(re.getProblemResolvedCount()); + dto.setGroupSelfGovernRatio(re.getGroupSelfGovernRatio()); + dto.setGridSelfGovernRatio(re.getGridSelfGovernRatio()); + } + } + resultList.add(dto); + } //4.按要求排序并返回 Collections.sort(resultList, new Comparator() { @Override public int compare(GridGovrnResultDTO o1, GridGovrnResultDTO o2) { if ("party".equals(formDTO.getType())) { - return o2.getB().compareTo(o1.getB()); + return o2.getGroupSelfGovernRatio().compareTo(o1.getGroupSelfGovernRatio()); } else if ("grid".equals(formDTO.getType())) { - return o2.getC().compareTo(o1.getC()); + return o2.getGridSelfGovernRatio().compareTo(o1.getGridSelfGovernRatio()); } else { - return o2.getA().compareTo(o1.getA()); + return o2.getProblemResolvedCount().compareTo(o1.getProblemResolvedCount()); } } }); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml index 1f1663bd49..7097ca36c5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml @@ -612,4 +612,43 @@ WHERE ID = #{agencyId} + + + + + \ No newline at end of file