Browse Source

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

dev_shibei_match
yinzuomei 4 years ago
parent
commit
f113a853e2
  1. 3
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java
  2. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java
  3. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java
  4. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java
  5. 21
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/IndexScoreResultDTO.java
  6. 6
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java
  7. 147
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java
  8. 5
      epmet-module/data-report/data-report-server/src/main/resources/mapper/index/IndexExplainDao.xml
  9. 3
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml
  10. 1
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSignInRecordDao.xml

3
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java

@ -1,7 +1,6 @@
package com.epmet.dataaggre.dto.resigroup.result;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -25,7 +24,7 @@ public class GroupActRankResultDTO implements Serializable {
private String participateUserName;
private List<GroupActRankDetailDTO> categoryList;
@JsonIgnore
// @JsonIgnore
private Integer sortValue;
public GroupActRankResultDTO() {

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java

@ -84,11 +84,6 @@ public class IndexExplainDTO implements Serializable {
*/
private String type;
/**
* 是否下钻1 0否eg网格的下级分数 下钻到党员
*/
private Integer goDown;
/**
* 删除标记 0未删除1已删除
*/

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java

@ -84,11 +84,6 @@ public class IndexExplainTreeDTO implements Serializable {
*/
private String type;
/**
* 是否下钻1 0否eg网格的下级分数 下钻到党员
*/
private Integer goDown;
/**
* 子节点
*/

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java

@ -44,5 +44,10 @@ public class IndexExplainResult {
*/
private List<String> thresholdList = new ArrayList<>();
/**
* 表格说明
*/
private String tableDesc;
}

21
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/IndexScoreResultDTO.java

@ -26,7 +26,14 @@ public class IndexScoreResultDTO implements Serializable {
*/
@JsonIgnore
private String party;
/**
* 党建能力 乘以权重后得分
*/
private BigDecimal partyDevAbility;
/**
* 党建能力 原始得分
*/
private BigDecimal partyOriginScore;
/**
* 党建能力权重(保留一位小数)
*/
@ -36,7 +43,14 @@ public class IndexScoreResultDTO implements Serializable {
*/
@JsonIgnore
private String govern;
/**
* 治理能力 乘以权重后得分
*/
private BigDecimal governAbility;
/**
* 治理能力 原始得分
*/
private BigDecimal governOriginScore;
/**
* 治理能力权重(保留一位小数)
*/
@ -46,7 +60,14 @@ public class IndexScoreResultDTO implements Serializable {
*/
@JsonIgnore
private String service;
/**
* 服务能力 乘以权重后得分
*/
private BigDecimal serviceAbility;
/**
* 服务能力 原始得分
*/
private BigDecimal serviceOriginScore;
/**
* 服务能力权重(保留一位小数)
*/

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

@ -25,8 +25,12 @@ public class IndexConstant {
private static final String BEN_JI_CN = "本级";
private 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 THRESHOLD_TEXT = "给定阈值%d%%,超过阈值不加分";
public static final String TABLE_DESC = "详见下表:";
public static final String INDEX_SCORE_TITLE = "当月指数";
public static final String INDEX_SCORE_DESC = "含义:自然月周期内,当月指数得分=党建指数得分*相关权重+治理指数得分*相关权重+服务指数得分*相关权重";
/**

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

@ -35,6 +35,7 @@ import com.epmet.evaluationindex.index.result.IndexGroupDetailResult;
import com.epmet.evaluationindex.index.result.IndexScoreDetailResult;
import com.epmet.evaluationindex.index.result.IndexScoreResult;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -67,6 +68,10 @@ public class IndexExplainServiceImpl implements IndexExplainService {
@Override
public List<IndexExplainResult> getScoreDetail(IndexExplainFormDTO formDTO) {
List<IndexExplainResult> results = new ArrayList<>();
IndexExplainResult first = new IndexExplainResult();
first.setTitle(IndexConstant.INDEX_SCORE_TITLE);
first.setMeaning(IndexConstant.INDEX_SCORE_DESC);
results.add(first);
List<IndexExplainTreeDTO> explainDTOList = indexExplainDao.getIndexExplainTreeByOrgType(formDTO.getOrgLevel());
if (CollectionUtils.isEmpty(explainDTOList)) {
return null;
@ -75,8 +80,8 @@ public class IndexExplainServiceImpl implements IndexExplainService {
if (CollectionUtils.isEmpty(groupDetailEntities)) {
return null;
}
Map<String, List<IndexGroupDetailResult>> detailEntityMap = groupDetailEntities.stream().collect(Collectors.groupingBy(IndexGroupDetailResult::getAllParentIndexCode));
Map<String, List<IndexGroupDetailResult>> detailEntityMap = groupDetailEntities.stream().collect(Collectors.groupingBy(IndexGroupDetailResult::getAllParentIndexCode));
for (IndexExplainTreeDTO explainDTO : explainDTOList) {
//根节点
@ -94,72 +99,101 @@ public class IndexExplainServiceImpl implements IndexExplainService {
}
private void setTableData(IndexExplainFormDTO formDTO, Map<String, List<IndexGroupDetailResult>> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) {
Integer goDown = explainDTO.getGoDown();
if (NumConstant.ONE == explainDTO.getIsSearch()) {
List<String> tableHeaders = getTableHeaders(explainDTO);
result.setTableTileList(tableHeaders);
switch (explainDTO.getOrgLevel()) {
List<IndexScoreResult> realScoreList = null;
String type = explainDTO.getType();
String orgLevel = formDTO.getOrgLevel();
IndexScoreFormDTO ablityListFormDTO = new IndexScoreFormDTO();
ablityListFormDTO.setCustomerId(formDTO.getCustomerId());
ablityListFormDTO.setOrgId(formDTO.getOrgId());
ablityListFormDTO.setMonthId(StringUtils.isBlank(formDTO.getMonthId()) ? DateUtils.getCurrentTimeBeforeMonthId() : formDTO.getMonthId());
switch (orgLevel) {
case "grid":
String type = explainDTO.getType();
String allIndexCodePath = null;
List<IndexScoreDetailResult> tableList = null;
if (IndexConstant.ZI_SHEN.equals(type)) {
allIndexCodePath = "wanggexiangguan:dangjiannengli";
tableList = setDefaultTableData(detailEntityMap, type, allIndexCodePath);
result.setTableDataList(tableList);
} else if (IndexConstant.XIA_JI.equals(type)) {
allIndexCodePath = "dangyuanxiangguan:lianxiqunzhong";
tableList = setDefaultTableData(detailEntityMap, type, allIndexCodePath);
result.setTableDataList(tableList);
}
//set Target value
IndexScoreFormDTO ablityListFormDTO = new IndexScoreFormDTO();
ablityListFormDTO.setCustomerId(formDTO.getCustomerId());
ablityListFormDTO.setOrgId(formDTO.getOrgId());
ablityListFormDTO.setMonthId(DateUtils.getCurrentTimeBeforeMonthId());
ablityListFormDTO.setAllParentIndexCode(allIndexCodePath);
//下钻到党员
List<IndexScoreResult> scoreList = null;
if (goDown == 1) {
scoreList = factIndexCpcSubScoreDao.selecCpcAvgScore(ablityListFormDTO);
} else {
allIndexCodePath = explainDTO.getIndexCode();
setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath);
//不下钻
scoreList = gridSubScoreDao.selectGridSubScore(ablityListFormDTO);
}
if (scoreList == null || tableList == null) {
return;
}
for (IndexScoreResult score : scoreList) {
for (IndexScoreDetailResult tb : tableList) {
if (tb.getIndexCode().equals(score.getIndexCode())) {
tb.setOriginValue(score.getOriginValue());
tb.setScore(String.valueOf(score.getScore()));
tb.setQuantity(score.getQuantity());
tb.setWeight(score.getWeight().multiply(new BigDecimal(100)).setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%");
}
}
ablityListFormDTO.setAllParentIndexCode(allIndexCodePath);
realScoreList = gridSubScoreDao.selectGridSubScore(ablityListFormDTO);
} else if (IndexConstant.XIA_JI.equals(type)) {
allIndexCodePath = explainDTO.getIndexCode();
setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath);
//下钻到党员
ablityListFormDTO.setAllParentIndexCode(allIndexCodePath);
realScoreList = factIndexCpcSubScoreDao.selecCpcAvgScore(ablityListFormDTO);
}
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, orgLevel);
result.setTableTileList(tableHeaders);
break;
case "community":
break;
default:
}
setRealValue(result.getTableDataList(), realScoreList);
}
}
/**
* desc: 设置实际值
*
* @param tableList
* @param scoreList
* @return void
* @author LiuJanJun
* @date 2021/5/19 2:07 下午
*/
private void setRealValue(List<IndexScoreDetailResult> tableList, List<IndexScoreResult> scoreList) {
if (CollectionUtils.isEmpty(tableList) || CollectionUtils.isEmpty(scoreList)) {
return;
}
for (IndexScoreResult score : scoreList) {
for (IndexScoreDetailResult tb : tableList) {
if (!tb.getIndexCode().equals(score.getIndexCode())) {
continue;
}
tb.setOriginValue(score.getOriginValue());
tb.setScore(String.valueOf(score.getScore()));
tb.setQuantity(score.getQuantity());
tb.setWeight(score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%");
}
}
}
private List<IndexScoreDetailResult> setDefaultTableData(Map<String, List<IndexGroupDetailResult>> detailEntityMap, String type, String allIndexCodePath) {
private List<IndexScoreDetailResult> setDefaultTableData(String orgLevel, String type, Map<String, List<IndexGroupDetailResult>> detailEntityMap, IndexExplainResult result, String allIndexCodePath) {
List<IndexGroupDetailResult> indexGroupDetailEntities = detailEntityMap.get(allIndexCodePath);
List<IndexScoreDetailResult> tableList = new ArrayList<>();
List<String> threlodList = new ArrayList<>();
indexGroupDetailEntities.forEach(index -> {
IndexScoreDetailResult table = new IndexScoreDetailResult();
if ("grid".equals(orgLevel) && IndexConstant.ZI_SHEN.equals(type) && index.getAllIndexCodePath().contains(IndexConstant.XIA_JI)) {
return;
}
table.setIndexCode(index.getIndexCode());
table.setIndexName(index.getIndexName());
table.setOriginValue(NumConstant.ZERO_STR);
table.setScore(NumConstant.ZERO_STR);
table.setWeight(index.getWeight().multiply(new BigDecimal(100)).setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%");
tableList.add(table);
if (new BigDecimal(-1).compareTo(index.getThreshold()) != 0) {
threlodList.add(index.getIndexName().concat(String.format(IndexConstant.THRESHOLD_TEXT, index.getThreshold().intValue())));
}
});
result.setTableDataList(tableList);
result.setThresholdList(threlodList);
result.setTableDesc(IndexConstant.TABLE_DESC);
return tableList;
}
@ -182,15 +216,32 @@ public class IndexExplainServiceImpl implements IndexExplainService {
}
private List<String> getTableHeaders(IndexExplainTreeDTO explain) {
String type = explain.getType();
private List<String> getTableHeaders(String type, String allIndexCode, String orgLevel) {
List<String> headers = new ArrayList<>();
if ("zishen".equals(type)) {
headers = IndexConstant.getStandardSelfHeaders(explain.getIndexCode());
} else if ("xiaji".equals(type)) {
headers = IndexConstant.getStandardSubHeaders(explain.getIndexCode());
switch (orgLevel) {
case "grid":
//还没确定怎么搞
if ("zishen".equals(type)) {
headers = IndexConstant.getStandardSelfHeaders(allIndexCode);
} else if ("xiaji".equals(type)) {
headers = IndexConstant.getStandardSubHeaders(allIndexCode);
if (allIndexCode.contains("canyuyishi")) {
headers.add(0, "组织内党员的参与议事指数考评分(平均值)");
} else if (allIndexCode.contains("lianxiqunzhong")) {
headers.add(0, "组织内党员的联系群众指数考评分(平均值)");
}
break;
}
default:
if ("zishen".equals(type)) {
headers = IndexConstant.getStandardSelfHeaders(allIndexCode);
} else if ("xiaji".equals(type)) {
headers = IndexConstant.getStandardSubHeaders(allIndexCode);
}
}
return headers;
}
}

5
epmet-module/data-report/data-report-server/src/main/resources/mapper/index/IndexExplainDao.xml

@ -14,14 +14,13 @@
<result property="sort" column="SORT"/>
<result property="isSearch" column="IS_SEARCH"/>
<result property="type" column="TYPE"/>
<result property="goDown" column="GO_DOWN"/>
<collection property="children" ofType="com.epmet.evaluationindex.index.dto.IndexExplainTreeDTO" column="ID" select="getIndexExplainTreeByPid">
</collection>
</resultMap>
<select id="getIndexExplainTreeByOrgType" resultMap="explainTreeResultMap">
SELECT
ID, CUSTOMER_ID, TITLE, MEANING, INDEX_CODE, ORG_LEVEL, PID, SORT, IS_SEARCH, TYPE, GO_DOWN
ID, CUSTOMER_ID, TITLE, MEANING, INDEX_CODE, ORG_LEVEL, PID, SORT, IS_SEARCH, TYPE
FROM index_explain
WHERE
ORG_LEVEL = #{orgLevel}
@ -31,7 +30,7 @@
</select>
<select id="getIndexExplainTreeByPid" resultMap="explainTreeResultMap">
SELECT
ID, CUSTOMER_ID, TITLE, MEANING, INDEX_CODE, ORG_LEVEL, PID, SORT, IS_SEARCH, TYPE, GO_DOWN
ID, CUSTOMER_ID, TITLE, MEANING, INDEX_CODE, ORG_LEVEL, PID, SORT, IS_SEARCH, TYPE
FROM index_explain
WHERE
DEL_FLAG = '0'

3
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml

@ -176,10 +176,13 @@
SELECT
index_total AS "total",
(party_dev_ablity * party_dev_weight) AS "party",
ROUND(party_dev_ablity,1) partyOriginScore,
party_dev_weight AS "partyDevAbilityWeight",
(govern_ablity * govern_ablity_weight) AS "govern",
ROUND(govern_ablity,1) governOriginScore,
govern_ablity_weight AS "governAbilityWeight",
(service_ablity * service_ablity_weight) AS "service",
ROUND(service_ablity,1) serviceOriginScore,
service_ablity_weight AS "serviceAbilityWeight"
FROM
screen_index_data_monthly

1
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSignInRecordDao.xml

@ -25,6 +25,7 @@
WHERE
acr.DEL_FLAG = '0'
AND acr.GROUP_ACT_ID = #{groupActId}
order by acr.CREATED_TIME desc
</select>
<select id="queryActSignInRecord" parameterType="map" resultType="com.epmet.modules.act.entity.ActSignInRecordEntity">

Loading…
Cancel
Save