Browse Source

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

master
yinzuomei 4 years ago
parent
commit
a184f83006
  1. 2
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgencyGovrnFormDTO.java
  2. 16
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/AgencyGovrnResultDTO.java
  3. 8
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GridGovrnResultDTO.java
  4. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  5. 70
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  6. 39
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

2
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 * 党群自治占比:party
* 网格自治占比:grid * 网格自治占比:grid
* 社区解决占比:community * 社区解决占比:community
* 区直部门解决占比:department * 区直部门解决占比:dept
* 街道解决占比:street * 街道解决占比:street
*/ */
private String type; private String type;

16
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 //组织Id
private String agencyId; 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;
} }

8
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 //网格Id
private String gridId; 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;
} }

14
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<ActCategoryDictDTO> actCategoryDictDTOList); @Param("actCategoryDictDTOList") List<ActCategoryDictDTO> actCategoryDictDTOList);
DimAgencyEntity getAgencyInfo(@Param("agencyId") String agencyId); DimAgencyEntity getAgencyInfo(@Param("agencyId") String agencyId);
/**
* @Param formDTO
* @Description 根据组织Id查询事件治理指数
* @author sun
*/
List<AgencyGovrnResultDTO> getAgencyGovern(@Param("agencyIds") List<String> agencyIds, @Param("dateId") String dateId);
/**
* @Param formDTO
* @Description 根据网格Id查询事件治理指数
* @author sun
*/
List<GridGovrnResultDTO> getGridGovern(@Param("gridIds") List<String> gridIds, @Param("dateId") String dateId);
} }

70
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)); formDTO.setDateId(format.format(yesterday));
} }
//1.按日期查询当前组织事件治理指数 //1.按日期查询当前组织事件治理指数
List<String> agencyIds = new ArrayList<>();
agencyIds.add(formDTO.getAgencyId());
return null; List<AgencyGovrnResultDTO> 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<String> agencyIds = subAgencyList.stream().map(DimAgencyEntity::getId).collect(Collectors.toList()); List<String> agencyIds = subAgencyList.stream().map(DimAgencyEntity::getId).collect(Collectors.toList());
//2.按日期查询所有下级组织的事件治理指数 //2.按日期查询所有下级组织的事件治理指数
List<AgencyGovrnResultDTO> list = dataStatsDao.getAgencyGovern(agencyIds, formDTO.getDateId());
//3.封装数据 //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.按要求排序并返回 //4.按要求排序并返回
Collections.sort(resultList, new Comparator<AgencyGovrnResultDTO>() { Collections.sort(resultList, new Comparator<AgencyGovrnResultDTO>() {
@Override @Override
public int compare(AgencyGovrnResultDTO o1, AgencyGovrnResultDTO o2) { public int compare(AgencyGovrnResultDTO o1, AgencyGovrnResultDTO o2) {
if ("party".equals(formDTO.getType())) { if ("party".equals(formDTO.getType())) {
return o2.getB().compareTo(o1.getB()); return o2.getGroupSelfGovernRatio().compareTo(o1.getGroupSelfGovernRatio());
} else if ("grid".equals(formDTO.getType())) { } else if ("grid".equals(formDTO.getType())) {
return o2.getC().compareTo(o1.getC()); return o2.getGridSelfGovernRatio().compareTo(o1.getGridSelfGovernRatio());
} else if ("community".equals(formDTO.getType())) { } else if ("community".equals(formDTO.getType())) {
return o2.getD().compareTo(o1.getD()); return o2.getCommunityResolvedRatio().compareTo(o1.getCommunityResolvedRatio());
} else if ("department".equals(formDTO.getType())) { } else if ("department".equals(formDTO.getType())) {
return o2.getE().compareTo(o1.getE()); return o2.getDistrictDeptResolvedRatio().compareTo(o1.getDistrictDeptResolvedRatio());
} else if ("street".equals(formDTO.getType())) { } else if ("street".equals(formDTO.getType())) {
return o2.getF().compareTo(o1.getF()); return o2.getStreetResolvedRatio().compareTo(o1.getStreetResolvedRatio());
} else { } 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)); formDTO.setDateId(format.format(yesterday));
} }
//1.按日子查询网格事件治理指数 //1.按日期查询网格事件治理指数
List<String> gridIds = new ArrayList<>();
gridIds.add(formDTO.getGridId());
List<GridGovrnResultDTO> list = dataStatsDao.getGridGovern(gridIds, formDTO.getDateId());
if (list.size() > NumConstant.ZERO) {
resultDTO = list.get(NumConstant.ZERO);
}
return resultDTO; return resultDTO;
} }
@ -1145,19 +1171,33 @@ public class DataStatsServiceImpl implements DataStatsService {
List<String> gridIds = gridList.stream().map(DimGridEntity::getId).collect(Collectors.toList()); List<String> gridIds = gridList.stream().map(DimGridEntity::getId).collect(Collectors.toList());
//2.按日期查找组织直属网格事件治理指数列表 //2.按日期查找组织直属网格事件治理指数列表
List<GridGovrnResultDTO> list = dataStatsDao.getGridGovern(gridIds, formDTO.getDateId());
//3.封装数据 //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.按要求排序并返回 //4.按要求排序并返回
Collections.sort(resultList, new Comparator<GridGovrnResultDTO>() { Collections.sort(resultList, new Comparator<GridGovrnResultDTO>() {
@Override @Override
public int compare(GridGovrnResultDTO o1, GridGovrnResultDTO o2) { public int compare(GridGovrnResultDTO o1, GridGovrnResultDTO o2) {
if ("party".equals(formDTO.getType())) { if ("party".equals(formDTO.getType())) {
return o2.getB().compareTo(o1.getB()); return o2.getGroupSelfGovernRatio().compareTo(o1.getGroupSelfGovernRatio());
} else if ("grid".equals(formDTO.getType())) { } else if ("grid".equals(formDTO.getType())) {
return o2.getC().compareTo(o1.getC()); return o2.getGridSelfGovernRatio().compareTo(o1.getGridSelfGovernRatio());
} else { } else {
return o2.getA().compareTo(o1.getA()); return o2.getProblemResolvedCount().compareTo(o1.getProblemResolvedCount());
} }
} }
}); });

39
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -612,4 +612,43 @@
WHERE WHERE
ID = #{agencyId} ID = #{agencyId}
</select> </select>
<select id="getAgencyGovern" resultType="com.epmet.dataaggre.dto.datastats.result.AgencyGovrnResultDTO">
SELECT
agency_id AS agencyId,
`level` AS level,
problem_resolved_count AS problemResolvedCount,
ROUND(group_self_govern_ratio, 3) AS groupSelfGovernRatio,
ROUND(grid_self_govern_ratio, 3) AS gridSelfGovernRatio,
ROUND(community_closed_ratio, 3) AS communityResolvedRatio,
ROUND(street_closed_ratio, 3) AS streetResolvedRatio,
ROUND(district_dept_closed_ratio, 3) AS districtDeptResolvedRatio
FROM
fact_agency_govern_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY problem_resolved_count DESC
</select>
<select id="getGridGovern" resultType="com.epmet.dataaggre.dto.datastats.result.GridGovrnResultDTO">
SELECT
grid_id AS gridId,
problem_resolved_count AS problemResolvedCount,
ROUND(group_self_govern_ratio, 3) AS groupSelfGovernRatio,
ROUND(grid_self_govern_ratio, 3) AS gridSelfGovernRatio
FROM
fact_grid_govern_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="gridId" collection="gridIds" open="AND (" separator="or" close=")" index="">
grid_id = #{gridId}
</foreach>
ORDER BY problem_resolved_count DESC
</select>
</mapper> </mapper>
Loading…
Cancel
Save