Browse Source

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

# Conflicts:
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
#	epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
master
yinzuomei 4 years ago
parent
commit
9a3907c3d6
  1. 6
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreDetailResult.java
  2. 8
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java
  3. 14
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java
  4. 77
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java
  5. 5
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/fact/impl/FactIndexServiceImpl.java
  6. 5
      epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencySubScoreDao.xml
  7. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCpcSubScoreDao.xml
  8. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexDeptSubScoreDao.xml
  9. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
  10. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
  11. 18
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  12. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/GovernRankDataExtractServiceImpl.java
  13. 19
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

6
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreDetailResult.java

@ -1,5 +1,6 @@
package com.epmet.evaluationindex.index.result; package com.epmet.evaluationindex.index.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -40,9 +41,10 @@ public class IndexScoreDetailResult implements Serializable {
private String weight; private String weight;
/** /**
* 数量 * 类型 取原始值 还是数量
*/ */
private String quantity; @JsonIgnore
private String type;

8
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java

@ -32,9 +32,15 @@ public class IndexScoreResult implements Serializable {
* 原始值 * 原始值
*/ */
private String originValue; private String originValue;
/** /**
* 数量 * 数量
*/ */
private String quantity; private String sampleCount;
/**
* 值类型
*/
private String valueType;
} }

14
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java

@ -18,12 +18,12 @@ public class IndexConstant {
public static final List<String> ScoreLastHeader = Arrays.asList("指标值", "得分", "权重"); public static final List<String> ScoreLastHeader = Arrays.asList("指标值", "得分", "权重");
public static final List<String> QuantityLastHeader = Arrays.asList("数量", "平均值", "权重"); public static final List<String> QuantityLastHeader = Arrays.asList("数量", "平均值", "权重");
private static final String DJZS_CN = "党建指数"; public static final String DJZS_CN = "党建指数";
private static final String FWZS_CN = "服务指数"; public static final String FWZS_CN = "服务指数";
private static final String ZLZS_CN = "治理指数"; public static final String ZLZS_CN = "治理指数";
private static final String ZB_CN = "指标"; public static final String ZB_CN = "指标";
private static final String BEN_JI_CN = "本级"; public static final String BEN_JI_CN = "本级";
private static final String XIA_JI_CN = "下级"; public static final String XIA_JI_CN = "下级";
public static final String ZI_SHEN = "zishen"; public static final String ZI_SHEN = "zishen";
public static final String XIA_JI = "xiaji"; public static final String XIA_JI = "xiaji";
@ -33,6 +33,8 @@ public class IndexConstant {
public static final String INDEX_SCORE_DESC = "含义:自然月周期内,当月指数得分=党建指数得分*相关权重+治理指数得分*相关权重+服务指数得分*相关权重"; public static final String INDEX_SCORE_DESC = "含义:自然月周期内,当月指数得分=党建指数得分*相关权重+治理指数得分*相关权重+服务指数得分*相关权重";
public static final String INDEX_DISTRINCT_TABLE1_INDEX_CODE = "suoyoujiedaozlnlpjz"; public static final String INDEX_DISTRINCT_TABLE1_INDEX_CODE = "suoyoujiedaozlnlpjz";
public static final String ZHI_LI_NENG_LI = "zhilinengli"; public static final String ZHI_LI_NENG_LI = "zhilinengli";
public static final String PATTERN_D = "d";
public static final String QUAN_QU_ZHI_LI_INDEX_CODE = "quanquxiangguan:zhilinengli";
/** /**

77
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.OrgLevelEnum; import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant; import com.epmet.constant.DataSourceConstant;
import com.epmet.datareport.constant.FactConstant;
import com.epmet.datareport.constant.IndexConstant; import com.epmet.datareport.constant.IndexConstant;
import com.epmet.datareport.dao.evaluationindex.index.IndexExplainDao; import com.epmet.datareport.dao.evaluationindex.index.IndexExplainDao;
import com.epmet.datareport.dao.evaluationindex.index.IndexGroupDetailDao; import com.epmet.datareport.dao.evaluationindex.index.IndexGroupDetailDao;
@ -99,6 +100,16 @@ public class IndexExplainServiceImpl implements IndexExplainService {
results.add(result); results.add(result);
result.setTitle(explainDTO.getTitle()); result.setTitle(explainDTO.getTitle());
result.setMeaning(explainDTO.getMeaning()); result.setMeaning(explainDTO.getMeaning());
//全区相关的服务能力的含义中 有权重 所以特殊处理下
if (explainDTO.getOrgLevel().equals(OrgLevelEnum.DISTRICT.getCode()) && IndexConstant.ZLZS_CN.equals(explainDTO.getTitle())) {
List<IndexGroupDetailResult> detailResults = detailEntityMap.get(IndexConstant.QUAN_QU_ZHI_LI_INDEX_CODE);
detailResults.forEach(index -> {
String newMeaning = result.getMeaning().replaceFirst(IndexConstant.PATTERN_D,
index.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString());
result.setMeaning(newMeaning);
});
}
//设置表格数据 //设置表格数据
setTableData(formDTO, detailEntityMap, explainDTO, result); setTableData(formDTO, detailEntityMap, explainDTO, result);
//子节点 //子节点
@ -162,7 +173,6 @@ public class IndexExplainServiceImpl implements IndexExplainService {
List<IndexGroupDetailResult> indexGroupDetailEntities = new ArrayList<>(); List<IndexGroupDetailResult> indexGroupDetailEntities = new ArrayList<>();
for (IndexGroupDetailResult index : detailResults) { for (IndexGroupDetailResult index : detailResults) {
if (IndexConstant.INDEX_DISTRINCT_TABLE1_INDEX_CODE.equals(index.getIndexCode())) { if (IndexConstant.INDEX_DISTRINCT_TABLE1_INDEX_CODE.equals(index.getIndexCode())) {
indexGroupDetailEntities.add(index); indexGroupDetailEntities.add(index);
setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath, indexGroupDetailEntities); setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath, indexGroupDetailEntities);
@ -187,7 +197,7 @@ public class IndexExplainServiceImpl implements IndexExplainService {
log.error("暂不支持更高级别的查询,level:{}", orgLevel); log.error("暂不支持更高级别的查询,level:{}", orgLevel);
} }
setRealValue(result.getTableDataList(), realScoreList); setRealValue(result.getTableDataList(), realScoreList, tableHeaders);
} }
} }
@ -196,11 +206,12 @@ public class IndexExplainServiceImpl implements IndexExplainService {
* *
* @param tableList * @param tableList
* @param scoreList * @param scoreList
* @param tableHeaders
* @return void * @return void
* @author LiuJanJun * @author LiuJanJun
* @date 2021/5/19 2:07 下午 * @date 2021/5/19 2:07 下午
*/ */
private void setRealValue(List<IndexScoreDetailResult> tableList, List<IndexScoreResult> scoreList) { private void setRealValue(List<IndexScoreDetailResult> tableList, List<IndexScoreResult> scoreList, List<String> tableHeaders) {
if (CollectionUtils.isEmpty(tableList) || CollectionUtils.isEmpty(scoreList)) { if (CollectionUtils.isEmpty(tableList) || CollectionUtils.isEmpty(scoreList)) {
return; return;
} }
@ -209,19 +220,39 @@ public class IndexExplainServiceImpl implements IndexExplainService {
if (!tb.getIndexCode().equals(score.getIndexCode())) { if (!tb.getIndexCode().equals(score.getIndexCode())) {
continue; continue;
} }
tb.setOriginValue(score.getOriginValue());
tb.setScore(String.valueOf(score.getScore())); tb.setScore(String.valueOf(score.getScore()));
if (StringUtils.isNotBlank(score.getQuantity())) { tb.setWeight(score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(0, BigDecimal.ROUND_HALF_UP) + "%");
tb.setQuantity(score.getQuantity()); if (tableHeaders.contains("平均值")) {
if (StringUtils.isNotBlank(score.getSampleCount())) {
tb.setOriginValue(score.getSampleCount());
}
} else {
tb.setOriginValue(score.getOriginValue());
formatOriginValue(score, tb);
}
}
}
}
private void formatOriginValue(IndexScoreResult score, IndexScoreDetailResult index) {
//小数类型,四舍五入保留小数点后一位
if (FactConstant.INTEGER.equals(score.getValueType())) {
BigDecimal num = new BigDecimal(index.getOriginValue()).setScale(0, BigDecimal.ROUND_HALF_UP);
index.setOriginValue(num.toString());
} }
tb.setWeight(score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)) + "%"); if (FactConstant.DECIMAL.equals(score.getValueType())) {
BigDecimal num = new BigDecimal(index.getOriginValue()).setScale(1, BigDecimal.ROUND_HALF_UP);
index.setOriginValue(num.toString());
} }
//百分数类型,四舍五入保留小数点后一位并转成百分比
if (FactConstant.PERCENT.equals(score.getValueType())) {
BigDecimal num = new BigDecimal(index.getOriginValue()).setScale(1, BigDecimal.ROUND_HALF_UP);
index.setOriginValue(num + "%");
} }
} }
private List<IndexScoreDetailResult> setDefaultTableData(String orgLevel, String type, Map<String, List<IndexGroupDetailResult>> detailEntityMap, private List<IndexScoreDetailResult> setDefaultTableData(String orgLevel, String type, Map<String, List<IndexGroupDetailResult>> detailEntityMap,
IndexExplainResult result, String allIndexCodePath, List<IndexGroupDetailResult> indexGroupDetailEntities) { IndexExplainResult result, String allIndexCodePath, List<IndexGroupDetailResult> indexGroupDetailEntities) {
if (indexGroupDetailEntities == null) { if (indexGroupDetailEntities == null) {
indexGroupDetailEntities = detailEntityMap.get(allIndexCodePath); indexGroupDetailEntities = detailEntityMap.get(allIndexCodePath);
} }
@ -233,18 +264,21 @@ public class IndexExplainServiceImpl implements IndexExplainService {
List<String> threlodList = new ArrayList<>(); List<String> threlodList = new ArrayList<>();
indexGroupDetailEntities.forEach(index -> { indexGroupDetailEntities.forEach(index -> {
IndexScoreDetailResult table = new IndexScoreDetailResult(); IndexScoreDetailResult table = new IndexScoreDetailResult();
if ("grid".equals(orgLevel) && IndexConstant.ZI_SHEN.equals(type) && index.getAllIndexCodePath().contains(IndexConstant.XIA_JI)) { if (OrgLevelEnum.GRID.getCode().equals(orgLevel) && IndexConstant.ZI_SHEN.equals(type) && index.getAllIndexCodePath().contains(IndexConstant.XIA_JI)) {
return;
}
if (OrgLevelEnum.DISTRICT.getCode().equals(orgLevel) && !index.getAllIndexCodePath().contains(type) && !index.getAllIndexCodePath().contains(IndexConstant.ZHI_LI_NENG_LI)) {
return; return;
} }
if ((!"grid".equals(orgLevel) && !"district".equals(orgLevel)) && !index.getAllIndexCodePath().contains(type)) { if (!OrgLevelEnum.GRID.getCode().equals(orgLevel) && !OrgLevelEnum.DISTRICT.getCode().equals(orgLevel) && !index.getAllIndexCodePath().contains(type)) {
return; return;
} }
table.setIndexCode(index.getIndexCode()); table.setIndexCode(index.getIndexCode());
table.setIndexName(index.getIndexName()); table.setIndexName(index.getIndexName());
table.setOriginValue(NumConstant.ZERO_STR); table.setOriginValue(NumConstant.ZERO_STR);
table.setScore(NumConstant.ZERO_STR); table.setScore(NumConstant.ZERO_STR);
table.setWeight(index.getWeight().multiply(new BigDecimal(100)).setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%"); table.setWeight(index.getWeight().multiply(new BigDecimal(100)).setScale(0, BigDecimal.ROUND_HALF_UP) + "%");
table.setQuantity(NumConstant.ZERO_STR); table.setType(type);
tableList.add(table); tableList.add(table);
if (new BigDecimal(-1).compareTo(index.getThreshold()) != 0) { if (new BigDecimal(-1).compareTo(index.getThreshold()) != 0) {
threlodList.add(index.getIndexName().concat(String.format(IndexConstant.THRESHOLD_TEXT, index.getThreshold().intValue()))); threlodList.add(index.getIndexName().concat(String.format(IndexConstant.THRESHOLD_TEXT, index.getThreshold().intValue())));
@ -277,13 +311,14 @@ public class IndexExplainServiceImpl implements IndexExplainService {
private List<String> getTableHeaders(String type, String allIndexCode, String orgLevel) { private List<String> getTableHeaders(String type, String allIndexCode, String orgLevel) {
List<String> headers = new ArrayList<>(); List<String> headers = new ArrayList<>();
switch (orgLevel) { OrgLevelEnum anEnum = OrgLevelEnum.getEnum(orgLevel);
case "grid": switch (anEnum) {
case GRID:
//还没确定怎么搞 //还没确定怎么搞
if ("zishen".equals(type)) { if (IndexConstant.ZI_SHEN.equals(type)) {
headers = IndexConstant.getStandardSelfHeaders(allIndexCode); headers = IndexConstant.getStandardSelfHeaders(allIndexCode);
} else if ("xiaji".equals(type)) { } else if (IndexConstant.XIA_JI.equals(type)) {
headers = new ArrayList<>(IndexConstant.QuantityLastHeader); headers = new ArrayList<>(IndexConstant.QuantityLastHeader);
if (allIndexCode.contains("canyuyishi")) { if (allIndexCode.contains("canyuyishi")) {
headers.add(0, "组织内党员的参与议事指数考评分(平均值)"); headers.add(0, "组织内党员的参与议事指数考评分(平均值)");
@ -292,11 +327,11 @@ public class IndexExplainServiceImpl implements IndexExplainService {
} }
break; break;
} }
case "district": case DISTRICT:
if ("zishen".equals(type)) { if (IndexConstant.ZI_SHEN.equals(type)) {
headers = IndexConstant.getStandardSelfHeaders(allIndexCode); headers = IndexConstant.getStandardSelfHeaders(allIndexCode);
} else if ("xiaji".equals(type)) { } else if (IndexConstant.XIA_JI.equals(type)) {
headers = new ArrayList<>(IndexConstant.QuantityLastHeader); headers = new ArrayList<>(IndexConstant.QuantityLastHeader);
if (allIndexCode.contains("quzhibumen")) { if (allIndexCode.contains("quzhibumen")) {
headers.add(0, "区直部门各项治理指数指标"); headers.add(0, "区直部门各项治理指数指标");
@ -306,10 +341,10 @@ public class IndexExplainServiceImpl implements IndexExplainService {
} }
break; break;
default: default:
if ("zishen".equals(type)) { if (IndexConstant.ZI_SHEN.equals(type)) {
headers = IndexConstant.getStandardSelfHeaders(allIndexCode); headers = IndexConstant.getStandardSelfHeaders(allIndexCode);
} else if ("xiaji".equals(type)) { } else if (IndexConstant.XIA_JI.equals(type)) {
headers = IndexConstant.getStandardSubHeaders(allIndexCode); headers = IndexConstant.getStandardSubHeaders(allIndexCode);
} }
} }

5
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/fact/impl/FactIndexServiceImpl.java

@ -335,6 +335,11 @@ public class FactIndexServiceImpl implements FactIndexService {
resultList.forEach(result -> { resultList.forEach(result -> {
list.stream().filter(dto -> dto.getIndexCode().equals(result.getKey())).forEach(l -> { list.stream().filter(dto -> dto.getIndexCode().equals(result.getKey())).forEach(l -> {
result.setShowType(l.getValueType()); result.setShowType(l.getValueType());
//整数
if (FactConstant.DECIMAL.equals(l.getValueType())) {
BigDecimal num = new BigDecimal(result.getValue()).setScale(0, BigDecimal.ROUND_HALF_UP);
result.setValue(num.toString());
}
//小数类型,四舍五入保留小数点后一位 //小数类型,四舍五入保留小数点后一位
if (FactConstant.DECIMAL.equals(l.getValueType())) { if (FactConstant.DECIMAL.equals(l.getValueType())) {
BigDecimal num = new BigDecimal(result.getValue()).setScale(1, BigDecimal.ROUND_HALF_UP); BigDecimal num = new BigDecimal(result.getValue()).setScale(1, BigDecimal.ROUND_HALF_UP);

5
epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencySubScoreDao.xml

@ -46,9 +46,12 @@
fact.index_code, fact.index_code,
IF(fact.origin_value='',0,IFNULL(fact.origin_value,0)) AS origin_value, IF(fact.origin_value='',0,IFNULL(fact.origin_value,0)) AS origin_value,
round(fact.score,1) AS score, round(fact.score,1) AS score,
round(fact.WEIGHT,2) AS weight round(fact.WEIGHT,2) AS weight,
SAMPLE_COUNT,
dict.VALUE_TYPE
FROM FROM
fact_index_agency_sub_score fact fact_index_agency_sub_score fact
LEFT JOIN index_dict dict ON fact.index_code = dict.index_code
WHERE WHERE
fact.del_flag = '0' fact.del_flag = '0'
AND fact.all_parent_index_code = #{allParentIndexCode} AND fact.all_parent_index_code = #{allParentIndexCode}

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCpcSubScoreDao.xml

@ -29,7 +29,7 @@
<select id="selecCpcAvgScore" resultType="com.epmet.evaluationindex.index.result.IndexScoreResult"> <select id="selecCpcAvgScore" resultType="com.epmet.evaluationindex.index.result.IndexScoreResult">
SELECT SELECT
id, customer_id, agency_id, grid_id, year_id, month_id, user_id, id, customer_id, agency_id, grid_id, year_id, month_id, user_id,
COUNT(*) quantity, COUNT(*) SAMPLE_COUNT,
ROUND(AVG(score),1) score, ROUND(AVG(score),1) score,
index_code, all_parent_index_code, index_code, all_parent_index_code,
ROUND(weight,2) weight ROUND(weight,2) weight

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexDeptSubScoreDao.xml

@ -10,7 +10,7 @@
id, customer_id, dept_id, agency_id, month_id, id, customer_id, dept_id, agency_id, month_id,
origin_value, origin_value,
index_code, all_parent_index_code, weight, index_code, all_parent_index_code, weight,
COUNT(*) quantity, COUNT(*) SAMPLE_COUNT,
ROUND(AVG(score),1) score, ROUND(AVG(score),1) score,
round(weight,2) AS weight round(weight,2) AS weight
FROM fact_index_dept_sub_score FROM fact_index_dept_sub_score

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

@ -479,6 +479,16 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
List<OrgStatisticsResultDTO> selectAgencyClosedProjectCount(@Param("customerId") String customerId, @Param("dateId") String dateId, @Param( List<OrgStatisticsResultDTO> selectAgencyClosedProjectCount(@Param("customerId") String customerId, @Param("dateId") String dateId, @Param(
"closedStatus") String closedStatus, @Param("origin") String origin); "closedStatus") String closedStatus, @Param("origin") String origin);
/**
* 组织结案项目统计
* @author zhaoqifeng
* @date 2021/5/27 14:51
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> selectAgencyClosedProjectStaticDaily(@Param("customerId") String customerId, @Param("dateId") String dateId);
/** /**
* 当前网格内已结案的项目 * 当前网格内已结案的项目
* *

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

@ -450,6 +450,16 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
*/ */
Map<String, OrgStatisticsResultDTO> getAgencyClosedProjectCount(String customerId, String dateId, String closedStatus, String origin); Map<String, OrgStatisticsResultDTO> getAgencyClosedProjectCount(String customerId, String dateId, String closedStatus, String origin);
/**
* 组织结案项目统计
* @author zhaoqifeng
* @date 2021/5/27 14:56
* @param customerId
* @param dateId
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getAgencyClosedProjectStatic(String customerId, String dateId);
/** /**
* 当前网格内已结案的项目 * 当前网格内已结案的项目
* *

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

@ -679,6 +679,24 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
return list.stream().collect(Collectors.toMap(OrgStatisticsResultDTO::getAgencyId, Function.identity())); return list.stream().collect(Collectors.toMap(OrgStatisticsResultDTO::getAgencyId, Function.identity()));
} }
/**
* 组织结案项目统计
*
* @param customerId
* @param dateId
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
* @author zhaoqifeng
* @date 2021/5/27 14:56
*/
@Override
public Map<String, List<OrgStatisticsResultDTO>> getAgencyClosedProjectStatic(String customerId, String dateId) {
List<OrgStatisticsResultDTO> list = baseDao.selectAgencyClosedProjectStaticDaily(customerId, dateId);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getAgencyId));
}
/** /**
* 当前网格内已结案的项目 * 当前网格内已结案的项目
* *

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

@ -407,7 +407,7 @@ public class GovernRankDataExtractServiceImpl implements GovernRankDataExtractSe
})); }));
} }
//自制率 自治项目数/办结项目数 //自制率 自治项目数/办结项目数
List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProject(customerId, dateId, OrgTypeConstant.COMMUNITY); List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProjectDaily(customerId, dateId, OrgTypeConstant.COMMUNITY);
if (CollectionUtils.isNotEmpty(selfList)) { if (CollectionUtils.isNotEmpty(selfList)) {
list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> { list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) { if (dto.getSum() != NumConstant.ZERO) {
@ -480,7 +480,7 @@ public class GovernRankDataExtractServiceImpl implements GovernRankDataExtractSe
})); }));
} }
//自制率 自治项目数/办结项目数 //自制率 自治项目数/办结项目数
List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProject(customerId, dateId, OrgTypeConstant.STREET); List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProjectDaily(customerId, dateId, OrgTypeConstant.STREET);
if (CollectionUtils.isNotEmpty(selfList)) { if (CollectionUtils.isNotEmpty(selfList)) {
list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> { list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) { if (dto.getSum() != NumConstant.ZERO) {
@ -553,7 +553,7 @@ public class GovernRankDataExtractServiceImpl implements GovernRankDataExtractSe
})); }));
} }
//自制率 自治项目数/办结项目数 //自制率 自治项目数/办结项目数
List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProject(customerId, dateId, OrgTypeConstant.DISTRICT); List<OrgStatisticsResultDTO> selfList = factOriginProjectMainDailyService.getSelfProjectDaily(customerId, dateId, OrgTypeConstant.DISTRICT);
if (CollectionUtils.isNotEmpty(selfList)) { if (CollectionUtils.isNotEmpty(selfList)) {
list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> { list.forEach(entity -> selfList.stream().filter(self -> entity.getOrgId().equals(self.getAgencyId())).forEach(dto -> {
if (dto.getSum() != NumConstant.ZERO) { if (dto.getSum() != NumConstant.ZERO) {

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

@ -963,6 +963,25 @@
</if> </if>
GROUP BY AGENCY_ID GROUP BY AGENCY_ID
</select> </select>
<select id="selectAgencyClosedProjectStaticDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID,
c.`LEVEL`,
COUNT(a.ID) AS "sum",
SUM(IF(b.ORG_TYPE = 'department', 1, 0)) AS "count"
FROM
fact_origin_project_main_daily a
INNER JOIN fact_origin_project_log_daily b ON a.ID = b.PROJECT_ID
AND b.ACTION_CODE = 'close'
INNER JOIN dim_agency c ON b.AGENCY_ID = c.ID
WHERE
a.CUSTOMER_ID = #{customerId}
AND a.DATE_ID &lt;= #{dateId}
AND a.PROJECT_STATUS = 'closed'
GROUP BY
a.AGENCY_ID,
c.`LEVEL`
</select>

Loading…
Cancel
Save