Browse Source

网格得分说明暂存

master
jianjun 5 years ago
parent
commit
aa89523b1f
  1. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java
  2. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java
  3. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java
  4. 86
      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/resources/mapper/index/IndexExplainDao.xml

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;
/**
* 子节点
*/

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

@ -25,8 +25,9 @@ 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%%,超过阈值不加分";
/**

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

@ -94,39 +94,51 @@ 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);
String type = explainDTO.getType();
switch (explainDTO.getOrgLevel()) {
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);
}
List<IndexScoreResult> scoreList = null;
//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 {
if (IndexConstant.ZI_SHEN.equals(type)) {
allIndexCodePath = "wanggexiangguan:dangjiannengli";
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, formDTO.getOrgLevel());
result.setTableTileList(tableHeaders);
tableList = setDefaultTableData(formDTO.getOrgLevel(), type, detailEntityMap, result, allIndexCodePath);
//不下钻
ablityListFormDTO.setAllParentIndexCode(allIndexCodePath);
scoreList = gridSubScoreDao.selectGridSubScore(ablityListFormDTO);
} else if (IndexConstant.XIA_JI.equals(type)) {
allIndexCodePath = "dangyuanxiangguan:lianxiqunzhong";
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, formDTO.getOrgLevel());
tableHeaders.add(0, "组织内党员的联系群众指数考评分(平均值)");
result.setTableTileList(tableHeaders);
tableList = setDefaultTableData(formDTO.getOrgLevel(), type, detailEntityMap, result, allIndexCodePath);
//下钻到党员
ablityListFormDTO.setAllParentIndexCode(allIndexCodePath);
scoreList = factIndexCpcSubScoreDao.selecCpcAvgScore(ablityListFormDTO);
}
if (scoreList == null || tableList == null) {
if (scoreList == null) {
return;
}
for (IndexScoreResult score : scoreList) {
@ -135,12 +147,10 @@ public class IndexExplainServiceImpl implements IndexExplainService {
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) + "%");
tb.setWeight(score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%");
}
}
}
break;
default:
@ -148,18 +158,27 @@ public class IndexExplainServiceImpl implements IndexExplainService {
}
}
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);
return tableList;
}
@ -182,15 +201,20 @@ 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":
//还没确定怎么搞
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'

Loading…
Cancel
Save