diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java index 06c22aaa61..76fc992ea3 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java @@ -95,14 +95,14 @@ public class IndexExplainServiceImpl implements IndexExplainService { private void setTableData(IndexExplainFormDTO formDTO, Map> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) { if (NumConstant.ONE == explainDTO.getIsSearch()) { - String type = explainDTO.getType(); + List realScoreList = null; - switch (explainDTO.getOrgLevel()) { + String type = explainDTO.getType(); + String orgLevel = formDTO.getOrgLevel(); + switch (orgLevel) { case "grid": String allIndexCodePath = null; - List tableList = null; - List 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 tableHeaders = getTableHeaders(type, allIndexCodePath, formDTO.getOrgLevel()); + List 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 tableHeaders = getTableHeaders(type, allIndexCodePath, formDTO.getOrgLevel()); + List 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 tableList, List 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) + "%"); + } } }