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; package com.epmet.dataaggre.dto.resigroup.result;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -25,7 +24,7 @@ public class GroupActRankResultDTO implements Serializable {
private String participateUserName; private String participateUserName;
private List<GroupActRankDetailDTO> categoryList; private List<GroupActRankDetailDTO> categoryList;
@JsonIgnore // @JsonIgnore
private Integer sortValue; private Integer sortValue;
public GroupActRankResultDTO() { 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; private String type;
/**
* 是否下钻1 0否eg网格的下级分数 下钻到党员
*/
private Integer goDown;
/** /**
* 删除标记 0未删除1已删除 * 删除标记 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; 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 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 @JsonIgnore
private String party; private String party;
/**
* 党建能力 乘以权重后得分
*/
private BigDecimal partyDevAbility; private BigDecimal partyDevAbility;
/**
* 党建能力 原始得分
*/
private BigDecimal partyOriginScore;
/** /**
* 党建能力权重(保留一位小数) * 党建能力权重(保留一位小数)
*/ */
@ -36,7 +43,14 @@ public class IndexScoreResultDTO implements Serializable {
*/ */
@JsonIgnore @JsonIgnore
private String govern; private String govern;
/**
* 治理能力 乘以权重后得分
*/
private BigDecimal governAbility; private BigDecimal governAbility;
/**
* 治理能力 原始得分
*/
private BigDecimal governOriginScore;
/** /**
* 治理能力权重(保留一位小数) * 治理能力权重(保留一位小数)
*/ */
@ -46,7 +60,14 @@ public class IndexScoreResultDTO implements Serializable {
*/ */
@JsonIgnore @JsonIgnore
private String service; private String service;
/**
* 服务能力 乘以权重后得分
*/
private BigDecimal serviceAbility; 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 BEN_JI_CN = "本级";
private static final String XIA_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 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.IndexScoreDetailResult;
import com.epmet.evaluationindex.index.result.IndexScoreResult; import com.epmet.evaluationindex.index.result.IndexScoreResult;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -67,6 +68,10 @@ public class IndexExplainServiceImpl implements IndexExplainService {
@Override @Override
public List<IndexExplainResult> getScoreDetail(IndexExplainFormDTO formDTO) { public List<IndexExplainResult> getScoreDetail(IndexExplainFormDTO formDTO) {
List<IndexExplainResult> results = new ArrayList<>(); 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()); List<IndexExplainTreeDTO> explainDTOList = indexExplainDao.getIndexExplainTreeByOrgType(formDTO.getOrgLevel());
if (CollectionUtils.isEmpty(explainDTOList)) { if (CollectionUtils.isEmpty(explainDTOList)) {
return null; return null;
@ -75,8 +80,8 @@ public class IndexExplainServiceImpl implements IndexExplainService {
if (CollectionUtils.isEmpty(groupDetailEntities)) { if (CollectionUtils.isEmpty(groupDetailEntities)) {
return null; 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) { 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) { private void setTableData(IndexExplainFormDTO formDTO, Map<String, List<IndexGroupDetailResult>> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) {
Integer goDown = explainDTO.getGoDown();
if (NumConstant.ONE == explainDTO.getIsSearch()) { if (NumConstant.ONE == explainDTO.getIsSearch()) {
List<String> tableHeaders = getTableHeaders(explainDTO); List<IndexScoreResult> realScoreList = null;
result.setTableTileList(tableHeaders);
switch (explainDTO.getOrgLevel()) { 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": case "grid":
String type = explainDTO.getType();
String allIndexCodePath = null; String allIndexCodePath = null;
List<IndexScoreDetailResult> tableList = null;
if (IndexConstant.ZI_SHEN.equals(type)) { if (IndexConstant.ZI_SHEN.equals(type)) {
allIndexCodePath = "wanggexiangguan:dangjiannengli"; allIndexCodePath = explainDTO.getIndexCode();
tableList = setDefaultTableData(detailEntityMap, type, allIndexCodePath);
result.setTableDataList(tableList); setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath);
} 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 {
//不下钻 //不下钻
scoreList = gridSubScoreDao.selectGridSubScore(ablityListFormDTO); ablityListFormDTO.setAllParentIndexCode(allIndexCodePath);
} realScoreList = gridSubScoreDao.selectGridSubScore(ablityListFormDTO);
if (scoreList == null || tableList == null) {
return;
} } else if (IndexConstant.XIA_JI.equals(type)) {
for (IndexScoreResult score : scoreList) { allIndexCodePath = explainDTO.getIndexCode();
for (IndexScoreDetailResult tb : tableList) {
if (tb.getIndexCode().equals(score.getIndexCode())) { setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath);
tb.setOriginValue(score.getOriginValue());
tb.setScore(String.valueOf(score.getScore())); //下钻到党员
tb.setQuantity(score.getQuantity()); ablityListFormDTO.setAllParentIndexCode(allIndexCodePath);
tb.setWeight(score.getWeight().multiply(new BigDecimal(100)).setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%"); realScoreList = factIndexCpcSubScoreDao.selecCpcAvgScore(ablityListFormDTO);
}
}
} }
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, orgLevel);
result.setTableTileList(tableHeaders);
break;
case "community":
break; break;
default: 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<IndexGroupDetailResult> indexGroupDetailEntities = detailEntityMap.get(allIndexCodePath);
List<IndexScoreDetailResult> tableList = new ArrayList<>(); List<IndexScoreDetailResult> tableList = 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)) {
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(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%");
tableList.add(table); 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; return tableList;
} }
@ -182,15 +216,32 @@ public class IndexExplainServiceImpl implements IndexExplainService {
} }
private List<String> getTableHeaders(IndexExplainTreeDTO explain) { private List<String> getTableHeaders(String type, String allIndexCode, String orgLevel) {
String type = explain.getType();
List<String> headers = new ArrayList<>(); List<String> headers = new ArrayList<>();
if ("zishen".equals(type)) { switch (orgLevel) {
headers = IndexConstant.getStandardSelfHeaders(explain.getIndexCode()); case "grid":
//还没确定怎么搞
} else if ("xiaji".equals(type)) { if ("zishen".equals(type)) {
headers = IndexConstant.getStandardSubHeaders(explain.getIndexCode()); 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; 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="sort" column="SORT"/>
<result property="isSearch" column="IS_SEARCH"/> <result property="isSearch" column="IS_SEARCH"/>
<result property="type" column="TYPE"/> <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 property="children" ofType="com.epmet.evaluationindex.index.dto.IndexExplainTreeDTO" column="ID" select="getIndexExplainTreeByPid">
</collection> </collection>
</resultMap> </resultMap>
<select id="getIndexExplainTreeByOrgType" resultMap="explainTreeResultMap"> <select id="getIndexExplainTreeByOrgType" resultMap="explainTreeResultMap">
SELECT 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 FROM index_explain
WHERE WHERE
ORG_LEVEL = #{orgLevel} ORG_LEVEL = #{orgLevel}
@ -31,7 +30,7 @@
</select> </select>
<select id="getIndexExplainTreeByPid" resultMap="explainTreeResultMap"> <select id="getIndexExplainTreeByPid" resultMap="explainTreeResultMap">
SELECT 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 FROM index_explain
WHERE WHERE
DEL_FLAG = '0' DEL_FLAG = '0'

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

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

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

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

Loading…
Cancel
Save