From aa89523b1f2becc46affa1bdcbf1d140477088d6 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 19 May 2021 13:54:05 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=BE=97=E5=88=86?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index/dto/IndexExplainDTO.java | 5 -- .../index/dto/IndexExplainTreeDTO.java | 5 -- .../datareport/constant/IndexConstant.java | 3 +- .../index/impl/IndexExplainServiceImpl.java | 86 ++++++++++++------- .../mapper/index/IndexExplainDao.xml | 5 +- 5 files changed, 59 insertions(+), 45 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java index 9980f5500d..d48084d3df 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainDTO.java +++ b/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:已删除 */ diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java index e50b466e9d..d812953500 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/dto/IndexExplainTreeDTO.java +++ b/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; - /** * 子节点 */ diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java index 4e2c5e01e1..5f177f9f8b 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java +++ b/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%%,超过阈值不加分"; /** 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 0f79d225e2..06c22aaa61 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 @@ -94,39 +94,51 @@ public class IndexExplainServiceImpl implements IndexExplainService { } private void setTableData(IndexExplainFormDTO formDTO, Map> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) { - Integer goDown = explainDTO.getGoDown(); if (NumConstant.ONE == explainDTO.getIsSearch()) { - List tableHeaders = getTableHeaders(explainDTO); - result.setTableTileList(tableHeaders); + String type = explainDTO.getType(); + switch (explainDTO.getOrgLevel()) { case "grid": - String type = explainDTO.getType(); String allIndexCodePath = null; List 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 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 scoreList = null; - if (goDown == 1) { - scoreList = factIndexCpcSubScoreDao.selecCpcAvgScore(ablityListFormDTO); - } else { + + + if (IndexConstant.ZI_SHEN.equals(type)) { + allIndexCodePath = "wanggexiangguan:dangjiannengli"; + + List 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 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 setDefaultTableData(Map> detailEntityMap, String type, String allIndexCodePath) { + private List setDefaultTableData(String orgLevel, String type, Map> detailEntityMap, IndexExplainResult result, String allIndexCodePath) { List indexGroupDetailEntities = detailEntityMap.get(allIndexCodePath); List tableList = new ArrayList<>(); + List 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 getTableHeaders(IndexExplainTreeDTO explain) { - String type = explain.getType(); + private List getTableHeaders(String type, String allIndexCode, String orgLevel) { List 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; } } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/index/IndexExplainDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/index/IndexExplainDao.xml index 392ba21ddd..9c7f5d0870 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/index/IndexExplainDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/index/IndexExplainDao.xml @@ -14,14 +14,13 @@ -