Browse Source

Merge branch 'dev_third_data' into dev_temp

dev_shibei_match
sunyuchao 4 years ago
parent
commit
15425ade97
  1. 2
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java
  2. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GovrnRatioFormDTO.java
  3. 27
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GovrnRatioResultDTO.java
  4. 60
      epmet-module/data-aggregator/data-aggregator-server/pom.xml
  5. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java
  6. 37
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java
  7. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  8. 32
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  9. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java
  10. 40
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java
  11. 11
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml
  12. 23
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml
  13. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java
  14. 17
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProjectPointDTO.java
  15. 132
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenGovernRankDataDailyDTO.java
  16. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  17. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactAgencyGovernDailyDao.java
  18. 53
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java
  19. 34
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
  20. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.java
  21. 68
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenGovernRankDataDailyDao.java
  22. 23
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
  23. 174
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java
  24. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java
  25. 102
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenGovernRankDataDailyEntity.java
  26. 46
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactAgencyGovernDailyService.java
  27. 14
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridGovernDailyService.java
  28. 52
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java
  29. 31
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
  30. 37
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java
  31. 39
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java
  32. 72
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java
  33. 44
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  34. 44
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/GovernRankDataExtractService.java
  35. 294
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/GovernRankDataExtractServiceImpl.java
  36. 22
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java
  37. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyService.java
  38. 14
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/FactIndexGovrnAblityGridMonthlyServiceImpl.java
  39. 121
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenGovernRankDataDailyService.java
  40. 170
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenGovernRankDataDailyServiceImpl.java
  41. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  42. 41
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  43. 8
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactAgencyGovernDailyDao.xml
  44. 188
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml
  45. 114
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  46. 15
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.xml
  47. 80
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenGovernRankDataDailyDao.xml
  48. 17
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
  49. 11
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserGridMonthlyDao.xml

2
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java

@ -28,4 +28,6 @@ public interface DataSourceConstant {
String OPER_CRM="opercrm";
String DATA_STATISTICAL="datastatistical";
String EVALUATION_INDEX = "evaluationIndex";
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/GovrnRatioFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 治理实况-组织/网格下响应解决满意自治率-接口入参
* @Auth sun
*/
@Data
public class GovrnRatioFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 组织Id
*/
@NotBlank(message = "组织或网格Id不能为空", groups = GovrnRatioFormDTO.AgencyGrid.class)
private String orgId;
/**
* 组织:agency 网格:grid
*/
@NotBlank(message = "网格Id不能为空", groups = GovrnRatioFormDTO.AgencyGrid.class)
private String orgType;
/**
* 日维度Id[日期不传值默认查前一天的格式20210101]
*/
private String dateId;
public interface AgencyGrid extends CustomerClientShowGroup {}
}

27
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/GovrnRatioResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 治理实况-组织/网格下响应解决满意自治率-接口返参
* @Auth sun
*/
@Data
public class GovrnRatioResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
//组织或网格Id
private String orgId;
//组织:agency 网格:grid
private String orgType;
//响应率
private String responseRatio = "0%";
//解决率
private String resolvedRatio = "0%";
//自治率
private String governRatio = "0%";
//满意率
private String satisfactionRatio = "0%";
}

60
epmet-module/data-aggregator/data-aggregator-server/pom.xml

@ -158,11 +158,18 @@
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.opercrm.url>
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.opercrm.url>
<datasource.druid.opercrm.username>epmet_data_statistical_user</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical_user</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet_evaluation_index_user</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>EpmEt-db-UsEr</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -246,11 +253,18 @@
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.opercrm.url>
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.opercrm.url>
<datasource.druid.opercrm.username>epmet_data_statistical_user</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical_user</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet_evaluation_index_user</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>EpmEt-db-UsEr</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -334,11 +348,18 @@
<datasource.druid.opercrm.password>elink@833066</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.opercrm.url>
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.opercrm.url>
<datasource.druid.opercrm.username>epmet</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>elink@833066</datasource.druid.opercrm.password>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet</datasource.druid.stats.username>
<datasource.druid.stats.password>elink@833066</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>elink@833066</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -422,11 +443,18 @@
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
<!-- data_statistical -->
<datasource.druid.opercrm.url>
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://rm-m5e3vzs2637224wj9.mysql.rds.aliyuncs.com:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.opercrm.url>
<datasource.druid.opercrm.username>epmet_data_statistical_user</datasource.druid.opercrm.username>
<datasource.druid.opercrm.password>EpmEt-db-UsEr</datasource.druid.opercrm.password>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical_user</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- epmet_evaluation_index -->
<datasource.druid.evaluationIndex.url>
<![CDATA[jdbc:mysql://rm-m5e3vzs2637224wj9.mysql.rds.aliyuncs.com:3306/epmet_evaluation_index?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.evaluationIndex.url>
<datasource.druid.evaluationIndex.username>epmet_evaluation_index_user</datasource.druid.evaluationIndex.username>
<datasource.druid.evaluationIndex.password>EpmEt-db-UsEr</datasource.druid.evaluationIndex.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>

15
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java

@ -1,5 +1,6 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.datastats.form.*;
@ -200,4 +201,18 @@ public class DataStatsController {
return new Result<List<GridGovrnResultDTO>>().ok(dataStatsService.subGridGovrnList(formDTO));
}
/**
* @Param formDTO
* @Description 治理实况-组织/网格下响应解决满意自治率
* @author sun
*/
@PostMapping("governratio")
public Result<GovrnRatioResultDTO> governRatio(@RequestBody GovrnRatioFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GovrnRatioFormDTO.AgencyGrid.class);
if (!"agency".equals(formDTO.getOrgType()) && !"grid".equals(formDTO.getOrgType())) {
throw new RenException(String.format("入参格式错误,错误的组织或网格类型:%s", formDTO.getOrgType()));
}
return new Result<GovrnRatioResultDTO>().ok(dataStatsService.governRatio(formDTO));
}
}

37
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java

@ -0,0 +1,37 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.dao.evaluationindex;
import com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @Author sun
* @Description 指标统计服务
*/
@Mapper
public interface EvaluationIndexDao {
/**
* @Param formDTO
* @Description 按类型日期查询治理指数下响应解决满意自治四个统计率
* @author sun
*/
GovrnRatioResultDTO getAgnecyOrGridGoverRatio(@Param("orgId") String orgId, @Param("orgType") String orgType, @Param("dateId") String dateId);
}

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -152,4 +152,11 @@ public interface DataStatsService {
* @author sun
*/
List<GridGovrnResultDTO> subGridGovrnList(GridGovrnFormDTO formDTO);
/**
* @Param formDTO
* @Description 治理实况-组织/网格下响应解决满意自治率
* @author sun
*/
GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO);
}

32
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -14,6 +14,7 @@ import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.DimGridEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -39,6 +40,8 @@ import java.util.stream.Collectors;
public class DataStatsServiceImpl implements DataStatsService {
@Autowired
private DataStatsDao dataStatsDao;
@Autowired
private EvaluationIndexService indexService;
/**
@ -1243,4 +1246,33 @@ public class DataStatsServiceImpl implements DataStatsService {
return resultList;
}
/**
* @Param formDTO
* @Description 治理实况-组织/网格下响应解决满意自治率
* @author sun
*/
@Override
public GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO) {
GovrnRatioResultDTO resultDTO = new GovrnRatioResultDTO();
resultDTO.setOrgId(formDTO.getOrgId());
resultDTO.setOrgType(formDTO.getOrgType());
//入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getDateId())) {
Date yesterday = DateUtils.addDateDays(new Date(), -1);
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setDateId(format.format(yesterday));
}
//1.按类型、日期查询治理指数下响应解决满意自治四个统计率
GovrnRatioResultDTO dto = indexService.governRatio(formDTO);
if (null != dto) {
resultDTO.setResponseRatio(dto.getResponseRatio());
resultDTO.setResolvedRatio(dto.getResolvedRatio());
resultDTO.setGovernRatio(dto.getGovernRatio());
resultDTO.setSatisfactionRatio(dto.getSatisfactionRatio());
}
return resultDTO;
}
}

18
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java

@ -0,0 +1,18 @@
package com.epmet.dataaggre.service.evaluationindex;
import com.epmet.dataaggre.dto.datastats.form.GovrnRatioFormDTO;
import com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO;
/**
* @Author sun
* @Description 指标统计服务
*/
public interface EvaluationIndexService {
/**
* @Param formDTO
* @Description 治理实况-组织/网格下响应解决满意自治率
* @author sun
*/
GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO);
}

40
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java

@ -0,0 +1,40 @@
package com.epmet.dataaggre.service.evaluationindex.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.datastats.DataStatsDao;
import com.epmet.dataaggre.dao.evaluationindex.EvaluationIndexDao;
import com.epmet.dataaggre.dto.datastats.form.GovrnRatioFormDTO;
import com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Author sun
* @Description 指标统计服务
*/
@Service
@DataSource(DataSourceConstant.EVALUATION_INDEX)
@Slf4j
public class EvaluationIndexServiceImpl implements EvaluationIndexService {
@Autowired
private EvaluationIndexDao evaluationIndexDao;
/**
* @Param formDTO
* @Description 按类型日期查询治理指数下响应解决满意自治四个统计率
* @author sun
*/
@Override
public GovrnRatioResultDTO governRatio(GovrnRatioFormDTO formDTO) {
return evaluationIndexDao.getAgnecyOrGridGoverRatio(formDTO.getOrgId(),formDTO.getOrgType(),formDTO.getDateId());
}
}

11
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml

@ -131,9 +131,14 @@ dynamic:
password: @datasource.druid.opercrm.password@
datastatistical:
driver-class-name: com.mysql.cj.jdbc.Driver
url: @datasource.druid.opercrm.url@
username: @datasource.druid.opercrm.username@
password: @datasource.druid.opercrm.password@
url: @datasource.druid.stats.url@
username: @datasource.druid.stats.username@
password: @datasource.druid.stats.password@
evaluationIndex:
driver-class-name: com.mysql.cj.jdbc.Driver
url: @datasource.druid.evaluationIndex.url@
username: @datasource.druid.evaluationIndex.username@
password: @datasource.druid.evaluationIndex.password@
feign:
hystrix:
enabled: true

23
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dataaggre.dao.evaluationindex.EvaluationIndexDao">
<select id="getAgnecyOrGridGoverRatio" resultType="com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO">
SELECT
org_id AS orgId,
org_type AS orgType,
CONCAT(ROUND(response_ratio, 1), '%') AS responseRatio,
CONCAT(ROUND(resolved_ratio, 1) , '%')AS resolvedRatio,
CONCAT(ROUND(govern_ratio, 1), '%') AS governRatio,
CONCAT(ROUND(satisfaction_ratio, 1), '%') AS satisfactionRatio
FROM
screen_govern_rank_data_daily
WHERE
del_flag = '0'
AND org_id = #{orgId}
AND org_type = #{orgType}
AND date_id = #{dateId}
</select>
</mapper>

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java

@ -138,6 +138,11 @@ public class FactOriginProjectMainDailyDTO implements Serializable {
*/
private String isOverdue;
/**
* 是否满意 1:
*/
private Integer isSatisfied;
/**
* 办结组织Ids:隔开有可能是社区id可能是网格id无需区分级别在统计时模糊查询
*/

17
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProjectPointDTO.java

@ -0,0 +1,17 @@
package com.epmet.dto.project;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/5/21 10:53
*/
@Data
public class ProjectPointDTO implements Serializable {
private static final long serialVersionUID = -592430619162380664L;
private String projectId;
private Integer point;
}

132
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenGovernRankDataDailyDTO.java

@ -0,0 +1,132 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.screen;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.math.BigDecimal;
/**
* 基层治理-治理能力排行数据(按月统计)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Data
public class ScreenGovernRankDataDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID 主键
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 年Id
*/
private String yearId;
/**
* 月份Id
*/
private String monthId;
/**
* 数据更新至yyyyMMdd
*/
private String dateId;
/**
* 组织类别 agency组织部门department网格grid
*/
private String orgType;
/**
* 组织Id 可以为网格机关id
*/
private String orgId;
/**
* 上级组织Id
*/
private String parentId;
/**
* 组织名称
*/
private String orgName;
/**
* 响应率
*/
private BigDecimal responseRatio;
/**
* 解决率
*/
private BigDecimal resolvedRatio;
/**
* 自治率
*/
private BigDecimal governRatio;
/**
* 满意率
*/
private BigDecimal satisfactionRatio;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java

@ -669,6 +669,15 @@ public class DemoController {
return new Result();
}
@PostMapping("governRankDaily")
public Result governRankDaily(@RequestBody CustomerIdAndDateIdFormDTO formDTO){
governRankDataExtractService.extractGridDataDaily(formDTO.getCustomerId(), formDTO.getDateId());
governRankDataExtractService.extractCommunityDataDaily(formDTO.getCustomerId(), formDTO.getDateId());
governRankDataExtractService.extractStreetDataDaily(formDTO.getCustomerId(), formDTO.getDateId());
governRankDataExtractService.extractDistrictDataDaily(formDTO.getCustomerId(), formDTO.getDateId());
return new Result();
}
@Autowired
private PioneerDataExtractService pioneerDataExtractService;
@Autowired

33
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactAgencyGovernDailyDao.java

@ -0,0 +1,33 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.evaluationindex.extract.FactAgencyGovernDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 组织的治理指数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Mapper
public interface FactAgencyGovernDailyDao extends BaseDao<FactAgencyGovernDailyEntity> {
}

53
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java

@ -182,6 +182,28 @@ public interface FactOriginProjectLogDailyDao extends BaseDao<FactOriginProjectL
*/
List<OrgStatisticsResultDTO> selectGridResponse(@Param("customerId") String customerId, @Param("monthId") String monthId);
/**
* 组织项目响应度
* @author zhaoqifeng
* @date 2020/9/25 10:01
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectOrgResponseDaily(@Param("customerId") String customerId, @Param("dateId") String dateId,
@Param("level")String level);
/**
* 网格项目响应度
* @author zhaoqifeng
* @date 2020/9/25 10:01
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectGridResponseDaily(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 组织项目响应度
* @author zhaoqifeng
@ -215,6 +237,27 @@ public interface FactOriginProjectLogDailyDao extends BaseDao<FactOriginProjectL
List<OrgStatisticsResultDTO> selectOrgSatisfaction(@Param("customerId") String customerId, @Param("monthId") String monthId,
@Param("level")String level);
/**
* 网格满意率
* @author zhaoqifeng
* @date 2020/9/27 15:52
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectGridSatisfactionDaily(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 组织满意率
* @author zhaoqifeng
* @date 2020/9/27 15:52
* @param customerId
* @param level
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectOrgSatisfactionDaily(@Param("customerId") String customerId, @Param("level")String level, @Param("dateId") String dateId);
/**
* 获取部门办结项目数
* @author zhaoqifeng
@ -245,4 +288,14 @@ public interface FactOriginProjectLogDailyDao extends BaseDao<FactOriginProjectL
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectGridClosed(@Param("customerId") String customerId, @Param("monthId") String monthId);
/**
* 网格自治率统计--按天
* @author zhaoqifeng
* @date 2021/5/24 17:53
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectGridSelfDaily(@Param("customerId") String customerId, @Param("dateId") String dateId);
}

34
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java

@ -157,6 +157,18 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
List<OrgStatisticsResultDTO> getSelfProject(@Param("customerId") String customerId, @Param("monthId")String monthId,
@Param("level") String level);
/**
* 组织自治项目数
* @author zhaoqifeng
* @date 2020/9/25 15:16
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getSelfProjectDaily(@Param("customerId") String customerId, @Param("dateId")String dateId,
@Param("level") String level);
/**
* 组织解决项目数
@ -170,6 +182,18 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
List<OrgStatisticsResultDTO> getResolveProject(@Param("customerId") String customerId, @Param("monthId")String monthId,
@Param("level") String level);
/**
* 组织解决项目数
* @author zhaoqifeng
* @date 2020/9/25 15:16
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getResolveProjectDaily(@Param("customerId") String customerId, @Param("dateId")String dateId,
@Param("level") String level);
/**
* 网格解决项目数
* @author zhaoqifeng
@ -180,6 +204,16 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
*/
List<OrgStatisticsResultDTO> getGridResolveProject(@Param("customerId") String customerId, @Param("monthId")String monthId);
/**
* 网格解决项目数
* @author zhaoqifeng
* @date 2020/9/25 15:16
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getGridResolveProjectDaily(@Param("customerId") String customerId, @Param("dateId")String dateId);
/**
* @Description 查询难点赌点的基本信息要排除之前已经结案过的项目
* @param customerId

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.java

@ -123,4 +123,14 @@ public interface FactIndexGovrnAblityGridMonthlyDao extends BaseDao<FactIndexGov
* @return java.util.List<com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity>
*/
List<FactIndexGovrnAblityGridMonthlyEntity> selectGridByCustomer(@Param("customerId")String customerId, @Param("monthId")String monthId);
/**
* 查询客户下网格治理能力
* @author zhaoqifeng
* @date 2020/9/24 15:26
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity>
*/
List<FactIndexGovrnAblityGridMonthlyEntity> selectGridByCustomerDaily(@Param("customerId")String customerId, @Param("dateId")String dateId);
}

68
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenGovernRankDataDailyDao.java

@ -0,0 +1,68 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 基层治理-治理能力排行数据(按月统计)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Mapper
public interface ScreenGovernRankDataDailyDao extends BaseDao<ScreenGovernRankDataDailyEntity> {
/**
* 组织级别初始化数据
* @author zhaoqifeng
* @date 2020/9/24 14:52
* @param customerId
* @param level
* @return java.util.List<com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataEntity>
*/
List<ScreenGovernRankDataDailyEntity> initAgencyDataList(@Param("customerId") String customerId, @Param("level") String level);
/**
* 网格级别初始化数据
* @author zhaoqifeng
* @date 2020/9/24 14:52
* @param customerId
* @return java.util.List<com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataEntity>
*/
List<ScreenGovernRankDataDailyEntity> initGridDataList(@Param("customerId") String customerId);
/**
* 删除旧数据
* @author zhaoqifeng
* @date 2020/9/25 10:38
* @param customerId
* @param orgType
* @param dateId
* @param deleteSize
* @param orgIds
* @return java.lang.Integer
*/
Integer deleteRankData(@Param("customerId") String customerId, @Param("orgType") String orgType, @Param("dateId") String dateId,
@Param("deleteSize") Integer deleteSize,
@Param("orgIds")List<String> orgIds);
}

23
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java

@ -18,12 +18,16 @@
package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerProjectParameterDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.ProjectSatisfactionStatisticsDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.ProjectPointDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.project.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -135,4 +139,23 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
List<ProjectCategoryDTO> selectProjectCategory(@Param("list")List<String> list);
List<com.epmet.dto.ProjectCategoryDTO> getProjectCategoryData(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 获取项目满意度
* @author zhaoqifeng
* @date 2021/5/21 10:06
* @param customerId
* @return java.util.List<com.epmet.dto.ProjectSatisfactionStatisticsDTO>
*/
List<ProjectPointDTO> selectProjectSatisfaction(@Param("customerId") String customerId);
/**
* 根据key查找value
* @author zhaoqifeng
* @date 2021/5/21 10:58
* @param customerId
* @param parameterKey
* @return java.lang.String
*/
String selectValueByKey(@Param("customerId") String customerId, @Param("parameterKey") String parameterKey);
}

174
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java

@ -0,0 +1,174 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.extract;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 组织的治理指数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_agency_govern_daily")
public class FactAgencyGovernDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 组织id
*/
private String agencyId;
/**
* agency_id所属的机关级别社区级community
街道:street,
区县级: district,
市级: city
省级:province
*/
private String level;
/**
* 组织i所属的组织id
*/
private String pid;
/**
* 组织i所有上级id
*/
private String pids;
/**
* 界面展示问题解决总数=1+2+3+4+5+6+7+8
*/
private Integer problemResolvedCount;
/**
* 界面展示党群自治占比=9+10/PROBLEM_RESOLVED_COUNT; 此列存储的是小数
*/
private BigDecimal groupSelfGovernRatio;
/**
* 界面展示网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal gridSelfGovernRatio;
/**
* 界面展示社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal communityClosedRatio;
/**
* 界面展示街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal streetClosedRatio;
/**
* 界面展示区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT此列存储的是小数
*/
private BigDecimal districtDeptClosedRatio;
/**
* 1当前组织内话题关闭已解决数
*/
private Integer topicResolvedCount;
/**
* 2当前组织内话题关闭无需解决数
*/
private Integer topicUnResolvedCount;
/**
* 3当前组织内议题关闭已解决数
*/
private Integer issueResolvedCount;
/**
* 4当前组织内议题关闭无需解决数
*/
private Integer issueUnResolvedCount;
/**
* 5当前组织内来源于议题的项目结案已解决数
*/
private Integer issueProjectResolvedCount;
/**
* 6当前组织内来源于议题的项目结案无需解决数
*/
private Integer issueProjectUnResolvedCount;
/**
* 7当前组织内项目立项结案已解决数默认为0
*/
private Integer approvalProjectResolvedCount;
/**
* 8当前组织内项目立项结案无需解决数默认为0
*/
private Integer approvalProjectUnResolvedCount;
/**
* 9当前组织内未出小组即未转议题的话题关闭已解决数
*/
private Integer inGroupTopicResolvedCount;
/**
* 10当前组织内未出小组即未转议题的话题关闭无需解决数
*/
private Integer inGroupTopicUnResolvedCount;
/**
* 未出当前网格的结案项目数
*/
private Integer gridSelfGovernProjectTotal;
/**
* 当前组织内结案的项目中由社区结案的项目总数
*/
private Integer communityClosedCount;
/**
* 当前组织内结案的项目中由街道结案的项目总数
*/
private Integer streetClosedCount;
/**
* 当前组织内结案的项目中由区直部门结案的项目总数
*/
private Integer districtDeptClosedCount;
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java

@ -138,6 +138,11 @@ public class FactOriginProjectMainDailyEntity extends BaseEpmetEntity {
*/
private String isOverdue;
/**
* 是否满意 1:
*/
private Integer isSatisfied;
/**
* 办结组织Ids:隔开有可能是社区id可能是网格id无需区分级别在统计时模糊查询
*/

102
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenGovernRankDataDailyEntity.java

@ -0,0 +1,102 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 基层治理-治理能力排行数据(按月统计)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_govern_rank_data_daily")
public class ScreenGovernRankDataDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 年Id
*/
private String yearId;
/**
* 月份Id
*/
private String monthId;
/**
* 数据更新至yyyyMMdd
*/
private String dateId;
/**
* 组织类别 agency组织部门department网格grid
*/
private String orgType;
/**
* 组织Id 可以为网格机关id
*/
private String orgId;
/**
* 上级组织Id
*/
private String parentId;
/**
* 组织名称
*/
private String orgName;
/**
* 响应率
*/
private BigDecimal responseRatio;
/**
* 解决率
*/
private BigDecimal resolvedRatio;
/**
* 自治率
*/
private BigDecimal governRatio;
/**
* 满意率
*/
private BigDecimal satisfactionRatio;
}

46
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactAgencyGovernDailyService.java

@ -0,0 +1,46 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.evaluationindex.extract.FactAgencyGovernDailyEntity;
/**
* 组织的治理指数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
public interface FactAgencyGovernDailyService extends BaseService<FactAgencyGovernDailyEntity> {
// 问题解决总数:当前组织下,话题关闭(已解决+无需解决)总数、议题关闭(已解决+无需解决)总数和项目结案(议题转为项目的结案数+项目立项结案数)总数之和
// 党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
// 网格自治占比:当前组织下,所有网格内结案项目数与问题解决总数之比(未出网格)
// 参考:fact_index_govrn_ablity_grid_monthly的SELF_SOLVE_PROJECT_COUNT计算
// 社区解决占比:当前组织下,由社区结案的项目数与问题解决总数之比
// 区直部门解决占比:当前组织下,由区级部门结案的项目数与问题解决总数之比
// 街道解决占比:当前组织下,由街道结案的项目数与问题解决总数之比
// 自下而上的项目解决:结案时操作人所代表的的处理部门(可以是网格、街道、组织)
// 自上而下的项目解决:向下吹哨,谁立项谁解决(后期在讨论哪样更合理)
//
// 究竟是谁解决!!:
// A社区→A街道→B社区(结案)——A街道解决(自下而上吹(饱含立项往上吹/从话题来的项目),看往上吹的最高层级)
// A社区→B社区→C社区(结案)——C社区解决(平级协助解决,看最后结案)
// A街道→A社区→B社区(结案)——A街道解决(自上而下吹,谁立项谁解决)
// 注:A社区→A街道→(退回)A社区→B社区(结案),A街道不算处理项目,仍是平级协助解决,看最后谁结案
}

14
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridGovernDailyService.java

@ -27,6 +27,18 @@ import com.epmet.entity.evaluationindex.extract.FactGridGovernDailyEntity;
* @since v1.0.0 2021-05-24
*/
public interface FactGridGovernDailyService extends BaseService<FactGridGovernDailyEntity> {
// 指标解释:
// 1、问题解决总数:当前网格内,话题关闭(已解决+无需解决)总数、议题关闭(已解决+无需解决)总数和项目结案(议题转为项目的结案数+项目立项结案数)总数之和
// 2、党群自治占比:当前网格内,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
// 3、网格自治占比:当前组织下,所有网格内结案项目数与问题解决总数之比(未出网格)
/**
* 治理指数-网格相关问题解决总数党群自治占比网格自治占比
*
*
* @param customerId
* @param dateId
* @return
*/
void extractFactGridGovernDaily(String customerId, String dateId);
}

52
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java

@ -218,6 +218,27 @@ public interface FactOriginProjectLogDailyService extends BaseService<FactOrigin
*/
List<OrgStatisticsResultDTO> getOrgResponse(String customerId, String monthId, String level);
/**
* 网格项目响应度
* @author zhaoqifeng
* @date 2020/9/25 9:56
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getGridResponseDaily(String customerId, String dateId);
/**
* 组织项目响应度
* @author zhaoqifeng
* @date 2020/9/25 9:56
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getOrgResponseDaily(String customerId, String dateId, String level);
/**
* 网格满意率
* @author zhaoqifeng
@ -239,6 +260,27 @@ public interface FactOriginProjectLogDailyService extends BaseService<FactOrigin
*/
List<OrgStatisticsResultDTO> getOrgSatisfaction(String customerId, String monthId, String level);
/**
* 网格满意率
* @author zhaoqifeng
* @date 2020/9/27 16:06
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getGridSatisfactionDaily(String customerId, String dateId);
/**
* 组织满意率
* @author zhaoqifeng
* @date 2020/9/27 16:06
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getOrgSatisfactionDaily(String customerId, String dateId, String level);
/**
* 获取部门办结项目数
* @author zhaoqifeng
@ -268,4 +310,14 @@ public interface FactOriginProjectLogDailyService extends BaseService<FactOrigin
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getGridClosed(String customerId, String monthId);
/**
* 网格自制率统计-按天
* @author zhaoqifeng
* @date 2021/5/24 17:52
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getGridSelfDaily(String customerId, String dateId);
}

31
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java

@ -146,6 +146,17 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getSelfProject(String customerId, String monthId, String level);
/**
* 自治项目数
* @author zhaoqifeng
* @date 2020/9/25 15:34
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getSelfProjectDaily(String customerId, String dateId, String level);
/**
* 已解决项目数
* @author zhaoqifeng
@ -156,6 +167,16 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getResolveProject(String customerId, String monthId, String level);
/**
* 已解决项目数
* @author zhaoqifeng
* @date 2020/9/25 15:34
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getResolveProjectDaily(String customerId, String dateId, String level);
/**
* 网格已解决项目数
@ -167,6 +188,16 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
*/
List<OrgStatisticsResultDTO> getGridResolveProject(String customerId, String monthId);
/**
* 网格已解决项目数
* @author zhaoqifeng
* @date 2020/9/25 15:34
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getGridResolveProjectDaily(String customerId, String dateId);
/**
* 网格项目数
* @author zhaoqifeng

37
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java

@ -0,0 +1,37 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.extract.todata.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.dao.evaluationindex.extract.FactAgencyGovernDailyDao;
import com.epmet.entity.evaluationindex.extract.FactAgencyGovernDailyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactAgencyGovernDailyService;
import org.springframework.stereotype.Service;
/**
* 组织的治理指数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Service
public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl<FactAgencyGovernDailyDao, FactAgencyGovernDailyEntity> implements FactAgencyGovernDailyService {
}

39
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java

@ -19,17 +19,56 @@ package com.epmet.service.evaluationindex.extract.todata.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.dao.evaluationindex.extract.FactGridGovernDailyDao;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.entity.evaluationindex.extract.FactGridGovernDailyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactGridGovernDailyService;
import com.epmet.service.group.GroupDataService;
import com.epmet.service.org.CustomerAgencyService;
import com.epmet.service.org.CustomerGridService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 网格的治理指数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Slf4j
@Service
public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGovernDailyDao, FactGridGovernDailyEntity> implements FactGridGovernDailyService {
@Autowired
private GroupDataService groupDataService;
@Autowired
private CustomerAgencyService customerAgencyService;
@Autowired
private CustomerGridService customerGridService;
// 指标解释:
// 1、问题解决总数:当前网格内,话题关闭(已解决+无需解决)总数、议题关闭(已解决+无需解决)总数和项目结案(议题转为项目的结案数+项目立项结案数)总数之和
// 2、党群自治占比:当前网格内,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
// 3、网格自治占比:当前组织下,所有网格内结案项目数与问题解决总数之比(未出网格)
/**
* 治理指数-网格相关问题解决总数党群自治占比网格自治占比
*
* @param customerId
* @param dateId
* @return
*/
@Override
public void extractFactGridGovernDaily(String customerId, String dateId) {
//客户id, dateId不能为空
if(StringUtils.isBlank(customerId)||StringUtils.isBlank(dateId)){
return;
}
// 2、当前客户下所有的网格
List<GridInfoDTO> gridInfoDTOList=customerGridService.queryGridInfoList(customerId);
//todo
// List<FactGridGovernDailyEntity>
}
}

72
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java

@ -290,6 +290,35 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl<FactOr
return baseDao.selectOrgResponse(customerId, monthId, level);
}
/**
* 网格项目响应度
*
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2020/9/25 9:56
*/
@Override
public List<OrgStatisticsResultDTO> getGridResponseDaily(String customerId, String dateId) {
return baseDao.selectGridResponseDaily(customerId, dateId);
}
/**
* 组织项目响应度
*
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2020/9/25 9:56
*/
@Override
public List<OrgStatisticsResultDTO> getOrgResponseDaily(String customerId, String dateId, String level) {
return baseDao.selectOrgResponseDaily(customerId, dateId, level);
}
@Override
public List<OrgStatisticsResultDTO> getGridSatisfaction(String customerId, String monthId) {
return baseDao.selectGridSatisfaction(customerId, monthId);
@ -300,6 +329,35 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl<FactOr
return baseDao.selectOrgSatisfaction(customerId, monthId, level);
}
/**
* 网格满意率
*
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2020/9/27 16:06
*/
@Override
public List<OrgStatisticsResultDTO> getGridSatisfactionDaily(String customerId, String dateId) {
return baseDao.selectGridSatisfactionDaily(customerId, dateId);
}
/**
* 组织满意率
*
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2020/9/27 16:06
*/
@Override
public List<OrgStatisticsResultDTO> getOrgSatisfactionDaily(String customerId, String dateId, String level) {
return baseDao.selectOrgSatisfactionDaily(customerId, dateId, level);
}
/**
* 获取部门办结项目数
*
@ -342,5 +400,19 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl<FactOr
return baseDao.selectGridClosed(customerId, monthId);
}
/**
* 网格自制率统计-按天
*
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2021/5/24 17:52
*/
@Override
public List<OrgStatisticsResultDTO> getGridSelfDaily(String customerId, String dateId) {
return baseDao.selectGridSelfDaily(customerId, dateId);
}
}

44
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java

@ -180,16 +180,60 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
return baseDao.getSelfProject(customerId, monthId, level);
}
/**
* 自治项目数
*
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2020/9/25 15:34
*/
@Override
public List<OrgStatisticsResultDTO> getSelfProjectDaily(String customerId, String dateId, String level) {
return baseDao.getSelfProjectDaily(customerId, dateId, level);
}
@Override
public List<OrgStatisticsResultDTO> getResolveProject(String customerId, String monthId, String level) {
return baseDao.getResolveProject(customerId, monthId, level);
}
/**
* 已解决项目数
*
* @param customerId
* @param dateId
* @param level
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2020/9/25 15:34
*/
@Override
public List<OrgStatisticsResultDTO> getResolveProjectDaily(String customerId, String dateId, String level) {
return baseDao.getResolveProjectDaily(customerId, dateId, level);
}
@Override
public List<OrgStatisticsResultDTO> getGridResolveProject(String customerId, String monthId) {
return baseDao.getGridResolveProject(customerId, monthId);
}
/**
* 网格已解决项目数
*
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
* @author zhaoqifeng
* @date 2020/9/25 15:34
*/
@Override
public List<OrgStatisticsResultDTO> getGridResolveProjectDaily(String customerId, String dateId) {
return baseDao.getGridResolveProjectDaily(customerId, dateId);
}
@Override
public List<OrgStatisticsResultDTO> getGridProjectCount(String customerId, String monthId) {
return baseDao.getGridProjectCount(customerId, monthId);

44
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/GovernRankDataExtractService.java

@ -49,4 +49,48 @@ public interface GovernRankDataExtractService {
* @date 2020/9/24 15:17
*/
void extractDistrictData(String customerId, String monthId);
/**
* 网格治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:16
*/
void extractGridDataDaily(String customerId, String dateId);
/**
* 社区治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:17
*/
void extractCommunityDataDaily(String customerId, String dateId);
/**
* 街道治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:17
*/
void extractStreetDataDaily(String customerId, String dateId);
/**
* 全区治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:17
*/
void extractDistrictDataDaily(String customerId, String dateId);
}

294
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/GovernRankDataExtractServiceImpl.java

@ -5,12 +5,14 @@ import com.epmet.constant.IndexCalConstant;
import com.epmet.constant.OrgTypeConstant;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataEntity;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectLogDailyService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.evaluationindex.extract.toscreen.GovernRankDataExtractService;
import com.epmet.service.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyService;
import com.epmet.service.evaluationindex.indexcoll.FactIndexGovrnAblityOrgMonthlyService;
import com.epmet.service.evaluationindex.screen.ScreenGovernRankDataDailyService;
import com.epmet.service.evaluationindex.screen.ScreenGovernRankDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -30,6 +32,8 @@ public class GovernRankDataExtractServiceImpl implements GovernRankDataExtractSe
@Autowired
private ScreenGovernRankDataService screenGovernRankDataService;
@Autowired
private ScreenGovernRankDataDailyService screenGovernRankDataDailyService;
@Autowired
private FactIndexGovrnAblityOrgMonthlyService factIndexGovrnAblityOrgMonthlyService;
@Autowired
private FactIndexGovrnAblityGridMonthlyService factIndexGovrnAblityGridMonthlyService;
@ -283,4 +287,294 @@ public class GovernRankDataExtractServiceImpl implements GovernRankDataExtractSe
}
screenGovernRankDataService.delAndSaveRankData(customerId, OrgTypeConstant.AGENCY, monthId, IndexCalConstant.DELETE_SIZE, list);
}
/**
* 网格治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:16
*/
@Override
public void extractGridDataDaily(String customerId, String dateId) {
List<ScreenGovernRankDataDailyEntity> list = screenGovernRankDataDailyService.initList(customerId, OrgTypeConstant.GRID, null);
if (CollectionUtils.isEmpty(list)) {
return;
}
BigDecimal hundred = new BigDecimal(NumConstant.ONE_HUNDRED);
list.forEach(entity -> {
entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR));
entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX));
entity.setDateId(dateId);
});
//满意率 满意和非常满意占比
List<OrgStatisticsResultDTO> satisfactionList = factOriginProjectLogDailyService.getGridSatisfactionDaily(customerId, dateId);
if (!CollectionUtils.isEmpty(satisfactionList)) {
list.forEach(entity -> satisfactionList.stream().filter(item -> item.getOrgId().equals(entity.getOrgId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setSatisfactionRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//自治率
List<OrgStatisticsResultDTO> gridList = factOriginProjectLogDailyService.getGridSelfDaily(customerId, dateId);
if (CollectionUtils.isNotEmpty(gridList)) {
list.forEach(entity -> gridList.stream().filter(gridAbility -> entity.getOrgId().equals(gridAbility.getOrgId())).forEach(grid -> {
BigDecimal resolveCount = new BigDecimal(grid.getSum());
BigDecimal selfCount = new BigDecimal(grid.getCount());
if (grid.getSum() != NumConstant.ZERO) {
entity.setGovernRatio(selfCount.multiply(hundred).divide(resolveCount, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//响应率 响应次数/流转到网格的次数
List<OrgStatisticsResultDTO> responseList = factOriginProjectLogDailyService.getGridResponseDaily(customerId, dateId);
if (CollectionUtils.isNotEmpty(responseList)) {
list.forEach(entity -> responseList.stream().filter(response -> entity.getOrgId().equals(response.getOrgId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResponseRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//解决率 已解决项目数/办结项目数
List<OrgStatisticsResultDTO> resolveList = factOriginProjectMainDailyService.getGridResolveProjectDaily(customerId, dateId);
if (CollectionUtils.isNotEmpty(resolveList)) {
list.forEach(entity -> resolveList.stream().filter(resolve -> entity.getOrgId().equals(resolve.getOrgId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResolvedRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
screenGovernRankDataDailyService.delAndSaveRankData(customerId, OrgTypeConstant.GRID, dateId, IndexCalConstant.DELETE_SIZE, list);
}
/**
* 社区治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:17
*/
@Override
public void extractCommunityDataDaily(String customerId, String dateId) {
List<ScreenGovernRankDataDailyEntity> list = screenGovernRankDataDailyService.initList(customerId, OrgTypeConstant.AGENCY,
OrgTypeConstant.COMMUNITY);
if (CollectionUtils.isEmpty(list)) {
return;
}
BigDecimal hundred = new BigDecimal(NumConstant.ONE_HUNDRED);
list.forEach(entity -> {
entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR));
entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX));
entity.setDateId(dateId);
});
//满意率 满意和非常满意占比
List<OrgStatisticsResultDTO> satisfactionList = factOriginProjectLogDailyService.getOrgSatisfactionDaily(customerId, dateId,
OrgTypeConstant.COMMUNITY);
if (CollectionUtils.isNotEmpty(satisfactionList)) {
list.forEach(entity -> satisfactionList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setSatisfactionRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//响应率 响应次数/流转到网格的次数
List<OrgStatisticsResultDTO> responseList = factOriginProjectLogDailyService.getOrgResponseDaily(customerId, dateId, OrgTypeConstant.COMMUNITY);
if (CollectionUtils.isNotEmpty(responseList)) {
list.forEach(entity -> responseList.stream().filter(response -> entity.getOrgId().equals(response.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResponseRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//自制率 自治项目数/办结项目数
List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProject(customerId, dateId, OrgTypeConstant.COMMUNITY);
if (CollectionUtils.isNotEmpty(selfList)) {
list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setGovernRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//解决率 已解决项目数/办结项目数
List<OrgStatisticsResultDTO> resolveList = factOriginProjectMainDailyService.getResolveProjectDaily(customerId, dateId,
OrgTypeConstant.COMMUNITY);
if (CollectionUtils.isNotEmpty(resolveList)) {
list.forEach(entity -> resolveList.stream().filter(resolve -> entity.getOrgId().equals(resolve.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResolvedRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
screenGovernRankDataDailyService.delAndSaveRankData(customerId, OrgTypeConstant.AGENCY, dateId, IndexCalConstant.DELETE_SIZE, list);
}
/**
* 街道治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:17
*/
@Override
public void extractStreetDataDaily(String customerId, String dateId) {
List<ScreenGovernRankDataDailyEntity> list = screenGovernRankDataDailyService.initList(customerId, OrgTypeConstant.AGENCY,
OrgTypeConstant.STREET);
if (CollectionUtils.isEmpty(list)) {
return;
}
BigDecimal hundred = new BigDecimal(NumConstant.ONE_HUNDRED);
list.forEach(entity -> {
entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR));
entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX));
entity.setDateId(dateId);
});
//满意率 满意和非常满意占比
List<OrgStatisticsResultDTO> satisfactionList = factOriginProjectLogDailyService.getOrgSatisfactionDaily(customerId, dateId,
OrgTypeConstant.STREET);
if (CollectionUtils.isNotEmpty(satisfactionList)) {
list.forEach(entity -> satisfactionList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setSatisfactionRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//响应率 响应次数/流转到网格的次数
List<OrgStatisticsResultDTO> responseList = factOriginProjectLogDailyService.getOrgResponseDaily(customerId, dateId, OrgTypeConstant.STREET);
if (CollectionUtils.isNotEmpty(responseList)) {
list.forEach(entity -> responseList.stream().filter(response -> entity.getOrgId().equals(response.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResponseRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//自制率 自治项目数/办结项目数
List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProject(customerId, dateId, OrgTypeConstant.STREET);
if (CollectionUtils.isNotEmpty(selfList)) {
list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setGovernRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//解决率 已解决项目数/办结项目数
List<OrgStatisticsResultDTO> resolveList = factOriginProjectMainDailyService.getResolveProjectDaily(customerId, dateId,
OrgTypeConstant.STREET);
if (CollectionUtils.isNotEmpty(resolveList)) {
list.forEach(entity -> resolveList.stream().filter(resolve -> entity.getOrgId().equals(resolve.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResolvedRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
screenGovernRankDataDailyService.delAndSaveRankData(customerId, OrgTypeConstant.AGENCY, dateId, IndexCalConstant.DELETE_SIZE, list);
}
/**
* 全区治理能力
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2020/9/24 15:17
*/
@Override
public void extractDistrictDataDaily(String customerId, String dateId) {
List<ScreenGovernRankDataDailyEntity> list = screenGovernRankDataDailyService.initList(customerId, OrgTypeConstant.AGENCY,
OrgTypeConstant.DISTRICT);
if (CollectionUtils.isEmpty(list)) {
return;
}
BigDecimal hundred = new BigDecimal(NumConstant.ONE_HUNDRED);
list.forEach(entity -> {
entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR));
entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX));
entity.setDateId(dateId);
});
//满意率 满意和非常满意占比
List<OrgStatisticsResultDTO> satisfactionList = factOriginProjectLogDailyService.getOrgSatisfactionDaily(customerId, dateId,
OrgTypeConstant.DISTRICT);
if (CollectionUtils.isNotEmpty(satisfactionList)) {
list.forEach(entity -> satisfactionList.stream().filter(item -> item.getAgencyId().equals(entity.getOrgId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setSatisfactionRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//响应率 响应次数/流转到网格的次数
List<OrgStatisticsResultDTO> responseList = factOriginProjectLogDailyService.getOrgResponseDaily(customerId, dateId, OrgTypeConstant.DISTRICT);
if (CollectionUtils.isNotEmpty(responseList)) {
list.forEach(entity -> responseList.stream().filter(response -> entity.getOrgId().equals(response.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResponseRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//自制率 自治项目数/办结项目数
List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProject(customerId, dateId, OrgTypeConstant.DISTRICT);
if (CollectionUtils.isNotEmpty(selfList)) {
list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setGovernRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
//解决率 已解决项目数/办结项目数
List<OrgStatisticsResultDTO> resolveList = factOriginProjectMainDailyService.getResolveProjectDaily(customerId, dateId,
OrgTypeConstant.DISTRICT);
if (CollectionUtils.isNotEmpty(resolveList)) {
list.forEach(entity -> resolveList.stream().filter(resolve -> entity.getOrgId().equals(resolve.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) {
BigDecimal sum = new BigDecimal(dto.getSum());
BigDecimal count = new BigDecimal(dto.getCount());
entity.setResolvedRatio(count.multiply(hundred).divide(sum, NumConstant.SIX, RoundingMode.HALF_UP));
}
}));
}
screenGovernRankDataDailyService.delAndSaveRankData(customerId, OrgTypeConstant.AGENCY, dateId, IndexCalConstant.DELETE_SIZE, list);
}
}

22
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java

@ -221,6 +221,28 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
log.error("按天统计:组织内各个分类下的项目总数,customerId为:"+customerId+"dateId为:"+dateId, e);
}
//治理能力排行screen_govern_rank_data
try {
governRankDataExtractService.extractGridDataDaily(customerId, dateId);
}catch (Exception e){
log.error("治理能力排行【网格】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e);
}
try {
governRankDataExtractService.extractCommunityDataDaily(customerId, dateId);
}catch (Exception e){
log.error("治理能力排行【社区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e);
}
try {
governRankDataExtractService.extractStreetDataDaily(customerId, dateId);
}catch (Exception e){
log.error("治理能力排行【街道】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e);
}
try {
governRankDataExtractService.extractDistrictDataDaily(customerId, dateId);
}catch (Exception e){
log.error("治理能力排行【全区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e);
}
extractPartData(customerId, dateId);
log.info("===== extractDaily method end ======");
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyService.java

@ -21,4 +21,15 @@ public interface FactIndexGovrnAblityGridMonthlyService extends BaseService<Fact
* @date 2020/9/24 15:41
*/
List<FactIndexGovrnAblityGridMonthlyEntity> getGridByCustomer(String customerId, String monthId);
/**
* 查询客户下网格治理能力
*
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity>
* @author zhaoqifeng
* @date 2020/9/24 15:41
*/
List<FactIndexGovrnAblityGridMonthlyEntity> getGridByCustomerDaily(String customerId, String dateId);
}

14
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/FactIndexGovrnAblityGridMonthlyServiceImpl.java

@ -22,4 +22,18 @@ public class FactIndexGovrnAblityGridMonthlyServiceImpl extends BaseServiceImpl<
public List<FactIndexGovrnAblityGridMonthlyEntity> getGridByCustomer(String customerId, String monthId) {
return baseDao.selectGridByCustomer(customerId, monthId);
}
/**
* 查询客户下网格治理能力
*
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity>
* @author zhaoqifeng
* @date 2020/9/24 15:41
*/
@Override
public List<FactIndexGovrnAblityGridMonthlyEntity> getGridByCustomerDaily(String customerId, String dateId) {
return baseDao.selectGridByCustomerDaily(customerId, dateId);
}
}

121
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenGovernRankDataDailyService.java

@ -0,0 +1,121 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.screen;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.screen.ScreenGovernRankDataDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity;
import java.util.List;
import java.util.Map;
/**
* 基层治理-治理能力排行数据(按月统计)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
public interface ScreenGovernRankDataDailyService extends BaseService<ScreenGovernRankDataDailyEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<ScreenGovernRankDataDailyDTO>
* @author generator
* @date 2021-05-24
*/
PageData<ScreenGovernRankDataDailyDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<ScreenGovernRankDataDailyDTO>
* @author generator
* @date 2021-05-24
*/
List<ScreenGovernRankDataDailyDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return ScreenGovernRankDataDailyDTO
* @author generator
* @date 2021-05-24
*/
ScreenGovernRankDataDailyDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2021-05-24
*/
void save(ScreenGovernRankDataDailyDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2021-05-24
*/
void update(ScreenGovernRankDataDailyDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2021-05-24
*/
void delete(String[] ids);
/**
* 构造screen_govern_rank_data 初始数据先赋值为0
*
* @param customerId
* @param orgType
* @param agencyLevel
* @return java.util.List<com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataEntity>
* @author zhaoqifeng
* @date 2020/9/24 14:41
*/
List<ScreenGovernRankDataDailyEntity> initList(String customerId, String orgType, String agencyLevel);
/**
* 保存抽取结果
*
* @param customerId
* @param orgType
* @param dateId
* @param deleteSize
* @param entityList
* @return void
* @author zhaoqifeng
* @date 2020/9/25 10:32
*/
void delAndSaveRankData(String customerId, String orgType, String dateId, Integer deleteSize, List<ScreenGovernRankDataDailyEntity> entityList);
}

170
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenGovernRankDataDailyServiceImpl.java

@ -0,0 +1,170 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.screen.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.constant.OrgTypeConstant;
import com.epmet.dao.evaluationindex.screen.ScreenGovernRankDataDailyDao;
import com.epmet.dto.screen.ScreenGovernRankDataDailyDTO;
import com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataEntity;
import com.epmet.service.evaluationindex.screen.ScreenGovernRankDataDailyService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 基层治理-治理能力排行数据(按月统计)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-05-24
*/
@Service
@Slf4j
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class ScreenGovernRankDataDailyServiceImpl extends BaseServiceImpl<ScreenGovernRankDataDailyDao, ScreenGovernRankDataDailyEntity> implements ScreenGovernRankDataDailyService {
@Override
public PageData<ScreenGovernRankDataDailyDTO> page(Map<String, Object> params) {
IPage<ScreenGovernRankDataDailyEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, ScreenGovernRankDataDailyDTO.class);
}
@Override
public List<ScreenGovernRankDataDailyDTO> list(Map<String, Object> params) {
List<ScreenGovernRankDataDailyEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, ScreenGovernRankDataDailyDTO.class);
}
private QueryWrapper<ScreenGovernRankDataDailyEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<ScreenGovernRankDataDailyEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public ScreenGovernRankDataDailyDTO get(String id) {
ScreenGovernRankDataDailyEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, ScreenGovernRankDataDailyDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(ScreenGovernRankDataDailyDTO dto) {
ScreenGovernRankDataDailyEntity entity = ConvertUtils.sourceToTarget(dto, ScreenGovernRankDataDailyEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(ScreenGovernRankDataDailyDTO dto) {
ScreenGovernRankDataDailyEntity entity = ConvertUtils.sourceToTarget(dto, ScreenGovernRankDataDailyEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 构造screen_govern_rank_data 初始数据先赋值为0
*
* @param customerId
* @param orgType
* @param agencyLevel
* @return java.util.List<com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataEntity>
* @author zhaoqifeng
* @date 2020/9/24 14:41
*/
@Override
public List<ScreenGovernRankDataDailyEntity> initList(String customerId, String orgType, String agencyLevel) {
List<ScreenGovernRankDataDailyEntity> list = new ArrayList<>();
switch (orgType) {
case OrgTypeConstant.AGENCY:
log.info("组织级别统计");
list = baseDao.initAgencyDataList(customerId, agencyLevel);
break;
case OrgTypeConstant.GRID:
log.info("网格级别统计");
list = baseDao.initGridDataList(customerId);
break;
default:
log.info("部门级别统计");
break;
}
return list;
}
/**
* 保存抽取结果
*
* @param customerId
* @param orgType
* @param dateId
* @param deleteSize
* @param entityList
* @return void
* @author zhaoqifeng
* @date 2020/9/25 10:32
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void delAndSaveRankData(String customerId, String orgType, String dateId, Integer deleteSize,
List<ScreenGovernRankDataDailyEntity> entityList) {
if (CollectionUtils.isEmpty(entityList)) {
return;
}
List<String> orgIds = new ArrayList<>();
for (ScreenGovernRankDataDailyEntity entity : entityList) {
orgIds.add(entity.getOrgId());
}
int deleteNum;
do {
deleteNum = baseDao.deleteRankData(customerId, orgType, dateId, deleteSize, orgIds);
} while (deleteNum != NumConstant.ZERO);
insertBatch(entityList);
}
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java

@ -23,6 +23,7 @@ import com.epmet.dto.ProjectDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.project.ProjectEntity;
import org.apache.ibatis.annotations.Param;
@ -152,4 +153,13 @@ public interface ProjectService extends BaseService<ProjectEntity> {
*/
List<ProjectCategoryDTO> getProjectCategoryData(String customerId, String dateId);
/**
* 获取项目满意度
* @author zhaoqifeng
* @date 2021/5/21 10:04
* @param customerId
* @return java.util.List<com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity>
*/
List<FactOriginProjectMainDailyEntity> getProjectSatisfaction(String customerId);
}

41
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java

@ -26,17 +26,16 @@ import com.epmet.dto.ProjectDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.ProjectPointDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.service.project.ProjectService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -163,5 +162,39 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return baseDao.getProjectCategoryData(customerId,dateId);
}
/**
* 获取项目满意度
*
* @param customerId
* @return java.util.List<com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity>
* @author zhaoqifeng
* @date 2021/5/21 10:04
*/
@Override
public List<FactOriginProjectMainDailyEntity> getProjectSatisfaction(String customerId) {
List<ProjectPointDTO> list = baseDao.selectProjectSatisfaction(customerId);
if (org.apache.commons.collections4.CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
//获取项目满意指标
String value = baseDao.selectValueByKey(customerId, "satisfaction");
if (null == value) {
//客户没有自定义配置的话取默认配置
value = baseDao.selectValueByKey("default", "satisfaction");
}
String finalValue = value;
return list.stream().map(item -> {
FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity();
entity.setId(item.getProjectId());
if (item.getPoint() < Integer.parseInt(finalValue)) {
entity.setIsSatisfied(NumConstant.ZERO);
} else {
entity.setIsSatisfied(NumConstant.ONE);
}
return entity;
}).collect(Collectors.toList());
}
}

8
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactAgencyGovernDailyDao.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.extract.FactAgencyGovernDailyDao">
</mapper>

188
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml

@ -313,8 +313,7 @@
COUNT( ID ) AS "count"
FROM fact_origin_project_log_daily
WHERE ORG_TYPE = 'grid'
AND ( ACTION_CODE = 'response'
OR ACTION_CODE = 'close'
AND (ACTION_CODE = 'close'
OR ACTION_CODE = 'transfer'
OR ACTION_CODE = 'resolved'
OR ACTION_CODE = 'unresolved'
@ -347,8 +346,7 @@
INNER JOIN dim_agency da ON f.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
( ACTION_CODE = 'response'
OR ACTION_CODE = 'close'
( ACTION_CODE = 'close'
OR ACTION_CODE = 'transfer'
OR ACTION_CODE = 'resolved'
OR ACTION_CODE = 'unresolved'
@ -362,33 +360,22 @@
<select id="selectGridSatisfaction" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
COUNT( score &gt;= 80 OR NULL ) AS 'count',
SUM( score ) AS 'count',
COUNT( ID ) AS 'sum'
FROM
(
SELECT
fm.GRID_ID,
fm.ID,
IFNULL( fl.score, 80 ) AS "score"
IFNULL( IS_SATISFIED, 1 ) AS "score"
FROM
fact_origin_project_main_daily fm
LEFT JOIN (
SELECT
f.PROJECT_ID,
AVG( CASE ACTION_CODE WHEN 'bad' THEN 60 WHEN 'perfect' THEN 100 ELSE 80 END ) AS score
FROM
fact_origin_project_log_daily f
WHERE
( ACTION_CODE = 'bad' OR ACTION_CODE = 'good' OR ACTION_CODE = 'perfect' )
AND f.CUSTOMER_ID = #{customerId}
AND f.MONTH_ID = #{monthId}
GROUP BY
PROJECT_ID
) fl ON fm.ID = fl.PROJECT_ID
WHERE fm.CUSTOMER_ID = #{customerId}
fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.ORIGIN = 'issue'
) a
GROUP BY
GRID_ID
@ -396,36 +383,20 @@
<select id="selectOrgSatisfaction" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
AGENCY_ID,
COUNT( score &gt;= 80 OR NULL ) AS 'count',
SUM( score ) AS 'count',
COUNT( ID ) AS 'sum'
FROM
(
SELECT
fm.AGENCY_ID,
fm.ID,
IFNULL( fl.score, 80 ) AS "score"
IFNULL( IS_SATISFIED, 1 ) AS "score"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
LEFT JOIN (
SELECT
f.PROJECT_ID,
AVG( CASE ACTION_CODE WHEN 'bad' THEN 60 WHEN 'perfect' THEN 100 ELSE 80 END ) AS score
FROM
fact_origin_project_log_daily f
INNER JOIN dim_agency da ON f.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
( ACTION_CODE = 'bad' OR ACTION_CODE = 'good' OR ACTION_CODE = 'perfect' )
AND f.CUSTOMER_ID = #{customerId}
AND f.MONTH_ID = #{monthId}
GROUP BY
PROJECT_ID
) fl ON fm.ID = fl.PROJECT_ID
WHERE fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.ORIGIN = 'issue'
) a
GROUP BY
AGENCY_ID
@ -552,4 +523,145 @@
GROUP BY PROJECT_ID
HAVING COUNT(DISTINCT(ORG_ID)) = 1
</select>
<select id="selectGridSatisfactionDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
SUM( score ) AS 'count',
COUNT( ID ) AS 'sum'
FROM
(
SELECT
fm.GRID_ID,
fm.ID,
IFNULL( IS_SATISFIED, 1 ) AS "score"
FROM
fact_origin_project_main_daily fm
WHERE
fm.CUSTOMER_ID = #{customerId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.ORIGIN = 'issue'
) a
GROUP BY
GRID_ID
</select>
<select id="selectOrgSatisfactionDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
AGENCY_ID,
SUM( score ) AS 'count',
COUNT( ID ) AS 'sum'
FROM
(
SELECT
fm.AGENCY_ID,
fm.ID,
IFNULL( IS_SATISFIED, 1 ) AS "score"
FROM
fact_origin_project_main_daily fm
WHERE fm.CUSTOMER_ID = #{customerId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.ORIGIN = 'issue'
) a
GROUP BY
AGENCY_ID
</select>
<select id="selectOrgResponseDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT a.AGENCY_ID,
a.count AS "sum",
IFNULL( b.count,
0 ) AS "count"
FROM
(SELECT f.AGENCY_ID,
COUNT( f.ID ) AS "count"
FROM fact_origin_project_log_daily f
INNER JOIN dim_agency da ON f.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE f.IS_ACTIVE = 0
AND f.CUSTOMER_ID = #{customerId}
AND f.DATE_ID &lt;= #{dateId}
GROUP BY f.AGENCY_ID ) a
LEFT JOIN
(SELECT f.AGENCY_ID,
COUNT( f.ID ) AS "count"
FROM fact_origin_project_log_daily f
INNER JOIN dim_agency da ON f.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
(ACTION_CODE = 'close'
OR ACTION_CODE = 'transfer'
OR ACTION_CODE = 'resolved'
OR ACTION_CODE = 'unresolved'
OR ACTION_CODE = 'created' )
AND f.IS_ACTIVE = 1
AND f.CUSTOMER_ID = #{customerId}
AND f.DATE_ID &lt;= #{dateId}
GROUP BY f.AGENCY_ID ) b
ON a.AGENCY_ID = b.AGENCY_ID
</select>
<select id="selectGridResponseDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT a.ORG_ID,
a.count AS "sum",
IFNULL( b.count,
0 ) AS "count"
FROM
(SELECT ORG_ID,
COUNT( ID ) AS "count"
FROM fact_origin_project_log_daily
WHERE ORG_TYPE = 'grid'
AND IS_ACTIVE = 0
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
GROUP BY ORG_ID ) a
LEFT JOIN
(SELECT ORG_ID,
COUNT( ID ) AS "count"
FROM fact_origin_project_log_daily
WHERE ORG_TYPE = 'grid'
AND ( ACTION_CODE = 'close'
OR ACTION_CODE = 'transfer'
OR ACTION_CODE = 'created' )
AND IS_ACTIVE = 1
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
GROUP BY ORG_ID ) b
ON a.ORG_ID = b.ORG_ID
</select>
<select id="selectGridSelfDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
COUNT( ID ) AS "sum",
IFNULL(a.count,0) AS "count"
FROM
fact_origin_project_main_daily fm
LEFT JOIN (
SELECT
orgId,
COUNT( PROJECT_ID ) AS "count"
FROM
(
SELECT
ORG_ID AS orgId,
PROJECT_ID
FROM
fact_origin_project_log_daily
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND ( ACTION_CODE = 'response' OR ACTION_CODE = 'close' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'created' )
AND PROJECT_ID IN ( SELECT ID FROM fact_origin_project_main_daily WHERE DEL_FLAG = 0 AND PROJECT_STATUS = 'closed' AND ORIGIN = "issue")
GROUP BY
PROJECT_ID
HAVING
COUNT(DISTINCT ( ORG_ID )) = 1) a
GROUP BY
orgId
) a ON fm.GRID_ID = a.orgId
WHERE
PROJECT_STATUS = 'closed'
AND ORIGIN = "issue"
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
GROUP BY
GRID_ID
</select>
</mapper>

114
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

@ -240,7 +240,7 @@
INNER JOIN dim_agency da ON fm.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'close'
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
GROUP BY
@ -254,7 +254,7 @@
INNER JOIN dim_agency da ON fm.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'close'
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.IS_RESOLVED = 'resolved'
@ -274,7 +274,7 @@
FROM
fact_origin_project_main_daily fm
WHERE
fm.PROJECT_STATUS = 'close'
fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
@ -287,7 +287,7 @@
FROM
fact_origin_project_main_daily fm
WHERE
fm.PROJECT_STATUS = 'close'
fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
@ -807,5 +807,111 @@
AND ORIGIN = 'issue'
GROUP BY GRID_ID
</select>
<select id="getGridResolveProjectDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.GRID_ID AS "orgId",
a.count AS "sum",
IFNULL(b.count,0) AS "count"
FROM
(SELECT
fm.GRID_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
GROUP BY
fm.GRID_ID) a
LEFT JOIN
(SELECT
fm.GRID_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
fm.GRID_ID) b
ON a.GRID_ID = b.GRID_ID
</select>
<select id="getSelfProjectDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID,
a.count AS "sum",
IFNULL(b.count,0) AS "count"
FROM
(SELECT
fm.AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
GROUP BY
fm.AGENCY_ID) a
LEFT JOIN
(SELECT
fm.AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
AND fm.FINISH_ORG_IDS LIKE CONCAT('%', fm.AGENCY_ID,'%')
GROUP BY
fm.AGENCY_ID) b
ON a.AGENCY_ID = b.AGENCY_ID
</select>
<select id="getResolveProjectDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID,
a.count AS "sum",
IFNULL(b.count,0) AS "count"
FROM
(SELECT
fm.AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
GROUP BY
fm.AGENCY_ID) a
LEFT JOIN
(SELECT
fm.AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.AGENCY_ID = da.ID
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
fm.AGENCY_ID) b
ON a.AGENCY_ID = b.AGENCY_ID
</select>
</mapper>

15
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.xml

@ -256,6 +256,21 @@
CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectGridByCustomerDaily" resultType="com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity">
SELECT
GRID_ID,
MONTH_ID,
YEAR_ID,
PROJECT_TOTAL,
SELF_SOLVE_PROJECT_COUNT,
RESOLVE_PROJECT_COUNT,
SATISFACTION_RATIO
FROM
fact_index_govrn_ablity_grid_daily
WHERE
CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
</select>
<!-- 批量插入治理能力 -->
<insert id="insertGovernAbilityRecord">

80
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenGovernRankDataDailyDao.xml

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenGovernRankDataDailyDao">
<resultMap type="com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity" id="screenGovernRankDataDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="dateId" column="DATE_ID"/>
<result property="orgType" column="ORG_TYPE"/>
<result property="orgId" column="ORG_ID"/>
<result property="parentId" column="PARENT_ID"/>
<result property="orgName" column="ORG_NAME"/>
<result property="responseRatio" column="RESPONSE_RATIO"/>
<result property="resolvedRatio" column="RESOLVED_RATIO"/>
<result property="governRatio" column="GOVERN_RATIO"/>
<result property="satisfactionRatio" column="SATISFACTION_RATIO"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteRankData">
delete from screen_govern_rank_data_daily
where CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
<if test='null != orgType and "" != orgType'>
and ORG_TYPE=#{orgType}
</if>
<if test='null!=orgIds and orgIds.size()>0'>
and
(
<foreach collection="orgIds" item="orgId" separator=" OR ">
ORG_ID = #{orgId}
</foreach>
)
</if>
limit #{deleteSize}
</delete>
<select id="initAgencyDataList" resultType="com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity">
SELECT DISTINCT
CUSTOMER_ID,
'agency' AS ORG_TYPE,
AGENCY_ID AS ORG_ID,
PID AS PARENT_ID,
AGENCY_NAME AS ORG_NAME,
0 AS RESPONSE_RATIO,
0 AS RESOLVED_RATIO,
0 AS GOVERN_RATIO,
0 AS SATISFACTION_RATIO
FROM
screen_customer_agency
WHERE
CUSTOMER_ID = #{customerId}
AND `LEVEL` = #{level}
</select>
<select id="initGridDataList" resultType="com.epmet.entity.evaluationindex.screen.ScreenGovernRankDataDailyEntity">
SELECT DISTINCT
CUSTOMER_ID,
'grid' AS ORG_TYPE,
GRID_ID AS ORG_ID,
PARENT_AGENCY_ID AS PARENT_ID,
GRID_NAME AS ORG_NAME,
0 AS RESPONSE_RATIO,
0 AS RESOLVED_RATIO,
0 AS GOVERN_RATIO,
0 AS SATISFACTION_RATIO
FROM
screen_customer_grid
WHERE
CUSTOMER_ID = #{customerId}
</select>
</mapper>

17
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

@ -145,4 +145,21 @@
AND DATE_FORMAT(CREATED_TIME,'%Y%m%d')=#{dateId}
</if>
</select>
<select id="selectProjectSatisfaction" resultType="com.epmet.dto.project.ProjectPointDTO">
SELECT
PROJECT_ID,
( PERFECT_COUNT * 100 + (SHOULD_EVALUATE_COUNT-PERFECT_COUNT-BAD_COUNT) * 80 + BAD_COUNT * 60 ) DIV SHOULD_EVALUATE_COUNT AS point
FROM
project_satisfaction_statistics
WHERE CUSTOMER_ID = #{customerId}
</select>
<select id="selectValueByKey" resultType="java.lang.String">
select
PARAMETER_VALUE
from
customer_project_parameter
where DEL_FLAG = '0'
and CUSTOMER_ID = #{customerId}
and PARAMETER_KEY = #{parameterKey}
</select>
</mapper>

11
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/user/FactRegUserGridMonthlyDao.xml

@ -131,6 +131,17 @@
AND CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectGridUserCountByCustomerDaily" resultType="com.epmet.dto.stats.user.FactRegUserGridMonthlyDTO">
SELECT
GRID_ID,
PARTYMEMBER_TOTAL
FROM
fact_reg_user_grid_daily
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
</select>
</mapper>
Loading…
Cancel
Save