diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/indexcoll/FactIndexPartyAblityCpcMonthlyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/indexcoll/FactIndexPartyAblityCpcMonthlyEntity.java index 689c396b2a..e78dc23b0a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/indexcoll/FactIndexPartyAblityCpcMonthlyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/indexcoll/FactIndexPartyAblityCpcMonthlyEntity.java @@ -50,7 +50,7 @@ public class FactIndexPartyAblityCpcMonthlyEntity extends BaseEpmetEntity { private String agencyId; /** - * 上级组织Id + * agency_id的上级组织Id */ private String parentId; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/indexcal/impl/GridCorreLationServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/indexcal/impl/GridCorreLationServiceImpl.java index f84b32d66e..da0c80ab78 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/indexcal/impl/GridCorreLationServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/indexcal/impl/GridCorreLationServiceImpl.java @@ -84,9 +84,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { logger.warn("calculateGridDangJian customerId:{} have not any indexGroupDetail", formDTO.getCustomerId()); throw new RenException("客户【网格相关:党建能力】指标权重信息不存在"); } - logger.info("=================================计算网格相关-党建能力 start==================================================================================="); calculateGridDangJian(formDTO, dangJianNengLiList); - logger.info("=================================计算网格相关-党建能力 end==================================================================================="); //2、计算网格相关-治理能力 List zhiLiNengLiList = indexGroupDetailService.getDetailListByParentCode(formDTO.getCustomerId(), IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode(), @@ -95,9 +93,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { logger.warn("calculateGridZhiLi customerId:{} have not any indexGroupDetail", formDTO.getCustomerId()); throw new RenException("客户【网格相关:治理能力】指标权重信息不存在"); } - logger.info("=================================计算网格相关-治理能力 start==================================================================================="); calculateGridZhiLi(formDTO, zhiLiNengLiList); - logger.info("=================================计算网格相关-治理能力 end==================================================================================="); //3、计算网格相关-服务能力 List fuWuNengLiList = indexGroupDetailService.getDetailListByParentCode(formDTO.getCustomerId(), IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode(), @@ -106,9 +102,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { logger.warn("calculateGridFuWu customerId:{} have not any indexGroupDetail", formDTO.getCustomerId()); throw new RenException("客户【网格相关:服务能力】指标权重信息不存在"); } - logger.info("=================================计算网格相关-服务能力 start==================================================================================="); calculateGridFuWu(formDTO, fuWuNengLiList); - logger.info("=================================计算网格相关-服务能力 end==================================================================================="); //4、计算网格相关总分 List wgxgList = indexGroupDetailService.getDetailListByParentCode(formDTO.getCustomerId(), IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode()); @@ -167,7 +161,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { //列名不为空 if (IndexCodeEnum.ZUZHINEIDANGYDLXQZNLKPFPJZ.getCode().equals(key)) { //组织内党员的联系群众能力考评分(平均值) - logger.info("组织内党员的联系群众能力考评分(平均值) 单独处理"); +// logger.info("组织内党员的联系群众能力考评分(平均值) 单独处理"); //网格内党员的联系群众能力考评分(平均值) String gridId = (String) recordMap.get(IndexCalConstant.GRID_ID); BigDecimal contactMassesAvgValue = getGridContactMassesAvgValue(formDTO, gridId); @@ -198,8 +192,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { **/ private Map getContactMassesAblityMap(CalculateCommonFormDTO calculateCommonFormDTO) { Map map = new HashMap<>(); - //TODO - /*List list = cpcScoreDao.selectListGridContactMassesAvgValue(calculateCommonFormDTO); + List list = cpcScoreDao.selectListGridContactMassesAvgValue(calculateCommonFormDTO); if (!CollectionUtils.isEmpty(list)) { BigDecimal minValue = Collections.min(list); BigDecimal maxValue = Collections.max(list); @@ -208,9 +201,10 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { return map; } map.put(StrConstant.MIN, new BigDecimal(NumConstant.ZERO_STR)); - map.put(StrConstant.MAX, new BigDecimal(NumConstant.ZERO_STR));*/ - map.put(StrConstant.MIN, new BigDecimal("24.35")); - map.put(StrConstant.MAX, new BigDecimal("46.13")); + map.put(StrConstant.MAX, new BigDecimal(NumConstant.ZERO_STR)); + //FOR TEST + /*map.put(StrConstant.MIN, new BigDecimal("24.35")); + map.put(StrConstant.MAX, new BigDecimal("46.13"));*/ return map; } @@ -223,19 +217,19 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { * @Date 2020/8/31 9:50 **/ private BigDecimal getGridContactMassesAvgValue(CalculateCommonFormDTO calculateCommonFormDTO, String gridId) { - //TODO - /*BigDecimal result = cpcScoreDao.selectGridContactMassesAvgValue(calculateCommonFormDTO.getCustomerId(), calculateCommonFormDTO.getMonthId(), gridId); + BigDecimal result = cpcScoreDao.selectGridContactMassesAvgValue(calculateCommonFormDTO.getCustomerId(), calculateCommonFormDTO.getMonthId(), gridId); if (null == result) { return new BigDecimal(NumConstant.ZERO_STR); - }*/ - BigDecimal result=null; + } + //FOR TEST + /* BigDecimal result=null; if(IndexCalConstant.S1_C1_G1.equals(gridId)){ result= new BigDecimal("24.43"); }else if(IndexCalConstant.S1_C1_G2.equals(gridId)){ result=new BigDecimal("46.13"); }else if(IndexCalConstant.S1_C2_G1.equals(gridId)){ result=new BigDecimal("24.35"); - } + }*/ return result; } @@ -248,19 +242,19 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { * @Date 2020/8/31 15:51 **/ private BigDecimal getGridJoinIssueAvgValue(CalculateCommonFormDTO formDTO, String gridId) { - // TODO - /*BigDecimal result = cpcScoreDao.selectGridJoinIssueAvgValue(formDTO.getCustomerId(), formDTO.getMonthId(), gridId); + BigDecimal result = cpcScoreDao.selectGridJoinIssueAvgValue(formDTO.getCustomerId(), formDTO.getMonthId(), gridId); if (null == result) { return new BigDecimal(NumConstant.ZERO_STR); - }*/ - BigDecimal result=null; + } + //FOR TEST + /*BigDecimal result=null; if(IndexCalConstant.S1_C1_G1.equals(gridId)){ result= new BigDecimal("29.40"); }else if(IndexCalConstant.S1_C1_G2.equals(gridId)){ result=new BigDecimal("18.30"); }else if(IndexCalConstant.S1_C2_G1.equals(gridId)){ result=new BigDecimal("9.15"); - } + }*/ return result; } @@ -273,8 +267,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { **/ private Map getJoinIssueAblityMap(CalculateCommonFormDTO calculateCommonFormDTO) { Map map = new HashMap<>(); - //TODO - /* List list = cpcScoreDao.selectListJoinIssueAvgValue(calculateCommonFormDTO); + List list = cpcScoreDao.selectListJoinIssueAvgValue(calculateCommonFormDTO); if (!CollectionUtils.isEmpty(list)) { BigDecimal minValue = Collections.min(list); BigDecimal maxValue = Collections.max(list); @@ -283,9 +276,10 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { return map; } map.put(StrConstant.MIN, new BigDecimal(NumConstant.ZERO_STR)); - map.put(StrConstant.MAX, new BigDecimal(NumConstant.ZERO_STR));*/ - map.put(StrConstant.MIN, new BigDecimal("9.15")); - map.put(StrConstant.MAX, new BigDecimal("29.4")); + map.put(StrConstant.MAX, new BigDecimal(NumConstant.ZERO_STR)); + // FOR TEST + /*map.put(StrConstant.MIN, new BigDecimal("9.15")); + map.put(StrConstant.MAX, new BigDecimal("29.4"));*/ return map; } @@ -308,7 +302,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { String yearId = DateUtils.getYearId(formDTO.getMonthId()); for (HashMap resultMap : resultMapList) { resultMap.forEach((gridId, partyAblityScore) -> { - logger.info("网格id:" + gridId + ";分值:" + partyAblityScore); + logger.info("网格id:" + gridId + ";index_Code:"+indexCode+";分值:" + partyAblityScore); GridScoreEntity gridScoreEntity = new GridScoreEntity(); gridScoreEntity.setCustomerId(formDTO.getCustomerId()); gridScoreEntity.setGridId(gridId); @@ -346,15 +340,15 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { private HashMap calculate(Map> indexMap) { //构造入参 List indexInputVOS = this.getIndexInputVOList(indexMap); -// logger.info("计算的参数:{}", indexInputVOS); - logger.info("..........计算的参数(List)"+JSON.toJSONString(indexInputVOS)); + logger.info("计算的参数"+JSON.toJSONString(indexInputVOS)); BatchScoreCalculator batchScoreCalculator = new BatchScoreCalculator(); - List listTemp=batchScoreCalculator.getScoreDetailOfIndexId(indexInputVOS); - logger.info("..........计算的结果(List)"+JSON.toJSONString(listTemp)); + //如果想看每一个指标的分值调用下面的方法 + /*List listTemp=batchScoreCalculator.getScoreDetailOfIndexId(indexInputVOS); + logger.info("计算的结果(List)"+JSON.toJSONString(listTemp));*/ HashMap resultMap = batchScoreCalculator.getScoreCountOfSampleId(indexInputVOS); - logger.info("计算的结果(HashMap):{}", resultMap); + logger.info("计算的结果{}", resultMap); return resultMap; } @@ -386,23 +380,16 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { private Map> buildGridCorrelationIndexInputVO(CalculateCommonFormDTO formDTO, List indexList, Map minAndMaxMap) { Map> map = new HashMap<>(); for (IndexGroupDetailEntity index : indexList) { -// IndexInputVO indexInputVO = new IndexInputVO(); - // 指标code -// indexInputVO.setIndexId(index.getIndexCode()); - //阈值 -// indexInputVO.setThreshold(index.getThreshold()); - //权重 -// indexInputVO.setWeight(index.getWeight()); BigDecimal minValue = null; BigDecimal maxValue = null; if (IndexCodeEnum.ZUZHINEIDANGYDLXQZNLKPFPJZ.getCode().equals(index.getIndexCode())) { //组织内党员的联系群众能力考评分(平均值) 获取最大值,最小值 - logger.info("组织内党员的联系群众能力考评分(平均值) 单独处理"); +// logger.info("组织内党员的联系群众能力考评分(平均值) 单独处理"); Map contactMassesAblityMap = this.getContactMassesAblityMap(formDTO); minValue = contactMassesAblityMap.get(StrConstant.MIN); maxValue = contactMassesAblityMap.get(StrConstant.MAX); } else if (IndexCodeEnum.ZUZHINEIDANGYDSYYSNLKPFPJZ.getCode().equals(index.getIndexCode())) { - logger.info("组织内党员的参与议事能力考评分(平均值) 单独处理"); +// logger.info("组织内党员的参与议事能力考评分(平均值) 单独处理"); Map joinIssueAblityMap = this.getJoinIssueAblityMap(formDTO); minValue = joinIssueAblityMap.get(StrConstant.MIN); maxValue = joinIssueAblityMap.get(StrConstant.MAX); @@ -410,12 +397,10 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { //获取指标对应的列名 String fieldName = indexCodeFieldReService.getFieldNameByIndexCode(index.getIndexCode()); if (StringUtils.isBlank(fieldName)) { - logger.error("index_code1:{} not find field_name",index.getIndexCode()); + logger.error("index_code:{} not find field_name",index.getIndexCode()); continue; - }else{ - logger.info("index_code2:{} ,field_name:{}",index.getIndexCode(),fieldName); } -// logger.info("index_code:{} ",index.getIndexCode(),"field_id :{} ",fieldName); +// logger.info("index_code2:{} ,field_name:{}",index.getIndexCode(),fieldName); String minValueKey = fieldName.concat(StrConstant.UNDER_LINE).concat(StrConstant.MIN); String maxValueKey = fieldName.concat(StrConstant.UNDER_LINE).concat(StrConstant.MAX); minValue = new BigDecimal(String.valueOf(minAndMaxMap.get(minValueKey))); @@ -428,13 +413,11 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { ScoreConstants.MAX_SCORE, Correlation.getCorrelation(index.getCorrelation()) ); -// indexInputVO.setScoreCalculator(scoreCalculator); List> sampleValueList = new ArrayList<>(); -// indexInputVO.setIndexValueVOs(sampleValueList); IndexInputVO indexInputVO1 = new IndexInputVO(index.getIndexCode(), sampleValueList, -// index.getThreshold(), TODO - new BigDecimal("-1"), + index.getThreshold(), +// new BigDecimal("-1"),//FOR TEST index.getWeight(), scoreCalculator); map.put(index.getIndexCode(), indexInputVO1); @@ -484,7 +467,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { indexMap.forEach((key, value) -> { //列名不为空 if (IndexCodeEnum.ZUZHINEIDANGYDSYYSNLKPFPJZ.getCode().equals(key)) { - logger.info("组织内党员的参与议事能力考评分(平均值) 单独处理"); +// logger.info("组织内党员的参与议事能力考评分(平均值) 单独处理"); String gridId = (String) recordMap.get(IndexCalConstant.GRID_ID); BigDecimal joinAvgValue = getGridJoinIssueAvgValue(formDTO, gridId); SampleValue contactMassesAblityValue = new SampleValue((String) recordMap.get(IndexCalConstant.GRID_ID), joinAvgValue); @@ -586,13 +569,6 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { GridScoreEntity gridScoreEntity = ConvertUtils.sourceToTarget(gridScoreDTO, GridScoreEntity.class); gridScoreEntity.setIsTotal(NumConstant.ONE_STR); gridScoreEntity.setIndexCode(indexCode); -// gridScoreEntity.setCustomerId(gridScoreDTO.getCustomerId()); -// gridScoreEntity.setGridId(gridScoreDTO.getGridId()); -// gridScoreEntity.setAgencyId(gridScoreDTO.getAgencyId()); -// gridScoreEntity.setAllParentIds(gridScoreDTO.getAllParentIds()); -// gridScoreEntity.setQuarterId(gridScoreDTO.getQuarterId()); -// gridScoreEntity.setYearId(gridScoreDTO.getYearId()); -// gridScoreEntity.setMonthId(gridScoreDTO.getMonthId()); gridScoreEntity.setScore(BigDecimal.ZERO); if (!CollectionUtils.isEmpty(gridScoreDTO.getDetailList()) && gridScoreDTO.getDetailList().size() != 3) { logger.error("customerId:" + gridScoreDTO.getCustomerId() + ";gridId:" + gridScoreDTO.getGridId() + ";monthId:" + gridScoreDTO.getMonthId() + "能力值缺失,无法计算总值"); @@ -610,14 +586,6 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { } } - public static void main(String[] args) { - BigDecimal totalScore = BigDecimal.ZERO; - for (int i = 1; i < 5; i++) { - totalScore = totalScore.add(new BigDecimal("1.00")); - } - System.out.println(totalScore); - } - /** * @param customerId * @return com.epmet.dto.indexcal.CustomerGridInfoDTO