Browse Source

大屏数据上报

feature/syp_points
songyunpeng 5 years ago
parent
commit
2f7659837a
  1. 40
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/DeptGovrnAbilityDTO.java
  2. 30
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridGovrnAbilityDTO.java
  3. 10
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridPartyAbilityDTO.java
  4. 20
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/GridServiceAbilityDTO.java
  5. 50
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/OrgGovrnAbilityDTO.java
  6. 5
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java
  7. 5
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerDeptDTO.java
  8. 5
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerGridDTO.java
  9. 59
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenPublicDataController.java
  10. 45
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenPublicDataDao.java
  11. 39
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenPublicDataService.java
  12. 58
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenPublicDataServiceImpl.java
  13. 60
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenIndexDataDao.xml
  14. 67
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml
  15. 116
      esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenJobBasicDataParamDTO.java
  16. 30
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java
  17. 15
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java
  18. 20
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTask.java
  19. 113
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTaskImpl.java

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

@ -69,4 +69,44 @@ public class DeptGovrnAbilityDTO implements Serializable {
* 办结项目满意度
*/
private BigDecimal satisfactionRatio;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer respProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer respProjectRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer handleProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer handleProjectRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer closedProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer closedProjectRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer satisfactionRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer satisfactionRatioFm;
}

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

@ -79,4 +79,34 @@ public class GridGovrnAbilityDTO implements Serializable {
* 网格自治项目数 统计期网格自身内办结的项目数目
*/
private Integer selfSolveProjectCount;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer transferRightRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer transferRightRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer satisfactionRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer satisfactionRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer issueToProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer issueToProjectRatioFm;
}

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

@ -104,4 +104,14 @@ public class GridPartyAbilityDTO implements Serializable {
* 党员参加三会一课人次
*/
private Integer joinThreeMeetsCount;
/**
* V2升级字段issueToProjectRatio的分子评价周期内转为项目的数量
*/
private Integer shiftedProjectTotal;
/**
* V2升级字段issueToProjectRatio的分母评价周期内网格内居民提出的议题数目
*/
private Integer issueTotal;
}

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

@ -55,4 +55,24 @@ public class GridServiceAbilityDTO implements Serializable {
*/
private BigDecimal partyVolunteerRatio;
/**
* V2升级字段partyVolunteerRatio的分子网格党员志愿者数
*/
private Integer partyVolunteerTotal;
/**
* V2升级字段partyVolunteerRatio的分母志愿者总数
*/
private Integer volunteerTotal;
/**
* V2升级字段volunteerRatio的分子居民且注册志愿者的总人数
*/
private Integer volunteerUserTotal;
/**
* V2升级字段volunteerRatio的分母网格内注册居民数
*/
private Integer regUserTotal;
}

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

@ -80,4 +80,54 @@ public class OrgGovrnAbilityDTO implements Serializable {
* 街道办结项目的处理效率, data_type=street时有值
*/
private BigDecimal handleProjectRatio;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer respProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer respProjectRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer closedProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer closedProjectRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer satisfactionRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer satisfactionRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer overdueProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer overdueProjectRatioFm;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer handleProjectRatioFz;
/**
* V2升级新增字段, 详见说明文档
*/
private Integer handleProjectRatioFm;
}

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

@ -68,4 +68,9 @@ public class ScreenCustomerAgencyDTO implements Serializable {
* 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
*/
private String dataEndTime;
/**
* 是否显示 1显示0不显示
*/
private String isDisplay;
}

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

@ -48,4 +48,9 @@ public class ScreenCustomerDeptDTO implements Serializable {
* 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
*/
private String dataEndTime;
/**
* V2升级必传参数当前部门所属行政区域编码去除末尾0
*/
private String areaCode;
}

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

@ -53,4 +53,9 @@ public class ScreenCustomerGridDTO implements Serializable {
* 所有上级ID用英文逗号分开(8.26新增)
*/
private String allParentIds;
/**
* V2升级必传参数当前网格所属行政地区编码去除末尾0
*/
private String areaCode;
}

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

@ -0,0 +1,59 @@
package com.elink.esua.epdc.modules.screen.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.modules.screen.service.ScreenPublicDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 大屏公共数据上报
*
* @Authorliuchuang
* @Date2020/9/17 14:06
*/
@RestController
@RequestMapping("data/stats/screencoll")
public class ScreenPublicDataController {
@Autowired
private ScreenPublicDataService screenPublicDataService;
/**
* 014组织层级
*
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:49
*/
@PostMapping("customeragency")
public Result customerAgency() {
return screenPublicDataService.customerAgency();
}
/**
* 015网格信息上传
*
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("customergrid")
public Result customerGrid() {
return screenPublicDataService.customerGrid();
}
/**
* 016部门信息上传
*
* @return com.elink.esua.epdc.commons.tools.utils.public Result
* @author Liuchuang
* @since 2020/9/9 15:55
*/
@PostMapping("customerdept")
public Result customerDept() {
return screenPublicDataService.customerDept();
}
}

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

@ -0,0 +1,45 @@
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.ScreenCustomerAgencyDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenCustomerDeptDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenCustomerGridDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenPublicDataResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Authorliuchuang
* @Date2020/9/17 14:13
*/
@Mapper
public interface ScreenPublicDataDao extends BaseDao<ScreenPublicDataResultDTO> {
/**
* 014组织层级
*
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenCustomerAgencyDTO>
* @author Liuchuang
* @since 2020/9/17 14:24
*/
List<ScreenCustomerAgencyDTO> customerAgency();
/**
* 015网格信息上传
*
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenCustomerGridDTO>
* @author Liuchuang
* @since 2020/9/17 14:24
*/
List<ScreenCustomerGridDTO> customerGrid();
/**
* 016部门信息上传
*
* @return java.util.List<com.elink.esua.epdc.dto.screen.result.ScreenCustomerDeptDTO>
* @author Liuchuang
* @since 2020/9/17 14:23
*/
List<ScreenCustomerDeptDTO> customerDept();
}

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

@ -0,0 +1,39 @@
package com.elink.esua.epdc.modules.screen.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
/**
* 大屏公共信息统计
*
* @Authorliuchuang
* @Date2020/9/17 14:08
*/
public interface ScreenPublicDataService {
/**
* 014组织层级
*
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/17 14:24
*/
Result customerAgency();
/**
* 015网格信息上传
*
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/17 14:24
*/
Result customerGrid();
/**
* 016部门信息上传
*
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author Liuchuang
* @since 2020/9/17 14:24
*/
Result customerDept();
}

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

@ -0,0 +1,58 @@
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.utils.Result;
import com.elink.esua.epdc.dto.screen.result.ScreenCustomerAgencyDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenCustomerDeptDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenCustomerGridDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenPublicDataResultDTO;
import com.elink.esua.epdc.modules.screen.dao.ScreenPublicDataDao;
import com.elink.esua.epdc.modules.screen.service.ScreenPublicDataService;
import com.elink.esua.epdc.utils.EpmetUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Authorliuchuang
* @Date2020/9/17 14:08
*/
@Service
public class ScreenPublicDataServiceImpl extends BaseServiceImpl<ScreenPublicDataDao, ScreenPublicDataResultDTO> implements ScreenPublicDataService {
@Autowired
private EpmetUtils epmetUtils;
@Override
public Result customerAgency() {
List<ScreenCustomerAgencyDTO> data = baseDao.customerAgency();
JSONObject jsonObject = new JSONObject();
jsonObject.put("isFirst", true);
jsonObject.put("dataList", data);
epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_COLL_CUSTOMER_AGENCY, JSONObject.toJSONString(jsonObject));
return new Result();
}
@Override
public Result customerGrid() {
List<ScreenCustomerGridDTO> data = baseDao.customerGrid();
JSONObject jsonObject = new JSONObject();
jsonObject.put("isFirst", true);
jsonObject.put("dataList", data);
epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_COLL_CUSTOMER_GRID, JSONObject.toJSONString(jsonObject));
return new Result();
}
@Override
public Result customerDept() {
List<ScreenCustomerDeptDTO> data = baseDao.customerDept();
JSONObject jsonObject = new JSONObject();
jsonObject.put("isFirst", true);
jsonObject.put("dataList", data);
epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_COLL_CUSTOMER_DEPT, JSONObject.toJSONString(jsonObject));
return new Result();
}
}

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

@ -210,6 +210,8 @@
IFNULL(groupUser.createGroupPartyCount,0) createGroupPartyCount,
IFNULL(new.newNum,0) publishArticleCount,
ROUND(IFNULL((ite.partyToItemNum + ite.userToItemNum) / issue.issNum,0),4) * 100 issueToProjectRatio,
IFNULL(ite.partyToItemNum + ite.userToItemNum, 0) shiftedProjectTotal,
IFNULL(issue.issNum, 0) issueTotal,
0 createThreeMeetsCount,
0 joinThreeMeetsCount
FROM esua_epdc_admin.sys_dept sd
@ -328,7 +330,11 @@
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
ROUND(IFNULL(IFNULL(actInfo.partyVolunteerNum,0) / IFNULL(actInfo.volunteerNum,0),0),4) * 100 partyVolunteerRatio,
IFNULL(actInfo.partyVolunteerNum,0) partyVolunteerTotal,
IFNULL(actInfo.volunteerNum,0) volunteerTotal,
IFNULL(actInfo.volunteerNum,0) volunteerUserTotal,
IFNULL(actInfo.userNum,0) regUserTotal
from esua_epdc_admin.sys_dept sd
left join (
select
@ -427,7 +433,13 @@
/ 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
0 AS transferRightRatio,
0 AS transferRightRatioFz,
0 AS transferRightRatioFm,
IFNULL(itemCount.itemSatisfiedNum,0) * 0.6 + IFNULL(itemCount.itemVeryNum,0) satisfactionRatioFz,
IFNULL(itemCount.itemCloseAndScoreNum,0) satisfactionRatioFm,
IFNULL(itemCount.itemNum,0) issueToProjectRatioFz,
IFNULL(issueCount.issueNum,0) issueToProjectRatioFm
from esua_epdc_admin.sys_dept sd
left join (
select
@ -487,7 +499,17 @@
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
IF( d.TYPE_KEY = 'street_party', IFNULL(tr.handleProjectRatio,0.00),0.00) AS handleProjectRatio,
IFNULL(tr.respProjectRatioFz,0) AS respProjectRatioFz,
IFNULL(tr.respProjectRatioFm,0) AS respProjectRatioFm,
IFNULL(tr.closedProjectRatioFz,0) AS closedProjectRatioFz,
IFNULL(tr.closedProjectRatioFm,0) AS closedProjectRatioFm,
IFNULL(tr.satisfactionRatioFz,0) AS satisfactionRatioFz,
IFNULL(tr.satisfactionRatioFm,0) AS satisfactionRatioFm,
0 AS overdueProjectRatioFz,
0 AS overdueProjectRatioFm,
IF( d.TYPE_KEY = 'street_party', tr.handleProjectRatioFz, 0) handleProjectRatioFz,
IF( d.TYPE_KEY = 'street_party', tr.handleProjectRatioFm, 0) handleProjectRatioFm
FROM esua_epdc_admin.sys_dept d
left join (
select
@ -495,12 +517,18 @@
sum(t.transferedCount) as transferedCount,
count( me.ITEM_STATE = 10 or null) as closedProjectCount,
round(sum(t.respProject) / sum(t.transferedCount),2) respProjectRatio,
IFNULL(sum(t.respProject), 0) respProjectRatioFz,
IFNULL(sum(t.transferedCount), 0) respProjectRatioFm,
round(count(me.ITEM_STATE = 10 or null)/count( t.ITEM_ID),4)*100 as closedProjectRatio,
IFNULL(count(me.ITEM_STATE = 10 or null), 0) closedProjectRatioFz,
IFNULL(count( t.ITEM_ID), 0) closedProjectRatioFm,
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
IFNULL(count(me.EVALUATION_SCORE = 1 or null) * 0.6 + count(me.EVALUATION_SCORE = 2 or null), 0) satisfactionRatioFz,
IFNULL(count(me.EVALUATION_SCORE is not null or null), 0) satisfactionRatioFm,
round(sum(TIMESTAMPDIFF(HOUR,me.CREATED_TIME,eih.CREATED_TIME)) / sum(t.transferedCount),2) as handleProjectRatio,
IFNULL(sum(TIMESTAMPDIFF(HOUR,me.CREATED_TIME,eih.CREATED_TIME)), 0) handleProjectRatioFz,
IFNULL(sum(t.transferedCount), 0) handleProjectRatioFm
from(
select
ei.DEPT_ID,
@ -544,17 +572,33 @@
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
IFNULL(tr.handleProjectRatio,0.00) AS handleProjectRatio,
IFNULL(tr.respProjectRatioFz,0) AS respProjectRatioFz,
IFNULL(tr.respProjectRatioFm,0) AS respProjectRatioFm,
IFNULL(tr.handleProjectRatioFz,0) AS handleProjectRatioFz,
IFNULL(tr.handleProjectRatioFm,0) AS handleProjectRatioFm,
IFNULL(tr.closedProjectRatioFz,0) AS closedProjectRatioFz,
IFNULL(tr.closedProjectRatioFm,0) AS closedProjectRatioFm,
IFNULL(tr.satisfactionRatioFz,0) AS satisfactionRatioFz,
IFNULL(tr.satisfactionRatioFm,0) AS satisfactionRatioFm
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,
IFNULL(sum(t.respProject), 0) respProjectRatioFz,
IFNULL(sum(t.transferedCount), 0) respProjectRatioFm,
round(count(me.ITEM_STATE = 10 or null)/count( t.ITEM_ID),4)*100 as closedProjectRatio,
IFNULL(count(me.ITEM_STATE = 10 or null), 0) closedProjectRatioFz,
IFNULL(count( t.ITEM_ID), 0) closedProjectRatioFm,
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
IFNULL(count(me.EVALUATION_SCORE = 1 or null) * 0.6 + count(me.EVALUATION_SCORE = 2 or null), 0) satisfactionRatioFz,
IFNULL(count(me.EVALUATION_SCORE is not null or null), 0) satisfactionRatioFm,
round(sum(TIMESTAMPDIFF(HOUR,me.CREATED_TIME,eih.CREATED_TIME)) / sum(t.transferedCount),2) as handleProjectRatio,
IFNULL(sum(TIMESTAMPDIFF(HOUR,me.CREATED_TIME,eih.CREATED_TIME)), 0) handleProjectRatioFz,
IFNULL(sum(t.transferedCount), 0) handleProjectRatioFm
from (
select ei.DEPT_ID,
ei.ITEM_ID,

67
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml

@ -0,0 +1,67 @@
<?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.ScreenPublicDataDao">
<select id="customerAgency" resultType="com.elink.esua.epdc.dto.screen.result.ScreenCustomerAgencyDTO">
SELECT sd.`id` AS agencyId,
sd.`name` AS agencyName,
sd.`pid` AS pid,
sd.`pids` AS pids,
CASE WHEN sd2.`name` IS NULL
AND sd1.`name` IS NULL THEN sd.`name` WHEN sd2.`name` IS NULL THEN CONCAT(sd1.`name`, '-', sd.`name`) ELSE CONCAT(IFNULL(sd2.`name`, ''), '-', IFNULL(sd1.`name`, ''), '-', sd.`name`) END AS allParentNames,
'' AS areaMarks,
'' AS centerMark,
'' AS partyMark,
CASE sd.`type_key` WHEN 'community_party' THEN 'community' WHEN 'district_party' THEN 'district' WHEN 'street_party' THEN 'street' ELSE '' END AS `level`,
sd.area_code AS areaCode,
DATE_FORMAT(NOW(), '%Y%m%d') AS dataEndTime
FROM `esua_epdc_admin`.`sys_dept` sd
LEFT JOIN `esua_epdc_admin`.`sys_dept` sd1 ON sd1.`id`= sd.`pid`
LEFT JOIN `esua_epdc_admin`.`sys_dept` sd2 ON sd2.`id`= sd1.`pid`
WHERE sd.`del_flag`= 0
AND sd.`type_key`IN('community_party', 'district_party', 'street_party')
AND sd.`id` NOT IN(
SELECT t.`dept_id`
FROM `esua_epdc_admin`.`sys_dept_config` t
WHERE t.`del_flag`= 0)
</select>
<select id="customerGrid" resultType="com.elink.esua.epdc.dto.screen.result.ScreenCustomerGridDTO">
SELECT sd.`id` AS gridId,
sd.`name` AS gridName,
sd.`pid` AS parentAgencyId,
sd.`pids` AS allParentIds,
'' AS areaMarks,
'' AS centerMark,
'' AS partyMark,
DATE_FORMAT(NOW(), '%Y%m%d') AS dataEndTime,
sd.area_code
FROM `esua_epdc_admin`.`sys_dept` sd
WHERE sd.`del_flag`= 0
AND sd.`type_key`= 'grid_party'
AND sd.`id` NOT IN(
SELECT t.`dept_id`
FROM `esua_epdc_admin`.`sys_dept_config` t
WHERE t.`del_flag`= 0)
</select>
<select id="customerDept" resultType="com.elink.esua.epdc.dto.screen.result.ScreenCustomerDeptDTO">
SELECT sd.`id` AS deptId,
sd.`name` AS deptName,
sd.`pid` AS parentAgencyId,
'' AS areaMarks,
'' AS centerMark,
'' AS deptMark,
DATE_FORMAT(NOW(), '%Y%m%d') AS dataEndTime,
sd.area_code
FROM `esua_epdc_admin`.`sys_dept` sd
WHERE sd.`del_flag`= 0
AND sd.`type_key` IN ('street_dept', 'district_dept')
AND sd.`id` NOT IN(
SELECT t.`dept_id`
FROM `esua_epdc_admin`.`sys_dept_config` t
WHERE t.`del_flag`= 0)
</select>
</mapper>

116
esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenJobBasicDataParamDTO.java

@ -0,0 +1,116 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
/**
* 大屏基础数据上报定时任务入参
*
* @Authorliuchuang
* @Date2020/9/15 10:30
*/
@Data
public class ScreenJobBasicDataParamDTO implements Serializable {
private static final long serialVersionUID = -8868143963953751575L;
/**
* 1首页-平台各类总数上报 - 定时任务入参
*/
private String homePagePlatformSummary;
/**
* 2议题分析-各类总数 - 定时任务入参
*/
private String issueSummary;
/**
* 3议题分析-参与趋势 - 定时任务入参
*/
private String issueTrend;
/**
* 4用户分析-各类总数 - 定时任务入参
*/
private String userSummary;
/**
* 5公益互助-志愿者公益时长排名 - 定时任务入参
*/
private String volunteerHeartRank;
/**
* 6用户分析-用户趋势 - 定时任务入参
*/
private String userUserHeartRank;
/**
* 7公益互助-活动各类总数 - 定时任务入参
*/
private String actSummary;
/**
* 8公益互助-活动次数趋势 - 定时任务入参
*/
private String actTrend;
/**
* 9公益互助-志愿者画像 - 定时任务入参
*/
private String actVolunteerSummary;
/**
* 10项目分析-各类总数 - 定时任务入参
*/
private String projectSummary;
/**
* 11项目分析-按分类统计 - 定时任务入参
*/
private String projectCategorySummary;
/**
* 12项目分析-满意度分析 - 定时任务入参
*/
private String projectStatisticAnalysis;
/**
* 13党建声音-新闻各类总数汇总 - 定时任务入参
*/
private String newsSummary;
/**
* 14党建声音-新闻阅读参与趋势 - 定时任务入参
*/
private String newsTrend;
/**
* 15党建声音-热度新闻排行 - 定时任务入参
*/
private String newsHotRank;
/**
* 16党建声音-新闻按类别统计 - 定时任务入参
*/
private String newsCategoryAnalysis;
/**
* 17邻里党群-各类总数汇总 - 定时任务入参
*/
private String groupSummary;
/**
* 18邻里党群-小组详情 - 定时任务入参
*/
private String groupDetail;
/**
* 19邻里党群-话题参与趋势 - 定时任务入参
*/
private String groupTopicTrend;
/**
* 09党建引领|基层治理-居民党员积分排行榜 - 定时任务入参
*/
private String partyUserRankData;
}

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

@ -104,4 +104,34 @@ public interface AnalysisFeignClient {
@PostMapping("analysis/data/stats/indexcollect/deptgovrnability")
Result deptGovernAbility(ScreenJobFormDTO formDto);
/**
* 014组织层级
*
* @return void
* @author Liuchuang
* @since 2020/9/17 14:01
*/
@PostMapping("analysis/data/stats/screencoll/customeragency")
Result customerAgency();
/**
* 015网格信息上传
*
* @return void
* @author Liuchuang
* @since 2020/9/17 14:01
*/
@PostMapping("analysis/data/stats/screencoll/customergrid")
Result customerGrid();
/**
* 016部门信息上传
*
* @return void
* @author Liuchuang
* @since 2020/9/17 14:02
*/
@PostMapping("analysis/data/stats/screencoll/customerdept")
Result customerDept();
}

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

@ -54,4 +54,19 @@ public class AnalysisFeignClientFallback implements AnalysisFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "deptGovernAbility");
}
@Override
public Result customerAgency() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "customerAgency");
}
@Override
public Result customerGrid() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "customerGrid");
}
@Override
public Result customerDept() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "customerDept");
}
}

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

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

113
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenPublicDataPushTaskImpl.java

@ -0,0 +1,113 @@
package com.elink.esua.epdc.task.screen;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.dto.ScreenJobBasicDataParamDTO;
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;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/**
* 大屏公共信息统计上报
*
* @Authorliuchuang
* @Date2020/9/17 13:56
*/
@Component("screenPublicDataPushTask")
public class ScreenPublicDataPushTaskImpl implements ScreenPublicDataPushTask {
private final Logger logger = LoggerFactory.getLogger(getClass());
private static final ExecutorService service = Executors.newFixedThreadPool(100);
@Autowired
private AnalysisFeignClient analysisFeignClient;
@Override
public void run(String param) {
// 参数处理
ScreenJobBasicDataParamDTO paramDto = new ScreenJobBasicDataParamDTO();
if (StringUtils.isNotEmpty(param)) {
paramDto = JSONObject.parseObject(param, ScreenJobBasicDataParamDTO.class);
}
for(int i = 0 ; i < 3 ; i++){
createThread(i, paramDto);
}
}
public Integer createThread(Integer methodIndex, ScreenJobBasicDataParamDTO paramDto){
Future<Integer> future = service.submit(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
Thread.sleep(200);
if (methodIndex == 0) {
customerAgency();
} else if (methodIndex == 1){
customerGrid();
} else if (methodIndex == 2){
customerDept();
}
return 0;
}
});
Integer isSuccess = 0;
try {
isSuccess = future.get();
}catch (Exception e){
e.printStackTrace();
}
return isSuccess;
}
/**
* 014组织层级
*
* @return void
* @author Liuchuang
* @since 2020/9/17 14:01
*/
public void customerAgency() {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|组织层级上传>定时任务开始执行");
analysisFeignClient.customerAgency();
logger.info("<" + methodName + "|组织层级上传>定时任务执行结束");
}
/**
* 015网格信息上传
*
* @return void
* @author Liuchuang
* @since 2020/9/17 14:01
*/
public void customerGrid() {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|网格信息上传>定时任务开始执行");
analysisFeignClient.customerGrid();
logger.info("<" + methodName + "|网格信息上传>定时任务执行结束");
}
/**
* 016部门信息上传
*
* @return void
* @author Liuchuang
* @since 2020/9/17 14:02
*/
public void customerDept() {
// 方法名
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
logger.info("<" + methodName + "|部门信息上传>定时任务开始执行");
analysisFeignClient.customerDept();
logger.info("<" + methodName + "|部门信息上传>定时任务执行结束");
}
}
Loading…
Cancel
Save