|
|
@ -95,14 +95,14 @@ public class IndexExplainServiceImpl implements IndexExplainService { |
|
|
|
|
|
|
|
private void setTableData(IndexExplainFormDTO formDTO, Map<String, List<IndexGroupDetailResult>> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) { |
|
|
|
if (NumConstant.ONE == explainDTO.getIsSearch()) { |
|
|
|
String type = explainDTO.getType(); |
|
|
|
List<IndexScoreResult> realScoreList = null; |
|
|
|
|
|
|
|
switch (explainDTO.getOrgLevel()) { |
|
|
|
String type = explainDTO.getType(); |
|
|
|
String orgLevel = formDTO.getOrgLevel(); |
|
|
|
switch (orgLevel) { |
|
|
|
case "grid": |
|
|
|
String allIndexCodePath = null; |
|
|
|
List<IndexScoreDetailResult> tableList = null; |
|
|
|
|
|
|
|
List<IndexScoreResult> scoreList = null; |
|
|
|
//set Target value
|
|
|
|
IndexScoreFormDTO ablityListFormDTO = new IndexScoreFormDTO(); |
|
|
|
ablityListFormDTO.setCustomerId(formDTO.getCustomerId()); |
|
|
@ -113,48 +113,61 @@ public class IndexExplainServiceImpl implements IndexExplainService { |
|
|
|
if (IndexConstant.ZI_SHEN.equals(type)) { |
|
|
|
allIndexCodePath = "wanggexiangguan:dangjiannengli"; |
|
|
|
|
|
|
|
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, formDTO.getOrgLevel()); |
|
|
|
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, orgLevel); |
|
|
|
result.setTableTileList(tableHeaders); |
|
|
|
|
|
|
|
|
|
|
|
tableList = setDefaultTableData(formDTO.getOrgLevel(), type, detailEntityMap, result, allIndexCodePath); |
|
|
|
setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath); |
|
|
|
|
|
|
|
//不下钻
|
|
|
|
ablityListFormDTO.setAllParentIndexCode(allIndexCodePath); |
|
|
|
scoreList = gridSubScoreDao.selectGridSubScore(ablityListFormDTO); |
|
|
|
realScoreList = gridSubScoreDao.selectGridSubScore(ablityListFormDTO); |
|
|
|
} else if (IndexConstant.XIA_JI.equals(type)) { |
|
|
|
|
|
|
|
allIndexCodePath = "dangyuanxiangguan:lianxiqunzhong"; |
|
|
|
|
|
|
|
|
|
|
|
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, formDTO.getOrgLevel()); |
|
|
|
List<String> tableHeaders = getTableHeaders(type, allIndexCodePath, orgLevel); |
|
|
|
tableHeaders.add(0, "组织内党员的联系群众指数考评分(平均值)"); |
|
|
|
result.setTableTileList(tableHeaders); |
|
|
|
|
|
|
|
tableList = setDefaultTableData(formDTO.getOrgLevel(), type, detailEntityMap, result, allIndexCodePath); |
|
|
|
setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath); |
|
|
|
|
|
|
|
//下钻到党员
|
|
|
|
ablityListFormDTO.setAllParentIndexCode(allIndexCodePath); |
|
|
|
scoreList = factIndexCpcSubScoreDao.selecCpcAvgScore(ablityListFormDTO); |
|
|
|
realScoreList = factIndexCpcSubScoreDao.selecCpcAvgScore(ablityListFormDTO); |
|
|
|
} |
|
|
|
|
|
|
|
if (scoreList == 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(NumConstant.ONE_HUNDRED)).setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP) + "%"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
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) + "%"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|