Browse Source

大屏数据上报

feature/syp_points
songyunpeng 5 years ago
parent
commit
187e7aefba
  1. 1
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java
  2. 10
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
  3. 26
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/form/ScreenJobFormDTO.java
  4. 72
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/DeptGovrnAbilityDTO.java
  5. 82
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridGovrnAbilityDTO.java
  6. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridPartyAbilityDTO.java
  7. 97
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridPartyMemberDataDetailDTO.java
  8. 58
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridServiceAbilityDTO.java
  9. 76
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/HomePagePlatformSummaryDTO.java
  10. 83
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/OrgGovrnAbilityDTO.java
  11. 52
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/OrgPartyAbilityDTO.java
  12. 51
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/OrgServiceAbilityDTO.java
  13. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenActSummaryDTO.java
  14. 76
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenActVolunteerSummaryDTO.java
  15. 14
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenBasicDataResultDTO.java
  16. 71
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java
  17. 51
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerDeptDTO.java
  18. 56
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerGridDTO.java
  19. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataDateDTO.java
  20. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataMonthDTO.java
  21. 66
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGroupDetailDTO.java
  22. 61
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGroupSummaryDTO.java
  23. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGroupTopicTrendDTO.java
  24. 14
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenIndexDataResultDTO.java
  25. 91
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenIssueSummaryDTO.java
  26. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenIssueTrendDTO.java
  27. 46
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenNewsCategoryAnalysisDTO.java
  28. 31
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenNewsHotRankDTO.java
  29. 36
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenNewsSummaryDTO.java
  30. 81
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenPartyUserRankDataDTO.java
  31. 51
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenProjectCategorySummaryDTO.java
  32. 51
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenProjectStatisticAnalysisDTO.java
  33. 76
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenProjectSummaryDTO.java
  34. 14
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenPublicDataResultDTO.java
  35. 91
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenUserSummaryDTO.java
  36. 49
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenUserUserHeartRankDTO.java
  37. 61
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenVolunteerHeartRank.java
  38. 129
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenIndexDataController.java
  39. 96
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenIndexDataDao.java
  40. 102
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenIndexDataService.java
  41. 248
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenIndexDataServiceImpl.java
  42. 61
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java
  43. 583
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenIndexDataDao.xml
  44. 5
      esua-epdc/epdc-module/epdc-job/epdc-job-client/pom.xml
  45. 61
      esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenIndexBasicDataParamDTO.java
  46. 107
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java
  47. 57
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java
  48. 20
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTask.java
  49. 196
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTaskImpl.java
  50. 2
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/ModuleCategoryDao.xml

1
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java

@ -45,5 +45,6 @@ public interface NumConstant {
String SEVEN_STR = "7";
int TWO_HUNDRED = 200;
int ONE_THOUSAND = 1000;
}

10
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java

@ -27,6 +27,8 @@ import java.util.Locale;
* @since 1.0.0
*/
public class DateUtils {
/** 时间格式(yyyy-MM) */
public final static String DATE_PATTERN_YEAR_MONTH = "yyyy-MM";
/** 时间格式(yyyy-MM-dd) */
public final static String DATE_PATTERN = "yyyy-MM-dd";
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
@ -204,4 +206,12 @@ public class DateUtils {
}
return df2.format(date1);
}
/**
* 日期格式化 日期格式为yyyy-MM
* @param date 日期
* @return 返回yyyy-MM格式日期
*/
public static String formatYearMonth(Date date) {
return format(date, DATE_PATTERN_YEAR_MONTH);
}
}

26
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/form/ScreenJobFormDTO.java

@ -0,0 +1,26 @@
package com.elink.esua.epdc.dto.screen.form;
import lombok.Data;
import java.io.Serializable;
/**
* 大屏数据统计 定时任务入参
*
* @Authorliuchuang
* @Date2020/9/15 9:18
*/
@Data
public class ScreenJobFormDTO implements Serializable {
private static final long serialVersionUID = 4393418231149397108L;
/**
* 统计月份
*/
private String yearMonth;
/**
* 统计数量
*/
private Integer pageSize;
}

72
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/DeptGovrnAbilityDTO.java

@ -0,0 +1,72 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 08治理能力-部门相关指标
* @Auther: zhangyong
* @Date: 2020-08-18 09:59
*/
@Data
public class DeptGovrnAbilityDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 上级组织id
*/
private String deptId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* 区直部门被吹哨次数
*/
private Integer transferedCount;
/**
* 区直部门办结项目数
*/
private Integer closedProjectCount;
/**
* 区直部门项目响应度 所有被吹哨后的滞留时间除以项目数
*/
private BigDecimal respProjectRatio;
/**
* 区直部门办结项目的处理效率
*/
private BigDecimal handleProjectRatio;
/**
* 区直部门项目办结率
*/
private BigDecimal closedProjectRatio;
/**
* 办结项目满意度
*/
private BigDecimal satisfactionRatio;
}

82
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridGovrnAbilityDTO.java

@ -0,0 +1,82 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 06治理能力-网格相关指标
* @Auther: zhangyong
* @Date: 2020-08-18 09:59
*/
@Data
public class GridGovrnAbilityDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 网格id
*/
private String gridId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* 网格总议题数
*/
private Integer issueTotal;
/**
* 网格人均议题数目
*/
private Integer avgIssueCount;
/**
* 网格总项目数
*/
private Integer projectTotal;
/**
* 网格办结项目数
*/
private Integer resolveProjectCount;
/**
* 网格吹哨部门准确率
*/
private BigDecimal transferRightRatio;
/**
* 网格内解决的项目的满意度
*/
private BigDecimal satisfactionRatio;
/**
* 网格议题转项目率
*/
private BigDecimal issueToProjectRatio;
/**
* 网格自治项目数 统计期网格自身内办结的项目数目
*/
private Integer selfSolveProjectCount;
}

107
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridPartyAbilityDTO.java

@ -0,0 +1,107 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 02党建能力-网格相关指标上报
* @Auther: zhangyong
* @Date: 2020/9/14 10:04
*/
@Data
public class GridPartyAbilityDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 网格id
*/
private String gridId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* 网格党员用户数
*/
private Integer partyCount;
/**
* 网格党员人均提出的议题转项目数
*/
private BigDecimal partyAvgShiftProjectCount;
/**
* 网格活跃群众用户数
*/
private Integer activeUserCount;
/**
* 网格活跃党员用户数
*/
private Integer activePartyCount;
/**
* 网格党员人均提出话题数
*/
private Integer partyAvgTopicCount;
/**
* 网格群众人均提出话题数
*/
private Integer userAvgTopicCount;
/**
* 网格群众用户数
*/
private Integer userCount;
/**
* 网格群众人均提出的议题转项目数
*/
private BigDecimal userAvgShiftProjectCount;
/**
* 建群党员数累计值
*/
private Integer createGroupPartyCount;
/**
* 网格发文数
*/
private Integer publishArticleCount;
/**
* 网格议题转项目率
*/
private BigDecimal issueToProjectRatio;
/**
* 组织三会一课次数
*/
private Integer createThreeMeetsCount;
/**
* 党员参加三会一课人次
*/
private Integer joinThreeMeetsCount;
}

97
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridPartyMemberDataDetailDTO.java

@ -0,0 +1,97 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 01党建能力-党员相关指标上报
*
* @author yinzuomei@elink-cn.com
* @date 2020/9/14 10:04
*/
@Data
public class GridPartyMemberDataDetailDTO implements Serializable {
private static final long serialVersionUID = 2923515319015973995L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 网格id
*/
private String gridId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* 党员提出的话题数
*/
private Integer createTopicCount;
/**
* 党员参与话题数支持反对评论浏览
*/
private Integer joinTopicCount;
/**
* 话题转议题数
*/
private Integer shiftIssueCount;
/**
* 议题转项目数
*/
private Integer shiftProjectCount;
/**
* 参加三会一课次数
*/
private Integer joinThreeMeetsCount;
/**
* 自建群群众人数
*/
private Integer groupUserCount;
/**
* 自建群活跃度-话题数
*/
private Integer groupTopicCount;
/**
* 议题转项目率
*/
private BigDecimal topicToIssueRatio;
/**
* 党员自建群活跃群众人数(08-24)
*/
private Integer groupActiveUserCount;
/**
* 用户id
*/
private String userId;
/**
* 上级组织id
*/
private String parentId;
}

58
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridServiceAbilityDTO.java

@ -0,0 +1,58 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 04服务能力-网格相关指标
* @Auther: zhangyong
* @Date: 2020/9/14 10:04
*/
@Data
public class GridServiceAbilityDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 网格id
*/
private String gridId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* 网格活动组织次数 爱心活动
*/
private Integer activityCount;
/**
* 网格志愿者占比
*/
private Integer volunteerRatio;
/**
* 网格党员志愿者率
*/
private BigDecimal partyVolunteerRatio;
}

76
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/HomePagePlatformSummaryDTO.java

@ -0,0 +1,76 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 1首页-平台各类总数上报
*
* @Authorliuchuang
* @Date2020/9/10 14:37
*/
@Data
public class HomePagePlatformSummaryDTO implements Serializable {
private static final long serialVersionUID = 1847661183221467699L;
/**
* 网格总数
*/
private Integer gridCount;
/**
* 已开通网格总数
*/
private Integer openedGridCount;
/**
* 议题总数
*/
private Integer issueCount;
/**
* 项目总数
*/
private Integer projectCount;
/**
* 用户总数
*/
private Integer userCount;
/**
* 党员用户
*/
private Integer partyUserCount;
/**
* 社群总数
*/
private Integer groupCount;
/**
* 话题总数
*/
private Integer topicCount;
/**
* 新闻数量
*/
private Integer newsCount;
/**
* 阅读数量
*/
private Integer readCount;
/**
* 公益活动数量
*/
private Integer actCount;
/**
* 志愿者总数
*/
private Integer vounteerCount;
}

83
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/OrgGovrnAbilityDTO.java

@ -0,0 +1,83 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 07治理能力-街道及社区相关指标
* @Auther: zhangyong
* @Date: 2020-08-18 09:59
*/
@Data
public class OrgGovrnAbilityDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 上级组织id
*/
private String parentId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* district全区community社区street街道
*/
private String dataType;
/**
* 被吹哨次数
*/
private Integer transferedCount;
/**
* 办结项目数
*/
private Integer closedProjectCount;
/**
* 项目响应度 所有被吹哨后的滞留时间除以项目数
*/
private BigDecimal respProjectRatio;
/**
* 办结项目率
*/
private BigDecimal closedProjectRatio;
/**
* 办结项目满意度
*/
private BigDecimal satisfactionRatio;
/**
* 社区超期项目率dataTyp=community有值
*/
private BigDecimal overdueProjectRatio;
/**
* 街道办结项目的处理效率, data_type=street时有值
*/
private BigDecimal handleProjectRatio;
}

52
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/OrgPartyAbilityDTO.java

@ -0,0 +1,52 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 03党建能力-区街道及社区相关指标
* @Auther: zhangyong
* @Date: 2020/9/14 10:04
*/
@Data
public class OrgPartyAbilityDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 上级组织id
*/
private String parentId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* district全区community社区street街道
*/
private String dataType;
/**
* 发文数
*/
private Integer publishArticleCount;
}

51
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/OrgServiceAbilityDTO.java

@ -0,0 +1,51 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 05服务能力-组织街道|社区|全区相关指标
* @Auther: zhangyong
* @Date: 2020/9/14 10:04
*/
@Data
public class OrgServiceAbilityDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关id:网格所属的组织id
*/
private String agencyId;
/**
* 上级组织id
*/
private String parentId;
/**
* yyyyMM
*/
private String monthId;
/**
* yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
*/
private String quarterId;
/**
* yyyy
*/
private String yearId;
/**
* district全区community社区street街道
*/
private String dataType;
/**
* 社区/街道活动组织次数 爱心活动
*/
private Integer activityCount;
}

41
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenActSummaryDTO.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 7公益互助-活动各类总数
*
* @Authorliuchuang
* @Date2020/9/12 9:59
*/
@Data
public class ScreenActSummaryDTO implements Serializable {
private static final long serialVersionUID = 7488642199632781510L;
/**
* 活动总数
*/
private Integer actCount;
/**
* 志愿者总数
*/
private Integer volunteerCount;
/**
* 参与人次
*/
private Integer partiUserCount;
/**
* 发放积分
*/
private Integer rewardPointCount;
/**
* 公益时长 单位分钟
*/
private Integer heartTime;
}

76
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenActVolunteerSummaryDTO.java

@ -0,0 +1,76 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 9公益互助-志愿者画像
*
* @Authorliuchuang
* @Date2020/9/12 10:58
*/
@Data
public class ScreenActVolunteerSummaryDTO implements Serializable {
private static final long serialVersionUID = 7558355410848455551L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 小于20岁的志愿者总人数
*/
private Integer ageLevel1;
/**
* 20-30岁的志愿者总人数
*/
private Integer ageLevel2;
/**
* 31-40岁的志愿者总人数
*/
private Integer ageLevel3;
/**
* 41-50岁的志愿者总人数
*/
private Integer ageLevel4;
/**
* 51-60岁的志愿者总人数
*/
private Integer ageLevel5;
/**
* 60+岁的志愿者总人数
*/
private Integer ageLevel6;
/**
* 志愿者中男性总人数
*/
private Integer maleCount;
/**
* 志愿者中女性总人数
*/
private Integer femaleCount;
}

14
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenBasicDataResultDTO.java

@ -0,0 +1,14 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2020/9/9 17:55
*/
@Data
public class ScreenBasicDataResultDTO implements Serializable {
private static final long serialVersionUID = -7395158916886571540L;
}

71
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java

@ -0,0 +1,71 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 014组织层级
*
* @Authorliuchuang
* @Date2020/9/17 14:21
*/
@Data
public class ScreenCustomerAgencyDTO implements Serializable {
private static final long serialVersionUID = -4035893591086943602L;
/**
* 组织id
*/
private String agencyId;
/**
* 组织名称
*/
private String agencyName;
/**
* 父级id ,顶级此列为0
*/
private String pid;
/**
* 所有上级ID用逗号分开
*/
private String pids;
/**
* 所有组织名称以-链接
*/
private String allParentNames;
/**
* 坐标区域
*/
private String areaMarks;
/**
* 中心点位
*/
private String centerMark;
/**
* 党工委|街道党委的位置预留字段
*/
private String partyMark;
/**
* 机关级别社区级community 街道:street, 区县级: district, 市级: city 省级:province
*/
private String level;
/**
* 行政地区编码
*/
private String areaCode;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
*/
private String dataEndTime;
}

51
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerDeptDTO.java

@ -0,0 +1,51 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 016部门信息上传
*
* @Authorliuchuang
* @Date2020/9/17 14:21
*/
@Data
public class ScreenCustomerDeptDTO implements Serializable {
private static final long serialVersionUID = 238736591085431241L;
/**
* 部门id
*/
private String deptId;
/**
* 部门名称
*/
private String deptName;
/**
* 部门所属组织id
*/
private String parentAgencyId;
/**
* 坐标区域可空
*/
private String areaMarks;
/**
* 中心点位
*/
private String centerMark;
/**
* 部门所在位置
*/
private String deptMark;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
*/
private String dataEndTime;
}

56
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerGridDTO.java

@ -0,0 +1,56 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 015网格信息上传
*
* @Authorliuchuang
* @Date2020/9/17 14:21
*/
@Data
public class ScreenCustomerGridDTO implements Serializable {
private static final long serialVersionUID = -4022109191573880390L;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 网格所属组织id
*/
private String parentAgencyId;
/**
* 坐标区域可空
*/
private String areaMarks;
/**
* 中心点位
*/
private String centerMark;
/**
* 党支部的位置
*/
private String partyMark;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
*/
private String dataEndTime;
/**
* 所有上级ID用英文逗号分开(8.26新增)
*/
private String allParentIds;
}

29
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataDateDTO.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2020/9/10 14:51
*/
@Data
public class ScreenDataDateDTO implements Serializable {
private static final long serialVersionUID = 8161588041384645877L;
/**
* 当为true时后台将先删除当前维度的数据后新增
*/
private Boolean isFirst;
/**
* 日期Id, 数据更新至yyyyMMdd
*/
private String dateId;
/**
* 上报数据
*/
private Object dataList;
}

29
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataMonthDTO.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2020/9/10 14:54
*/
@Data
public class ScreenDataMonthDTO implements Serializable {
private static final long serialVersionUID = 7415907980705272754L;
/**
* 当为true时后台将删除本月数据
*/
private Boolean isFirst;
/**
* yyyyMM
*/
private String monthId;
/**
* 上报数据
*/
private Object dataList;
}

66
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGroupDetailDTO.java

@ -0,0 +1,66 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 18邻里党群-小组详情
*
* @Authorliuchuang
* @Date2020/9/14 14:38
*/
@Data
public class ScreenGroupDetailDTO implements Serializable {
private static final long serialVersionUID = 7564905593029547705L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 小组id
*/
private String groupId;
/**
* 群名称
*/
private String groupName;
/**
* 群主名称
*/
private String groupLeader;
/**
* 群成员数
*/
private Integer memberCount;
/**
* 话题总数
*/
private Integer topicCount;
/**
* 转为议题的话题数
*/
private Integer shiftIssueCount;
}

61
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGroupSummaryDTO.java

@ -0,0 +1,61 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 17邻里党群-各类总数汇总
*
* @Authorliuchuang
* @Date2020/9/14 14:06
*/
@Data
public class ScreenGroupSummaryDTO implements Serializable {
private static final long serialVersionUID = -8539209478864771556L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 社群总数
*/
private Integer groupCount;
/**
* 群成员总数
*/
private Integer memberCount;
/**
* 话题数量
*/
private Integer topicCount;
/**
* 话题参与量
*/
private Integer partiCount;
/**
* 话题转议题总数
*/
private Integer shiftIssueCount;
}

41
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGroupTopicTrendDTO.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 19邻里党群-话题参与趋势
*
* @Authorliuchuang
* @Date2020/9/14 14:52
*/
@Data
public class ScreenGroupTopicTrendDTO implements Serializable {
private static final long serialVersionUID = -2164297723861592814L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 话题数量(所在月新增话题数)
*/
private Integer topicCount;
}

14
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenIndexDataResultDTO.java

@ -0,0 +1,14 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2020/9/9 17:56
*/
@Data
public class ScreenIndexDataResultDTO implements Serializable {
private static final long serialVersionUID = 8275259571095325022L;
}

91
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenIssueSummaryDTO.java

@ -0,0 +1,91 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 2议题分析-各类总数
*
* @Authorliuchuang
* @Date2020/9/11 13:46
*/
@Data
public class ScreenIssueSummaryDTO implements Serializable {
private static final long serialVersionUID = 5942886188159488952L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 网格所属组织id
*/
private String parentAgencyId;
/**
* 上报总数
*/
private Integer reportCount;
/**
* 议题总数
*/
private Integer issueCount;
/**
* 待审核数
*/
private Integer pendingCount;
/**
* 已驳回数
*/
private Integer rejectedCount;
/**
* 处理中数
*/
private Integer processingCount;
/**
* 已关闭数
*/
private Integer closedCount;
/**
* 议题浏览数
*/
private Integer issueViewCount;
/**
* 表态数
*/
private Integer voteCount;
/**
* 审核通过数
*/
private Integer passedCount;
/**
* 转化成项目数
*/
private Integer shiftToProjectCount;
/**
* 平均审核时间单位分钟
*/
private Integer avgAuditTime;
}

41
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenIssueTrendDTO.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 3议题分析-参与趋势
*
* @Authorliuchuang
* @Date2020/9/11 14:35
*/
@Data
public class ScreenIssueTrendDTO implements Serializable {
private static final long serialVersionUID = -7104188121272264513L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 网格所属的组织id
*/
private String parentAgencyId;
/**
* 议题上报数本月内上报的议题数量
*/
private Integer reportCount;
}

46
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenNewsCategoryAnalysisDTO.java

@ -0,0 +1,46 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 16党建声音-新闻按类别统计
*
* @Authorliuchuang
* @Date2020/9/14 13:22
*/
@Data
public class ScreenNewsCategoryAnalysisDTO implements Serializable {
private static final long serialVersionUID = -3611949491638287420L;
/**
* 类别id
*/
private String categoryId;
/**
* 类别名称
*/
private String categoryName;
/**
* 新闻的数量
*/
private Integer newsCount;
/**
* 阅读的数量
*/
private Integer readCount;
/**
* 点赞的数量
*/
private Integer likeCount;
/**
* 点踩的数量
*/
private Integer disLikeCount;
}

31
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenNewsHotRankDTO.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 15党建声音-热度新闻排行
*
* @Authorliuchuang
* @Date2020/9/14 11:05
*/
@Data
public class ScreenNewsHotRankDTO implements Serializable {
private static final long serialVersionUID = 8507415539266941564L;
/**
* 新闻id
*/
private String newsId;
/**
* 新闻标题
*/
private String newsTitle;
/**
* 热点值
*/
private String hotCount;
}

36
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenNewsSummaryDTO.java

@ -0,0 +1,36 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 13党建声音-新闻各类总数汇总
*
* @Authorliuchuang
* @Date2020/9/14 10:13
*/
@Data
public class ScreenNewsSummaryDTO implements Serializable {
private static final long serialVersionUID = 7961619640730859432L;
/**
* 文章总数
*/
private Integer newsCount;
/**
* 阅读量
*/
private Integer readCount;
/**
* 点赞量
*/
private Integer likeCount;
/**
* 评论量
*/
private Integer commentCount;
}

81
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenPartyUserRankDataDTO.java

@ -0,0 +1,81 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 09党建引领|基层治理-居民党员积分排行榜
*
* @Authorliuchuang
* @Date2020/9/14 17:07
*/
@Data
public class ScreenPartyUserRankDataDTO implements Serializable {
private static final long serialVersionUID = -5800593872294431566L;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd
*/
private String dataEndTime;
/**
* 组织类别 agency组织部门department网格grid
*/
private String orgType;
/**
* 用户所属网格id
*/
private String gridId;
/**
* 用户所属网格名称
*/
private String gridName;
/**
* 网格所属的组织id
*/
private String orgId;
/**
* 网格所属的组织名称
*/
private String orgName;
/**
* 是否是党员标志1是0不是党员
*/
private String partyFlag;
/**
* 用户Id
*/
private String userId;
/**
* 用户名称
*/
private String userName;
/**
* 用户积分
*/
private Integer pointTotal;
/**
*
*/
private String surname;
/**
*
*/
private String name;
/**
* 所有上级ID用英文逗号分开(8.26新增)
*/
private String allParentIds;
}

51
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenProjectCategorySummaryDTO.java

@ -0,0 +1,51 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 11项目分析-按分类统计
*
* @Authorliuchuang
* @Date2020/9/12 15:38
*/
@Data
public class ScreenProjectCategorySummaryDTO implements Serializable {
private static final long serialVersionUID = -4004562661922372015L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 类别id
*/
private String categoryId;
/**
* 分类名称
*/
private String categoryName;
/**
* 项目数量
*/
private Integer projectCount;
}

51
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenProjectStatisticAnalysisDTO.java

@ -0,0 +1,51 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 12项目分析-满意度分析
*
* @Authorliuchuang
* @Date2020/9/14 9:57
*/
@Data
public class ScreenProjectStatisticAnalysisDTO implements Serializable {
private static final long serialVersionUID = -7406618652293799485L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 非常满意的项目总数增量
*/
private Integer greatSatisfaction;
/**
* 满意的项目总数增量
*/
private Integer goodSatisfaction;
/**
* 不满意的项目总数
*/
private Integer disSatisfaction;
}

76
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenProjectSummaryDTO.java

@ -0,0 +1,76 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 10项目分析-各类总数
*
* @Authorliuchuang
* @Date2020/9/12 14:44
*/
@Data
public class ScreenProjectSummaryDTO implements Serializable {
private static final long serialVersionUID = -6290744006612398408L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 项目总数
*/
private Integer projectCount;
/**
* 处理中数
*/
private Integer processingCount;
/**
* 已关闭数
*/
private Integer closedCount;
/**
* 流转次数
*/
private Integer moveCount;
/**
* 已结案数量
*/
private Integer closedCaseCount;
/**
* 项目浏览数
*/
private Integer projectViewCount;
/**
* 项目表态数
*/
private Integer voteCount;
/**
* 平均结案时间 单位分钟
*/
private Integer avgClosedCaseTime;
}

14
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenPublicDataResultDTO.java

@ -0,0 +1,14 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2020/9/17 14:14
*/
@Data
public class ScreenPublicDataResultDTO implements Serializable {
private static final long serialVersionUID = -4696640703716250973L;
}

91
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenUserSummaryDTO.java

@ -0,0 +1,91 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 4用户分析-各类总数
*
* @Authorliuchuang
* @Date2020/9/11 15:34
*/
@Data
public class ScreenUserSummaryDTO implements Serializable {
private static final long serialVersionUID = -5366871130882672633L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 网格所属的组织id
*/
private String parentAgencyId;
/**
* 浏览用户首页的用户总数原型上首页是叫注册用户
*/
private Integer visitorCount;
/**
* 注册用户=居民数量
*/
private Integer regUserCount;
/**
* 党员用户
*/
private Integer partyCount;
/**
* 小于20岁的党员总人数
*/
private Integer ageLevel1;
/**
* 20-30岁的党员总人数
*/
private Integer ageLevel2;
/**
* 31-40岁的党员总人数
*/
private Integer ageLevel3;
/**
* 41-50岁的党员总人数
*/
private Integer ageLevel4;
/**
* 51-60岁的党员总人数
*/
private Integer ageLevel5;
/**
* 60+岁的党员总人数
*/
private Integer ageLevel6;
/**
* 党员中男性总人数
*/
private Integer malePartyUserCount;
/**
* 党员中女性总人数
*/
private Integer femalePartyUserCount;
}

49
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenUserUserHeartRankDTO.java

@ -0,0 +1,49 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 6用户分析-用户趋势
*
* @Authorliuchuang
* @Date2020/9/11 17:49
*/
@Data
public class ScreenUserUserHeartRankDTO implements Serializable {
private static final long serialVersionUID = 6419976480696892359L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 本月内新增用户数量
*/
private Integer regUserCount;
/**
* 本月内新增党员数量
*/
private Integer partyUserCount;
}

61
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenVolunteerHeartRank.java

@ -0,0 +1,61 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* 5公益互助-志愿者公益时长排名
*
* @Authorliuchuang
* @Date2020/9/11 16:13
*/
@Data
public class ScreenVolunteerHeartRank implements Serializable {
private static final long serialVersionUID = 9071001836611815322L;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
/**
* 网格id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 所属的组织id
*/
private String parentAgencyId;
/**
* 用户id志愿者
*/
private String userId;
/**
* 用户志愿者姓名或者山东路-王先生根据需求定
*/
private String userName;
/**
* 爱心时长 单位分钟
*/
private Integer heartTime;
/**
* 积分
*/
private Integer points;
/**
* 志愿者ID
*/
private String volunteerId;
}

129
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenIndexDataController.java

@ -0,0 +1,129 @@
package com.elink.esua.epdc.modules.screen.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.modules.screen.service.ScreenIndexDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 大屏指标信息上报
*
* @Authorliuchuang
* @Date2020/9/9 17:42
*/
@RestController
@RequestMapping("data/stats/indexcollect")
public class ScreenIndexDataController {
@Autowired
private ScreenIndexDataService screenIndexDataService;
/**
* 01党建能力-党员相关指标上报
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("gridpartymemberdata")
public Result gridPartyMemberData(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.gridPartyMemberData(formDto.getYearMonth());
}
/**
* 02党建能力-网格相关指标上报
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("gridpartyability")
public Result gridPartyAbility(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.gridPartyAbility(formDto.getYearMonth());
}
/**
* 03党建能力-区街道及社区相关指标
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("orgpartyability")
public Result orgPartyAbility(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.orgPartyAbility(formDto.getYearMonth());
}
/**
* 04服务能力-网格相关指标
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("gridserviceability")
public Result gridServiceAbility(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.gridServiceAbility(formDto.getYearMonth());
}
/**
* 05服务能力-组织街道|社区|全区相关指标
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("orgserviceability")
public Result orgServiceAbility(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.orgServiceAbility(formDto.getYearMonth());
}
/**
* 06治理能力-网格相关指标
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("gridgovrnability")
public Result gridGovernAbility(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.gridGovernAbility(formDto.getYearMonth());
}
/**
* 07治理能力-区街道及社区相关指标
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("orggovrnability")
public Result orgGovernAbility(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.orgGovernAbility(formDto.getYearMonth());
}
/**
* 08治理能力-部门相关指标
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("deptgovrnability")
public Result deptGovernAbility(@RequestBody ScreenJobFormDTO formDto) {
return screenIndexDataService.deptGovernAbility(formDto.getYearMonth());
}
}

96
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenIndexDataDao.java

@ -0,0 +1,96 @@
package com.elink.esua.epdc.modules.screen.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.screen.result.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Authorliuchuang
* @Date2020/9/9 18:03
*/
@Mapper
public interface ScreenIndexDataDao extends BaseDao<ScreenIndexDataResultDTO> {
/**
* 01党建能力-党员相关指标上报
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridPartyMemberDataDetailDTO>
* @Author zhangyong
* @Date 16:15 2020-09-14
**/
List<GridPartyMemberDataDetailDTO> selectListGridPartyMemberData(@Param("yearMonth") String yearMonth);
/**
* 02党建能力-网格相关指标上报
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridPartyAbilityDTO>
* @Author zhangyong
* @Date 15:08 2020-09-14
*/
List<GridPartyAbilityDTO> selectListGridPartyAbility(@Param("yearMonth") String yearMonth);
/**
* 03党建能力-区街道及社区相关指标
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.OrgPartyAbilityDTO>
* @Author zhangyong
* @Date 09:14 2020-09-15
**/
List<OrgPartyAbilityDTO> selectListOgPartyAbility(@Param("yearMonth") String yearMonth);
/**
* 04服务能力-网格相关指标
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridServiceAbilityDTO>
* @Author zhangyong
* @Date 09:14 2020-09-15
**/
List<GridServiceAbilityDTO> selectListGridServiceAbility(@Param("yearMonth") String yearMonth);
/**
* 05服务能力-组织街道|社区|全区相关指标
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.OrgServiceAbilityDTO>
* @Author zhangyong
* @Date 09:14 2020-09-15
**/
List<OrgServiceAbilityDTO> selectListOrgServiceAbility(@Param("yearMonth") String yearMonth);
/**
* 06治理能力-网格相关指标
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.GridGovrnAbilityDTO>
* @Author zhangyong
* @Date 09:14 2020-09-15
**/
List<GridGovrnAbilityDTO> selectListGridGovrnAbility(@Param("yearMonth") String yearMonth);
/**
* 07治理能力-街道及社区相关指标
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.OrgGovrnAbilityDTO>
* @Author zhangyong
* @Date 09:14 2020-09-15
**/
List<OrgGovrnAbilityDTO> selectListOrgGovrnAbility(@Param("yearMonth") String yearMonth);
/**
* 08治理能力-部门相关指标
*
* @param yearMonth
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.DeptGovrnAbilityDTO>
* @Author zhangyong
* @Date 09:14 2020-09-15
**/
List<DeptGovrnAbilityDTO> selectListDeptGovrnAbility(@Param("yearMonth") String yearMonth);
}

102
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenIndexDataService.java

@ -0,0 +1,102 @@
package com.elink.esua.epdc.modules.screen.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
/**
* 大屏指标信息上报
*
* @Authorliuchuang
* @Date2020/9/9 18:04
*/
public interface ScreenIndexDataService {
/**
* 01党建能力-党员相关指标上报
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result gridPartyMemberData(String yearMonth);
/**
* 02党建能力-网格相关指标上报
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result gridPartyAbility(String yearMonth);
/**
* 03党建能力-区街道及社区相关指标
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result orgPartyAbility(String yearMonth);
/**
* 04服务能力-网格相关指标
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result gridServiceAbility(String yearMonth);
/**
* 05服务能力-组织街道|社区|全区相关指标
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result orgServiceAbility(String yearMonth);
/**
* 06治理能力-网格相关指标
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result gridGovernAbility(String yearMonth);
/**
* 07治理能力-区街道及社区相关指标
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result orgGovernAbility(String yearMonth);
/**
* 08治理能力-部门相关指标
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
Result deptGovernAbility(String yearMonth);
/**
* 指标数据传输完毕通知接口
*
* @param yearMonth
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/17 10:27
*/
Result all(String yearMonth);
}

248
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenIndexDataServiceImpl.java

@ -0,0 +1,248 @@
package com.elink.esua.epdc.modules.screen.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.EpmetConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.result.*;
import com.elink.esua.epdc.modules.screen.dao.ScreenIndexDataDao;
import com.elink.esua.epdc.modules.screen.service.ScreenIndexDataService;
import com.elink.esua.epdc.utils.EpmetUtils;
import com.elink.esua.epdc.utils.ScreenDataUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @Authorliuchuang
* @Date2020/9/9 18:05
*/
@Service
public class ScreenIndexDataServiceImpl extends BaseServiceImpl<ScreenIndexDataDao, ScreenIndexDataResultDTO> implements ScreenIndexDataService {
@Autowired
private EpmetUtils epmetUtils;
@Override
public Result gridPartyMemberData(String yearMonth) {
// 如果统计月份为空,则统计当前月的数据
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
// 数据统计
List<GridPartyMemberDataDetailDTO> data = baseDao.selectListGridPartyMemberData(yearMonth);
List<List<GridPartyMemberDataDetailDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_GRID_PARTY_MEMBER_DATA, dataJson);
}
}
return new Result();
}
@Override
public Result gridPartyAbility(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
List<GridPartyAbilityDTO> data = baseDao.selectListGridPartyAbility(yearMonth);
List<List<GridPartyAbilityDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_GRID_PARTY_ABILITY, dataJson);
}
}
return new Result();
}
@Override
public Result orgPartyAbility(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
List<OrgPartyAbilityDTO> data= baseDao.selectListOgPartyAbility(yearMonth);
List<List<OrgPartyAbilityDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_ORG_PARTY_ABILITY, dataJson);
}
}
return new Result();
}
@Override
public Result gridServiceAbility(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
List<GridServiceAbilityDTO> data= baseDao.selectListGridServiceAbility(yearMonth);
List<List<GridServiceAbilityDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_GRID_SERVICE_ABILITY, dataJson);
}
}
return new Result();
}
@Override
public Result orgServiceAbility(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
List<OrgServiceAbilityDTO> data= baseDao.selectListOrgServiceAbility(yearMonth);
List<List<OrgServiceAbilityDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_ORG_SERVICE_ABILITY, dataJson);
}
}
return new Result();
}
@Override
public Result gridGovernAbility(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
List<GridGovrnAbilityDTO> data= baseDao.selectListGridGovrnAbility(yearMonth);
List<List<GridGovrnAbilityDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_GRID_GOVERN_ABILITY, dataJson);
}
}
return new Result();
}
@Override
public Result orgGovernAbility(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
List<OrgGovrnAbilityDTO> data= baseDao.selectListOrgGovrnAbility(yearMonth);
List<List<OrgGovrnAbilityDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_ORG_GOVERN_ABILITY, dataJson);
}
}
return new Result();
}
@Override
public Result deptGovernAbility(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
List<DeptGovrnAbilityDTO> data= baseDao.selectListDeptGovrnAbility(yearMonth);
List<List<DeptGovrnAbilityDTO>> formList = fixedGrouping(data, NumConstant.ONE_THOUSAND);
if (formList != null && formList.size() > NumConstant.ZERO) {
for (int i = NumConstant.ZERO; i < formList.size(); i++) {
String dataJson = "";
// 数据格式化
if (i == NumConstant.ZERO) {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, true);
} else {
dataJson = ScreenDataUtils.getScreenDataMonthJson(formList.get(i), yearMonth, false);
}
// 数据上报
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_COLLECT_DEPT_GOVERN_ABILITY, dataJson);
}
}
return new Result();
}
@Override
public Result all(String yearMonth) {
yearMonth = StringUtils.isEmpty(yearMonth) ? DateUtils.formatYearMonth(new Date()) : yearMonth;
JSONObject object = new JSONObject();
object.put("monthId", yearMonth.replace("-", ""));
epmetUtils.httpPost(EpmetConstant.EPMET_INDEX_CALCULATE_ALL, JSONObject.toJSONString(object));
return new Result();
}
/**
* 将一组数据固定分组每组n个元素
*
* @param source 要分组的数据源
* @param n 每组n个元素
* @param <T>
* @return
*/
public static <T> List<List<T>> fixedGrouping(List<T> source, int n) {
if (null == source || source.size() == 0 || n <= 0){
return null;
}
List<List<T>> result = new ArrayList<List<T>>();
int remainder = source.size() % n;
int size = (source.size() / n);
for (int i = 0; i < size; i++) {
List<T> subset = null;
subset = source.subList(i * n, (i + 1) * n);
result.add(subset);
}
if (remainder > 0) {
List<T> subset = null;
subset = source.subList(size * n, size * n + remainder);
result.add(subset);
}
return result;
}
}

61
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java

@ -0,0 +1,61 @@
package com.elink.esua.epdc.utils;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.dto.screen.result.ScreenDataDateDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenDataMonthDTO;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;
/**
* 大屏上报数据JSON处理
*
* @Authorliuchuang
* @Date2020/9/10 15:07
*/
public class ScreenDataUtils {
/**
* 数据更新至事件为天类型
*
* @param data 数据
* @param isFirst 是否首次
* @return java.lang.String
* @author Liuchuang
* @since 2020/9/10 15:55
*/
public static String getScreenDataDateJson(Object data, Boolean isFirst) {
// 获取当前时间 yyyy-MM-dd
String dateId = DateUtils.format(new Date());
ScreenDataDateDTO dateDto = new ScreenDataDateDTO();
dateDto.setIsFirst(isFirst);
dateDto.setDateId(dateId.replace("-", ""));
dateDto.setDataList(data);
return JSONObject.toJSONString(dateDto);
}
/**
* 数据更新至事件为月类型
*
* @param data 数据
* @param dateId 日期字符串
* @param isFirst 是否首次
* @return java.lang.String
* @author Liuchuang
* @since 2020/9/10 15:55
*/
public static String getScreenDataMonthJson(Object data, String dateId, Boolean isFirst) {
if (StringUtils.isEmpty(dateId)) {
// 获取当前时间 yyyy-MM
dateId = DateUtils.formatYearMonth(new Date());
}
ScreenDataMonthDTO dateDto = new ScreenDataMonthDTO();
dateDto.setIsFirst(isFirst);
dateDto.setMonthId(dateId.replace("-", ""));
dateDto.setDataList(data);
return JSONObject.toJSONString(dateDto);
}
}

583
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenIndexDataDao.xml

@ -0,0 +1,583 @@
<?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.elink.esua.epdc.modules.screen.dao.ScreenIndexDataDao">
<select id="selectListGridPartyMemberData" resultType="com.elink.esua.epdc.dto.screen.result.GridPartyMemberDataDetailDTO">
SELECT
d.PID AS agencyId,
us.id AS userId,
d.id AS gridId,
co.PID as parentId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
IFNULL( top.createTopicCount, 0 ) AS createTopicCount,
IFNULL( creTop.createTopicCount, 0 ) AS joinTopicCount,
IFNULL( iss.shiftIssueCount, 0 ) AS shiftIssueCount,
IFNULL( ite.shiftProjectCount, 0 ) AS shiftProjectCount,
IFNULL( tti.topicToIssueRatio, 0.00 ) AS topicToIssueRatio,
IFNULL( partyGroup.groupUserCount, 0 ) AS groupUserCount,
IFNULL( partyGroup.groupTopicCount, 0 ) AS groupTopicCount,
IFNULL( partyGroup.groupActiveUserCount, 0 ) AS groupActiveUserCount,
0 joinThreeMeetsCount
FROM
esua_epdc_admin.sys_dept d
LEFT JOIN esua_epdc_admin.sys_dept co on co.id=d.pid
LEFT JOIN esua_epdc_user.epdc_user us ON us.DEPT_ID = d.id
LEFT JOIN (
SELECT
USER_ID,
count( et.id ) AS createTopicCount
FROM esua_epdc_group.epdc_topic et
WHERE
et.DEL_FLAG = '0'
AND et.PARTY_MEMBER = '1'
AND date_format( et.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY et.USER_ID
) top ON top.USER_ID = us.id
LEFT JOIN (
SELECT
USER_ID,
count( et.id ) AS createTopicCount
FROM esua_epdc_group.epdc_topic_comment et
WHERE
et.DEL_FLAG = '0'
AND et.PARTY_FLAG = '1'
AND date_format( et.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY et.USER_ID
) creTop ON creTop.USER_ID = us.id
LEFT JOIN (
SELECT
USER_ID,
count( et.id ) AS shiftIssueCount
FROM
esua_epdc_group.epdc_topic et
WHERE
et.DEL_FLAG = '0'
AND et.PARTY_MEMBER = '1'
AND date_format( et.UPDATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
AND et.STATE IN (10, 15)
GROUP BY et.USER_ID
) iss ON iss.USER_ID = us.id
LEFT JOIN (
SELECT
USER_ID,
count( et.id ) AS shiftProjectCount
FROM
esua_epdc_events.epdc_item et
WHERE
et.DEL_FLAG = '0'
AND et.IS_PARTY_MEMBER = '1'
AND date_format( et.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY et.USER_ID
) ite ON ite.USER_ID = us.id
LEFT JOIN (
SELECT
USER_ID,
round( ( count( ISSUE_STATE = 4 ) / count( id ) ) * 100, 2 ) AS topicToIssueRatio
FROM
esua_epdc_events.epdc_issue ei
WHERE
DEL_FLAG = '0'
AND ei.IS_PARTY_MEMBER = '1'
GROUP BY USER_ID
) tti ON tti.USER_ID = us.id
LEFT JOIN (
SELECT
meGroup.USER_ID,
SUM( IFNULL( userCount.userCount, 0 ) ) AS groupUserCount,
SUM( IFNULL( topic.topicCount, 0 ) ) AS groupTopicCount,
SUM( IFNULL( ga.groupActiveUserCount, 0 ) ) AS groupActiveUserCount
FROM (
SELECT
eg.id AS GROUP_ID,
eug.USER_ID
FROM
esua_epdc_group.epdc_group eg
LEFT JOIN esua_epdc_group.epdc_user_group eug ON eug.GROUP_ID = eg.id
WHERE
eg.DEL_FLAG = '0' AND eug.LORD_FLAG = '1' AND eg.STATE = 10
GROUP BY eg.id
) meGroup
LEFT JOIN(
SELECT GROUP_ID, count( id ) AS userCount
FROM esua_epdc_group.epdc_user_group WHERE DEL_FLAG = '0' AND STATE = 10 GROUP BY GROUP_ID
) userCount ON userCount.GROUP_ID = meGroup.GROUP_ID
LEFT JOIN (
SELECT
GROUP_ID, count( id ) AS topicCount
FROM
esua_epdc_group.epdc_topic
WHERE
DEL_FLAG = '0'
AND date_format( CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY GROUP_ID
) topic ON topic.GROUP_ID = meGroup.GROUP_ID
LEFT JOIN (
SELECT
GROUP_ID,
count( USER_ID ) AS groupActiveUserCount
FROM (
SELECT
USER_ID, GROUP_ID
FROM (
SELECT
eg.id AS GROUP_ID,
et.USER_ID
FROM
esua_epdc_group.epdc_group eg
LEFT JOIN esua_epdc_group.epdc_topic et ON et.GROUP_ID = eg.id
WHERE
eg.DEL_FLAG = '0'
AND eg.STATE = 10
AND et.DEL_FLAG = '0'
AND date_format( et.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
UNION
SELECT
eg.id AS GROUP_ID,
etc.USER_ID
FROM
esua_epdc_group.epdc_group eg
LEFT JOIN esua_epdc_group.epdc_topic et ON et.GROUP_ID = eg.id
LEFT JOIN esua_epdc_group.epdc_topic_comment etc ON etc.TOPIC_ID = et.id
WHERE
eg.DEL_FLAG = '0'
AND eg.STATE = 10
AND et.DEL_FLAG = '0'
AND etc.DEL_FLAG = '0'
AND date_format( etc.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
UNION
SELECT
eg.id AS GROUP_ID,
cua.USER_ID
FROM
esua_epdc_group. epdc_group eg
LEFT JOIN esua_epdc_group.epdc_topic et ON et.GROUP_ID = eg.id
LEFT JOIN esua_epdc_group.epdc_topic_comment etc ON etc.TOPIC_ID = et.id
LEFT JOIN esua_epdc_group.epdc_topic_comment_user_attitude cua ON cua.COMMENT_ID = etc.id
WHERE
eg.DEL_FLAG = '0'
AND eg.STATE = 10
AND et.DEL_FLAG = '0'
AND etc.DEL_FLAG = '0'
AND cua.DEL_FLAG = '0'
AND date_format( cua.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
) dis
) total
GROUP BY GROUP_ID
) ga ON ga.GROUP_ID = meGroup.GROUP_ID
GROUP BY meGroup.USER_ID
) partyGroup ON partyGroup.USER_ID = us.id
WHERE
d.TYPE_KEY = 'grid_party'
AND d.DEL_FLAG = '0'
AND us.DEL_FLAG = '0'
AND us.PARTY_FLAG = '1'
AND d.id NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
ORDER BY d.TYPE_KEY
</select>
<select id="selectListGridPartyAbility" resultType="com.elink.esua.epdc.dto.screen.result.GridPartyAbilityDTO">
SELECT
sd.PID agencyId,
sd.ID gridId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
IFNULL((users.userNum - users.partyNum),0) userCount,
IFNULL(users.partyNum,0) partyCount,
0 activeUserCount,
0 activePartyCount,
ROUND(IFNULL(topic.topNum / users.partyNum,0),2) partyAvgTopicCount,
ROUND(IFNULL(topic.topNum / (users.userNum - users.partyNum),0),2) userAvgTopicCount,
ROUND(IFNULL(ite.partyToItemNum / users.partyNum,0),2) partyAvgShiftProjectCount,
ROUND(IFNULL(ite.userToItemNum / (users.userNum - users.partyNum),0),2) userAvgShiftProjectCount,
IFNULL(groupUser.createGroupPartyCount,0) createGroupPartyCount,
IFNULL(new.newNum,0) publishArticleCount,
ROUND(IFNULL((ite.partyToItemNum + ite.userToItemNum) / issue.issNum,0),4) * 100 issueToProjectRatio,
0 createThreeMeetsCount,
0 joinThreeMeetsCount
FROM esua_epdc_admin.sys_dept sd
LEFT JOIN (
SELECT
count(*) userNum,
count(uu.PARTY_FLAG = '1' OR NULL) partyNum,
uu.DEPT_ID
FROM esua_epdc_user.epdc_user uu
WHERE uu.DEL_FLAG = '0'
GROUP BY uu.DEPT_ID
) users ON ( users.DEPT_ID = sd.ID )
LEFT JOIN (
SELECT
top.GRID_ID,
count(*) topNum
FROM esua_epdc_group.epdc_topic top
LEFT JOIN esua_epdc_events.epdc_issue mei ON mei.TOPIC_ID = top.ID AND mei.DEL_FLAG = '0'
WHERE top.DEL_FLAG = '0'
and date_format(top.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY top.GRID_ID
) topic ON topic.GRID_ID = sd.ID
LEFT JOIN (
SELECT
GRID_ID,
count(et.IS_PARTY_MEMBER = '1' OR NULL) partyToItemNum,
count(et.IS_PARTY_MEMBER = '0' OR NULL) userToItemNum
FROM
esua_epdc_events.epdc_item et
WHERE
et.DEL_FLAG = '0'
AND date_format( et.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY et.GRID_ID
) ite ON ite.GRID_ID = sd.ID
LEFT JOIN (
SELECT
count(*) createGroupPartyCount,
cg.DEPT_ID
FROM (
SELECT
g.GRID_ID DEPT_ID,
ug.USER_ID,count(*) createGroupNum
FROM esua_epdc_group.epdc_group g
LEFT JOIN esua_epdc_group.epdc_user_group ug ON ug.GROUP_ID = g.ID AND ug.DEL_FLAG = '0' AND ug.LORD_FLAG = '1' AND ug.PARTY_MEMBER = '1'
WHERE g.DEL_FLAG = '0' AND ug.USER_ID IS NOT NULL
GROUP BY ug.USER_ID
) cg GROUP BY cg.DEPT_ID
) groupUser on groupUser.DEPT_ID = sd.ID
LEFT JOIN (
SELECT count(*) newNum , n.DEPT_ID
FROM esua_epdc_news.epdc_news n
WHERE n.DEL_FLAG = '0' AND n.NEWS_RELEASE_STATE = '0' AND n.NEWS_UP_DOWN_STATE = '0'
and date_format(n.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY n.DEPT_ID
) new ON new.DEPT_ID = sd.ID
LEFT JOIN (
SELECT
iss.GRID_ID,
count(*) issNum
FROM esua_epdc_events.epdc_issue iss
WHERE iss.DEL_FLAG = '0'
and date_format(iss.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY iss.GRID_ID
) issue ON issue.GRID_ID = sd.ID
WHERE
sd.DEL_FLAG = '0'
AND sd.id IS NOT NULL
AND sd.id NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
AND sd.TYPE_KEY = 'grid_party'
</select>
<select id="selectListOgPartyAbility" resultType="com.elink.esua.epdc.dto.screen.result.OrgPartyAbilityDTO">
SELECT
d.id AS agencyId,
d.PID AS parentId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
CASE d.TYPE_KEY
WHEN 'community_party' THEN 'community'
WHEN 'street_party' THEN 'street'
WHEN 'district_party' THEN 'district' END AS dataType,
IFNULL(news.publishArticleCount, 0) AS publishArticleCount
FROM esua_epdc_admin.sys_dept d
LEFT JOIN (SELECT
DEPT_ID,
count(ID) publishArticleCount
FROM esua_epdc_news.epdc_news
where DEL_FLAG='0'
AND NEWS_RELEASE_STATE = '0'
AND NEWS_UP_DOWN_STATE = '0'
AND date_format(CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY DEPT_ID)news on news.DEPT_ID=d.id
WHERE (d.TYPE_KEY = 'community_party' OR d.TYPE_KEY = 'street_party' OR d.TYPE_KEY = 'district_party')
AND d.DEL_FLAG=0
AND d.id NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
ORDER BY d.TYPE_KEY
</select>
<select id="selectListGridServiceAbility" resultType="com.elink.esua.epdc.dto.screen.result.GridServiceAbilityDTO">
select
sd.PID agencyId,
sd.ID gridId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
IFNULL(act.actNum ,0) activityCount,
ROUND(IFNULL(IFNULL(actInfo.volunteerNum,0) / IFNULL(actInfo.userNum,0),0),4) * 100 volunteerRatio,
ROUND(IFNULL(IFNULL(actInfo.partyVolunteerNum,0) / IFNULL(actInfo.volunteerNum,0),0),4) * 100 partyVolunteerRatio
from esua_epdc_admin.sys_dept sd
left join (
select
DEPT_ID,
count(*) actNum
from esua_epdc_mutuality.epdc_act_info
where DEL_FLAG = '0'
and ACT_STATUS = '1'
and SIGNUP_END_TIME &lt;= now()
and date_format(CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY DEPT_ID
) act on act.DEPT_ID = sd.ID
left join (
select
deptAct.DEPT_ID,
IFNULL(sum(deptAct.volunteerNum),0) volunteerNum,
IFNULL(sum(deptAct.partyVolunteerNum),0) partyVolunteerNum,
IFNULL(sum(deptAct.userNum),0) userNum
from(
select
act.DEPT_ID,
act.ID,
count(*) userNum,
count((vol.AUDIT_STATUS = '1' or vol.AUDIT_STATUS = '0') or null) volunteerNum,
count(((vol.AUDIT_STATUS = '1' or vol.AUDIT_STATUS = '0') and ur.PARTY_FLAG = '1') or null) partyVolunteerNum
from
esua_epdc_mutuality.epdc_act_info act
left join esua_epdc_mutuality.epdc_act_user_relation ur on ur.ACT_ID = act.ID and ur.DEL_FLAG = '0' and ur.`STATUS` = '1'
left join esua_epdc_user.epdc_volunteer_info vol on vol.USER_ID = ur.USER_ID and vol.DEL_FLAG = '0'
where act.DEL_FLAG = '0'
and act.ACT_STATUS = '1'
and act.SIGNUP_END_TIME &lt;= now()
and date_format(act.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
group by act.ID
) deptAct
group by deptAct.DEPT_ID
) actInfo on actInfo.DEPT_ID = sd.ID
where
sd.DEL_FLAG = '0'
and sd.id not in (
select t.DEPT_ID from `esua_epdc_admin`.`sys_dept_config` t where t.DEL_FLAG = '0'
)
and sd.TYPE_KEY = 'grid_party'
</select>
<select id="selectListOrgServiceAbility" resultType="com.elink.esua.epdc.dto.screen.result.OrgServiceAbilityDTO">
SELECT
sd.ID agencyId,
sd.PID parentId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
CASE sd.TYPE_KEY
WHEN 'community_party' THEN 'community'
WHEN 'street_party' THEN 'street'
WHEN 'district_party' THEN 'district' END AS dataType,
IFNULL(actInfo.actNum,0) activityCount
FROM esua_epdc_admin.sys_dept sd
LEFT JOIN (
SELECT
act.DEPT_ID,
count(*) actNum
FROM esua_epdc_mutuality.epdc_act_info act
WHERE
act.DEL_FLAG = '0'
AND act.ACT_STATUS = '1'
AND act.SIGNUP_END_TIME &lt;= now()
AND date_format(act.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
GROUP BY act.DEPT_ID
) actInfo on actInfo.DEPT_ID = sd.ID
WHERE
sd.DEL_FLAG = '0'
AND sd.id NOT IN (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
AND (sd.TYPE_KEY = 'community_party' OR sd.TYPE_KEY = 'street_party' OR sd.TYPE_KEY = 'district_party')
</select>
<select id="selectListGridGovrnAbility" resultType="com.elink.esua.epdc.dto.screen.result.GridGovrnAbilityDTO">
select
sd.PID agencyId,
sd.ID gridId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
IFNULL(issueCount.issueNum, 0) issueTotal,
ROUND(IFNULL(IFNULL(issueCount.issueNum, 0) / IFNULL(users.userNum, 0), 0), 2) avgIssueCount,
IFNULL(itemCount.itemNum, 0) projectTotal,
IFNULL(itemCount.itemCloseNum, 0) resolveProjectCount,
IFNULL(ROUND((IFNULL(itemCount.itemSatisfiedNum,0) * 0.6 + IFNULL(itemCount.itemVeryNum,0))
/ IFNULL(itemCount.itemCloseAndScoreNum,0),4),0) * 100 satisfactionRatio,
ROUND(IFNULL(IFNULL(itemCount.itemNum,0) / IFNULL(issueCount.issueNum,0),0),4) * 100 issueToProjectRatio,
IFNULL(itemCount.selfSolveProjectNum,0) selfSolveProjectCount,
0 transferRightRatio
from esua_epdc_admin.sys_dept sd
left join (
select
mei.GRID_ID DEPT_ID ,
count(*) issueNum
from esua_epdc_events.epdc_issue mei
where mei.DEL_FLAG = '0'
and date_format(mei.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
group by mei.GRID_ID
) issueCount on issueCount.DEPT_ID = sd.ID
left join (
select count(*) userNum,uu.DEPT_ID from esua_epdc_user.epdc_user uu where uu.DEL_FLAG = '0' group by uu.DEPT_ID
) users on users.DEPT_ID = sd.ID
left join (
select
item.GRID_ID DEPT_ID,
count(*) itemNum,
count((ide.deptCount = 1 and item.ITEM_STATE = 10) or null) selfSolveProjectNum,
count(item.ITEM_STATE = 10 or null) itemCloseNum,
count((item.ITEM_STATE = 10 and item.EVALUATION_SCORE is not null) or null) itemCloseAndScoreNum,
count((item.ITEM_STATE = 10 and item.EVALUATION_SCORE = 1) or null) itemSatisfiedNum,
count((item.ITEM_STATE = 10 and item.EVALUATION_SCORE = 2) or null) itemVeryNum
from esua_epdc_events.epdc_item item
left join (select count(*) as deptCount,ITEM_ID from esua_epdc_events.epdc_item_dept where DEL_FLAG = '0' group by ITEM_ID
) ide on ide.ITEM_ID = item.ID
where item.DEL_FLAG = '0'
and date_format(item.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
group by item.GRID_ID
) itemCount on itemCount.DEPT_ID = sd.ID
where
sd.DEL_FLAG = '0'
and sd.id not in (
select t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t where t.DEL_FLAG = '0'
)
and sd.TYPE_KEY = 'grid_party'
</select>
<select id="selectListOrgGovrnAbility" resultType="com.elink.esua.epdc.dto.screen.result.OrgGovrnAbilityDTO">
select
d.id as agencyId,
d.PID as parentId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
CASE d.TYPE_KEY
WHEN 'community_party' THEN 'community'
WHEN 'street_party' THEN 'street'
WHEN 'district_party' THEN 'district' END as dataType,
IFNULL(tr.transferedCount,0) AS transferedCount,
IFNULL(tr.closedProjectCount,0) AS closedProjectCount,
IFNULL(tr.respProjectRatio,0.00) AS respProjectRatio,
IFNULL(tr.closedProjectRatio,0.00) AS closedProjectRatio,
IFNULL(tr.satisfactionRatio,0.00) AS satisfactionRatio,
0.00 AS overdueProjectRatio,
IF( d.TYPE_KEY = 'street_party', IFNULL(tr.handleProjectRatio,0.00),0.00) AS handleProjectRatio
FROM esua_epdc_admin.sys_dept d
left join (
select
t.DEPT_ID,
sum(t.transferedCount) as transferedCount,
count( me.ITEM_STATE = 10 or null) as closedProjectCount,
round(sum(t.respProject) / sum(t.transferedCount),2) respProjectRatio,
round(count(me.ITEM_STATE = 10 or null)/count( t.ITEM_ID),4)*100 as closedProjectRatio,
IFNULL(ROUND((count(me.EVALUATION_SCORE = 1 or null) * 0.6 + count(me.EVALUATION_SCORE = 2 or null)) /
count(me.EVALUATION_SCORE is not null or null),4)*100, 0.00) as satisfactionRatio,
round(sum(TIMESTAMPDIFF(HOUR,me.CREATED_TIME,eih.CREATED_TIME)) / sum(t.transferedCount),2) as handleProjectRatio
from(
select
ei.DEPT_ID,
ei.ITEM_ID,
count(ei.ID) transferedCount,
sum(
if(hp.CREATED_TIME is not null, TIMESTAMPDIFF(HOUR,ei.CREATED_TIME,hp.CREATED_TIME),
TIMESTAMPDIFF(HOUR,ei.CREATED_TIME,now())
)
) respProject
from esua_epdc_events.epdc_item_dept ei
left join esua_epdc_events.epdc_item_handle_process hp on hp.id=ei.ITEM_HANDLE_ID and hp.DEL_FLAG = '0'
where ei.DEL_FLAG = '0'
and date_format(ei.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
group by ei.DEPT_ID,ei.ITEM_ID
)t
left join esua_epdc_events.epdc_item me on t.ITEM_ID=me.id and me.DEL_FLAG = '0'
left join esua_epdc_events.epdc_item_handle_process eih on eih.ITEM_ID=me.id
left join esua_epdc_events.epdc_category c ON me.CATEGORY_CODE = c.CATEGORY_CODE
group by t.DEPT_ID
)tr on tr.DEPT_ID=d.id
WHERE (d.TYPE_KEY = 'community_party' OR d.TYPE_KEY = 'street_party' OR d.TYPE_KEY = 'district_party')
and d.DEL_FLAG = '0'
and d.id not in (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
ORDER BY d.TYPE_KEY
</select>
<select id="selectListDeptGovrnAbility" resultType="com.elink.esua.epdc.dto.screen.result.DeptGovrnAbilityDTO">
select
d.id as deptId,
d.PID as agencyId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'),'%Y') AS yearId,
CONCAT(DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y'), '%Y'),
'Q',
QUARTER(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m-%d'))) quarterId,
DATE_FORMAT(STR_TO_DATE(#{yearMonth, jdbcType=VARCHAR}, '%Y-%m'),'%Y%m') AS monthId,
IFNULL(tr.transferedCount,0) AS transferedCount,
IFNULL(tr.closedProjectCount,0) AS closedProjectCount,
IFNULL(tr.respProjectRatio,0.00) AS respProjectRatio,
IFNULL(tr.closedProjectRatio,0.00) AS closedProjectRatio,
IFNULL(tr.satisfactionRatio,0.00) AS satisfactionRatio,
IFNULL(tr.handleProjectRatio,0.00) AS handleProjectRatio
FROM esua_epdc_admin.sys_dept d
left join (select
t.DEPT_ID,
sum(t.transferedCount) as transferedCount,
count( me.ITEM_STATE = 10 or null) as closedProjectCount,
round(sum(t.respProject) / sum(t.transferedCount),2) respProjectRatio,
round(count(me.ITEM_STATE = 10 or null)/count( t.ITEM_ID),4)*100 as closedProjectRatio,
IFNULL(ROUND((count(me.EVALUATION_SCORE = 1 or null) * 0.6 + count(me.EVALUATION_SCORE = 2 or null)) /
count(me.EVALUATION_SCORE is not null or null),4)*100, 0.00) as satisfactionRatio,
round(sum(TIMESTAMPDIFF(HOUR,me.CREATED_TIME,eih.CREATED_TIME)) / sum(t.transferedCount),2) as handleProjectRatio
from (
select ei.DEPT_ID,
ei.ITEM_ID,
count(ei.ID) transferedCount,
sum(if(hp.CREATED_TIME is not null,
TIMESTAMPDIFF(HOUR,ei.CREATED_TIME,hp.CREATED_TIME),
TIMESTAMPDIFF(HOUR,ei.CREATED_TIME,now()))) respProject
from esua_epdc_events.epdc_item_dept ei
left join esua_epdc_events.epdc_item_handle_process hp on hp.id=ei.ITEM_HANDLE_ID and hp.DEL_FLAG=0
where ei.DEL_FLAG = '0'
and date_format(ei.CREATED_TIME, '%Y-%m' ) = #{yearMonth, jdbcType=VARCHAR}
group by ei.DEPT_ID,ei.ITEM_ID
)t
left join esua_epdc_events.epdc_item me on t.ITEM_ID=me.id and me.DEL_FLAG = '0'
left join esua_epdc_events.epdc_item_handle_process eih on eih.ITEM_ID=me.id
LEFT JOIN esua_epdc_events.epdc_category c ON me.CATEGORY_CODE = c.CATEGORY_CODE
group by t.DEPT_ID
)tr on tr.DEPT_ID=d.id
WHERE d.TYPE_KEY = 'district_dept'
and d.DEL_FLAG = '0'
and d.id not in (
SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0'
)
ORDER BY d.TYPE_KEY
</select>
</mapper>

5
esua-epdc/epdc-module/epdc-job/epdc-job-client/pom.xml

@ -23,6 +23,11 @@
<artifactId>epdc-user-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-analysis-client</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>

61
esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenIndexBasicDataParamDTO.java

@ -0,0 +1,61 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
/**
* 大屏指标数据上报定时任务入参
*
* @Authorliuchuang
* @Date2020/9/15 10:50
*/
@Data
public class ScreenIndexBasicDataParamDTO implements Serializable {
private static final long serialVersionUID = -6661828243095315569L;
/**
* 01党建能力-党员相关指标上报 - 定时任务入参
*/
private String gridPartyMemberData;
/**
* 02党建能力-网格相关指标上报 - 定时任务入参
*/
private String gridPartyAbility;
/**
* 03党建能力-区街道及社区相关指标 - 定时任务入参
*/
private String orgPartyAbility;
/**
* 04服务能力-网格相关指标 - 定时任务入参
*/
private String gridServiceAbility;
/**
* 05服务能力-组织街道|社区|全区相关指标 - 定时任务入参
*/
private String orgServiceAbility;
/**
* 06治理能力-网格相关指标 - 定时任务入参
*/
private String gridGovernAbility;
/**
* 07治理能力-区街道及社区相关指标 - 定时任务入参
*/
private String orgGovernAbility;
/**
* 08治理能力-部门相关指标 - 定时任务入参
*/
private String deptGovernAbility;
/**
* 指标数据传输完毕通知接口
*/
private String all;
}

107
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java

@ -0,0 +1,107 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.feign.fallback.AnalysisFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* 数据分析模块调用
*
* @Authorliuchuang
* @Date2020/9/9 15:41
*/
@FeignClient(name = ServiceConstant.EPDC_ANALYSIS_SERVER, fallback = AnalysisFeignClientFallback.class)
public interface AnalysisFeignClient {
/**
* 01党建能力-党员相关指标上报
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/gridpartymemberdata")
Result gridPartyMemberData(ScreenJobFormDTO formDto);
/**
* 02党建能力-网格相关指标上报
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/gridpartyability")
Result gridPartyAbility(ScreenJobFormDTO formDto);
/**
* 03党建能力-区街道及社区相关指标
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/orgpartyability")
Result orgPartyAbility(ScreenJobFormDTO formDto);
/**
* 04服务能力-网格相关指标
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/gridserviceability")
Result gridServiceAbility(ScreenJobFormDTO formDto);
/**
* 05服务能力-组织街道|社区|全区相关指标
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/orgserviceability")
Result orgServiceAbility(ScreenJobFormDTO formDto);
/**
* 06治理能力-网格相关指标
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/gridgovrnability")
Result gridGovernAbility(ScreenJobFormDTO formDto);
/**
* 07治理能力-区街道及社区相关指标
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/orggovrnability")
Result orgGovernAbility(ScreenJobFormDTO formDto);
/**
* 08治理能力-部门相关指标
*
* @param formDto 定时入参
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("analysis/data/stats/indexcollect/deptgovrnability")
Result deptGovernAbility(ScreenJobFormDTO formDto);
}

57
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java

@ -0,0 +1,57 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.feign.AnalysisFeignClient;
import org.springframework.stereotype.Component;
/**
* @Authorsongyunpeg
* @Date2020/9/9 15:42
*/
@Component
public class AnalysisFeignClientFallback implements AnalysisFeignClient {
@Override
public Result gridPartyMemberData(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridPartyMemberData");
}
@Override
public Result gridPartyAbility(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridPartyAbility");
}
@Override
public Result orgPartyAbility(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "orgPartyAbility");
}
@Override
public Result gridServiceAbility(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridServiceAbility");
}
@Override
public Result orgServiceAbility(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "orgServiceAbility");
}
@Override
public Result gridGovernAbility(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridGovernAbility");
}
@Override
public Result orgGovernAbility(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "orgGovernAbility");
}
@Override
public Result deptGovernAbility(ScreenJobFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "deptGovernAbility");
}
}

20
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTask.java

@ -0,0 +1,20 @@
package com.elink.esua.epdc.task.screen;
/**
* 大屏指标信息统计上报
*
* @Authorliuchuang
* @Date2020/9/9 15:20
*/
public interface ScreenIndexDataPushTask {
/**
* 大屏数据推送
*
* @param param 入参
* @return void
* @author Liuchuang
* @since 2020/9/9 15:21
*/
void run(String param);
}

196
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenIndexDataPushTaskImpl.java

@ -0,0 +1,196 @@
package com.elink.esua.epdc.task.screen;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.dto.ScreenIndexBasicDataParamDTO;
import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO;
import com.elink.esua.epdc.feign.AnalysisFeignClient;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 大屏指标信息统计上报
*
* @Authorliuchuang
* @Date2020/9/9 15:19
*/
@Component("screenIndexDataPushTask")
public class ScreenIndexDataPushTaskImpl implements ScreenIndexDataPushTask {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private AnalysisFeignClient analysisFeignClient;
@Override
public void run(String param) {
// 参数处理
ScreenIndexBasicDataParamDTO paramDto = new ScreenIndexBasicDataParamDTO();
if (StringUtils.isNotEmpty(param)) {
paramDto = JSONObject.parseObject(param, ScreenIndexBasicDataParamDTO.class);
}
// 01、党建能力-党员相关指标上报
gridPartyMemberData(paramDto.getGridPartyMemberData());
// 02、党建能力-网格相关指标上报
gridPartyAbility(paramDto.getGridPartyAbility());
// 03、党建能力-区街道及社区相关指标
orgPartyAbility(paramDto.getOrgPartyAbility());
// 04、服务能力-网格相关指标
gridServiceAbility(paramDto.getGridServiceAbility());
// 05、服务能力-组织(街道|社区|全区)相关指标
orgServiceAbility(paramDto.getOrgServiceAbility());
// 06、治理能力-网格相关指标
gridGovernAbility(paramDto.getGridGovernAbility());
// 07、治理能力-区街道及社区相关指标
orgGovernAbility(paramDto.getOrgGovernAbility());
// 08、治理能力-部门相关指标
deptGovernAbility(paramDto.getDeptGovernAbility());
}
/**
* 01党建能力-党员相关指标上报
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void gridPartyMemberData(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|党建能力-党员相关指标上报>定时任务开始执行");
analysisFeignClient.gridPartyMemberData(formDto);
logger.info("<" + methodName + "|党建能力-党员相关指标上报>定时任务执行结束");
}
/**
* 02党建能力-网格相关指标上报
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void gridPartyAbility(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|党建能力-网格相关指标上报>定时任务开始执行");
analysisFeignClient.gridPartyAbility(formDto);
logger.info("<" + methodName + "|党建能力-网格相关指标上报>定时任务执行结束");
}
/**
* 03党建能力-区街道及社区相关指标
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void orgPartyAbility(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|党建能力-区街道及社区相关指标>定时任务开始执行");
analysisFeignClient.orgPartyAbility(formDto);
logger.info("<" + methodName + "|党建能力-区街道及社区相关指标>定时任务执行结束");
}
/**
* 04服务能力-网格相关指标
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void gridServiceAbility(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|服务能力-网格相关指标>定时任务开始执行");
analysisFeignClient.gridServiceAbility(formDto);
logger.info("<" + methodName + "|服务能力-网格相关指标>定时任务执行结束");
}
/**
* 05服务能力-组织街道|社区|全区相关指标
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void orgServiceAbility(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|服务能力-组织(街道|社区|全区)相关指标>定时任务开始执行");
analysisFeignClient.orgServiceAbility(formDto);
logger.info("<" + methodName + "|服务能力-组织(街道|社区|全区)相关指标>定时任务执行结束");
}
/**
* 06治理能力-网格相关指标
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void gridGovernAbility(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|治理能力-网格相关指标>定时任务开始执行");
analysisFeignClient.gridGovernAbility(formDto);
logger.info("<" + methodName + "|治理能力-网格相关指标>定时任务执行结束");
}
/**
* 07治理能力-区街道及社区相关指标
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void orgGovernAbility(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|治理能力-区街道及社区相关指标>定时任务开始执行");
analysisFeignClient.orgGovernAbility(formDto);
logger.info("<" + methodName + "|治理能力-区街道及社区相关指标>定时任务执行结束");
}
/**
* 08治理能力-部门相关指标
*
* @param yearMonth 统计月份
* @return void
* @author Liuchuang
* @since 2020/9/9 16:48
*/
public void deptGovernAbility(String yearMonth) {
ScreenJobFormDTO formDto = new ScreenJobFormDTO();
formDto.setYearMonth(yearMonth);
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|治理能力-部门相关指标>定时任务开始执行");
analysisFeignClient.deptGovernAbility(formDto);
logger.info("<" + methodName + "|治理能力-部门相关指标>定时任务执行结束");
}
}

2
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/ModuleCategoryDao.xml

@ -72,7 +72,7 @@
select
CONCAT(PIDS,',',ID)
from epdc_module_category
where CATEGORY_CODE = #{noticeCategoryCode}
where CATEGORY_CODE = #{noticeCategoryCode} and DEL_FLAG = '0' limit 1
</select>
<select id="getModuleCategoryCodesHierarchy" resultType="java.lang.String">
select

Loading…
Cancel
Save