From 358ced173b7f1851514f797be1a96aa402a11ce7 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 1 Sep 2020 10:20:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=98=88=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/GridCorreLationServiceImpl.java | 208 ++++++++++-------- 1 file changed, 121 insertions(+), 87 deletions(-) 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 7897c2560b..98a35e93fe 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 @@ -2,6 +2,7 @@ package com.epmet.service.indexcal.impl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.IndexCalConstant; import com.epmet.dao.indexcoll.FactIndexGovrnAblityGridMonthlyDao; @@ -70,33 +71,45 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { @Override public Boolean calculateGridCorreLation(CalculateCommonFormDTO formDTO) { boolean resultFlag = false; + //1、计算网格相关-党建能力 List dangJianNengLiList = indexGroupDetailService.getDetailListByParentCode(formDTO.getCustomerId(), IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode(), IndexCodeEnum.DANG_JIAN_NENG_LI.getCode()); - if (!CollectionUtils.isEmpty(dangJianNengLiList)) { - //1、计算网格相关-党建能力 - calculateGridDangJian(formDTO, dangJianNengLiList); + if (CollectionUtils.isEmpty(dangJianNengLiList)) { + logger.warn("calculateGridDangJian customerId:{} have not any indexGroupDetail", formDTO.getCustomerId()); + throw new RenException("客户【网格相关:党建能力】指标权重信息不存在"); } + calculateGridDangJian(formDTO, dangJianNengLiList); + + //2、计算网格相关-治理能力 List zhiLiNengLiList = indexGroupDetailService.getDetailListByParentCode(formDTO.getCustomerId(), IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode(), IndexCodeEnum.ZHI_LI_NENG_LI.getCode()); - if (!CollectionUtils.isEmpty(zhiLiNengLiList)) { - //2、计算网格相关-治理能力 - calculateGridZhiLi(formDTO, zhiLiNengLiList); + if (CollectionUtils.isEmpty(zhiLiNengLiList)) { + logger.warn("calculateGridZhiLi customerId:{} have not any indexGroupDetail", formDTO.getCustomerId()); + throw new RenException("客户【网格相关:治理能力】指标权重信息不存在"); } + calculateGridZhiLi(formDTO, zhiLiNengLiList); + + //3、计算网格相关-服务能力 List fuWuNengLiList = indexGroupDetailService.getDetailListByParentCode(formDTO.getCustomerId(), IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode(), IndexCodeEnum.FU_WU_NENG_LI.getCode()); - if (!CollectionUtils.isEmpty(fuWuNengLiList)) { - //3、计算网格相关-服务能力 - calculateGridFuWu(formDTO, fuWuNengLiList); + if (CollectionUtils.isEmpty(fuWuNengLiList)) { + logger.warn("calculateGridFuWu customerId:{} have not any indexGroupDetail", formDTO.getCustomerId()); + throw new RenException("客户【网格相关:服务能力】指标权重信息不存在"); } - //计算网格相关总分 + calculateGridFuWu(formDTO, fuWuNengLiList); + + //4、计算网格相关总分 List wgxgList = indexGroupDetailService.getDetailListByParentCode(formDTO.getCustomerId(), IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode()); - if (!CollectionUtils.isEmpty(wgxgList)) { - calculateGridTotal(formDTO, wgxgList,IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode()); + if (CollectionUtils.isEmpty(wgxgList)) { + logger.warn("calculateGridTotal customerId:{} have not any indexGroupDetail", formDTO.getCustomerId()); + throw new RenException("客户【网格相关】指标权重信息不存在"); } + calculateGridTotal(formDTO, wgxgList, IndexCodeEnum.WANG_GE_XIANG_GUAN.getCode()); + resultFlag = true; return resultFlag; } @@ -122,9 +135,13 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { logger.info(String.format("共%s条数据,分%s次计算", total, totalPage)); //每一组指标的最大值,key:code_MIN/MAX Map minAndMaxMap = queryPartyAblityGridMinAndMax(formDTO.getCustomerId(), formDTO.getMonthId()); + if (CollectionUtils.isEmpty(minAndMaxMap)) { + logger.error("calculateGridDangJian queryPartyAblityGridMinAndMax customerId:{} monthId:{} have not any fact record", formDTO.getCustomerId(),formDTO.getMonthId()); + return; + } //指标集合 - Map> indexMap = getGridCorrelationIndexInputVO(formDTO, indexList, minAndMaxMap); - List> resultMapList=new ArrayList<>(); + Map> indexMap = buildGridCorrelationIndexInputVO(formDTO, indexList, minAndMaxMap); + List> resultMapList = new ArrayList<>(); //分页查询采集记录 for (int pageNo = 1; pageNo <= totalPage; pageNo++) { int pageIndex = (pageNo - NumConstant.ONE) * IndexCalConstant.PAGE_SIZE; @@ -149,8 +166,8 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { //组织内党员的联系群众能力考评分(平均值) logger.info("组织内党员的联系群众能力考评分(平均值) 单独处理"); //网格内党员的联系群众能力考评分(平均值) - String gridId=(String) recordMap.get(IndexCalConstant.GRID_ID); - BigDecimal contactMassesAvgValue = getGridContactMassesAvgValue(formDTO,gridId); + String gridId = (String) recordMap.get(IndexCalConstant.GRID_ID); + BigDecimal contactMassesAvgValue = getGridContactMassesAvgValue(formDTO, gridId); SampleValue contactMassesAblityValue = new SampleValue((String) recordMap.get(IndexCalConstant.GRID_ID), contactMassesAvgValue); value.getIndexValueVOs().add(contactMassesAblityValue); } @@ -160,96 +177,96 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { resultMapList.add(resultMap); } // 保存中间表 - saveGridCorreLationDangJian(formDTO, resultMapList,IndexCodeEnum.DANG_JIAN_NENG_LI.getCode(),NumConstant.ZERO_STR); + saveGridCorreLationResult(formDTO, resultMapList, IndexCodeEnum.DANG_JIAN_NENG_LI.getCode(), NumConstant.ZERO_STR); } /** - * @return java.util.Map * @param calculateCommonFormDTO + * @return java.util.Map * @author yinzuomei * @description 获取网格内党员的联系群众能力考评分(平均值)的最大值,最小值 * @Date 2020/8/31 9:51 **/ private Map getContactMassesAblityMap(CalculateCommonFormDTO calculateCommonFormDTO) { - Map map=new HashMap<>(); - List list=cpcScoreDao.selectListGridContactMassesAvgValue(calculateCommonFormDTO); - if(!CollectionUtils.isEmpty(list)){ - BigDecimal minValue=Collections.min(list); - BigDecimal maxValue=Collections.max(list); - map.put(StrConstant.MIN,minValue); - map.put(StrConstant.MAX,maxValue); + Map map = new HashMap<>(); + List list = cpcScoreDao.selectListGridContactMassesAvgValue(calculateCommonFormDTO); + if (!CollectionUtils.isEmpty(list)) { + BigDecimal minValue = Collections.min(list); + BigDecimal maxValue = Collections.max(list); + map.put(StrConstant.MIN, minValue); + map.put(StrConstant.MAX, maxValue); 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(NumConstant.ZERO_STR)); + map.put(StrConstant.MAX, new BigDecimal(NumConstant.ZERO_STR)); return map; } /** - * @return java.math.BigDecimal * @param calculateCommonFormDTO - * @param gridId 网格id + * @param gridId 网格id + * @return java.math.BigDecimal * @author yinzuomei * @description 获取网格(组织)内党员的联系群众能力考评分(平均值) * @Date 2020/8/31 9:50 **/ - private BigDecimal getGridContactMassesAvgValue(CalculateCommonFormDTO calculateCommonFormDTO,String gridId) { - BigDecimal result=cpcScoreDao.selectGridContactMassesAvgValue(calculateCommonFormDTO.getCustomerId(),calculateCommonFormDTO.getMonthId(),gridId); - if(null==result){ + private BigDecimal getGridContactMassesAvgValue(CalculateCommonFormDTO calculateCommonFormDTO, String gridId) { + BigDecimal result = cpcScoreDao.selectGridContactMassesAvgValue(calculateCommonFormDTO.getCustomerId(), calculateCommonFormDTO.getMonthId(), gridId); + if (null == result) { return new BigDecimal(NumConstant.ZERO_STR); } return result; } /** - * @return java.math.BigDecimal * @param formDTO * @param gridId + * @return java.math.BigDecimal * @author yinzuomei - * @description 组织内党员的参与议事能力考评分(平均值) + * @description 组织内党员的参与议事能力考评分(平均值) * @Date 2020/8/31 15:51 **/ private BigDecimal getGridJoinIssueAvgValue(CalculateCommonFormDTO formDTO, String gridId) { - BigDecimal result=cpcScoreDao.selectGridJoinIssueAvgValue(formDTO.getCustomerId(),formDTO.getMonthId(),gridId); - if(null==result){ + BigDecimal result = cpcScoreDao.selectGridJoinIssueAvgValue(formDTO.getCustomerId(), formDTO.getMonthId(), gridId); + if (null == result) { return new BigDecimal(NumConstant.ZERO_STR); } return result; } - + /** - * @return java.util.Map * @param calculateCommonFormDTO + * @return java.util.Map * @author yinzuomei * @description 网格内党员的参与议事能力考评分(平均值) 最大值最小值 * @Date 2020/8/31 14:41 **/ - private Map getJoinIssueAblityMap(CalculateCommonFormDTO calculateCommonFormDTO){ - Map map=new HashMap<>(); - List list=cpcScoreDao.selectListJoinIssueAvgValue(calculateCommonFormDTO); - if(!CollectionUtils.isEmpty(list)){ - BigDecimal minValue=Collections.min(list); - BigDecimal maxValue=Collections.max(list); - map.put(StrConstant.MIN,minValue); - map.put(StrConstant.MAX,maxValue); + private Map getJoinIssueAblityMap(CalculateCommonFormDTO calculateCommonFormDTO) { + Map map = new HashMap<>(); + List list = cpcScoreDao.selectListJoinIssueAvgValue(calculateCommonFormDTO); + if (!CollectionUtils.isEmpty(list)) { + BigDecimal minValue = Collections.min(list); + BigDecimal maxValue = Collections.max(list); + map.put(StrConstant.MIN, minValue); + map.put(StrConstant.MAX, maxValue); 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(NumConstant.ZERO_STR)); + map.put(StrConstant.MAX, new BigDecimal(NumConstant.ZERO_STR)); return map; } /** - * @param formDTO 客户id 月份id: yyyyMM + * @param formDTO 客户id 月份id: yyyyMM * @param resultMapList - * @param indexCode 指标编码 - * @param isTotal 1:总分;0不是 + * @param indexCode 指标编码: 党建能力:dangjiannengli;治理能力:zhilinengli;服务能力:fuwunengli; + * @param isTotal 1:总分;0不是 * @return void * @author yinzuomei * @description 保存网格相关三大能力值 * @Date 2020/8/30 22:50 **/ - private void saveGridCorreLationDangJian(CalculateCommonFormDTO formDTO, + private void saveGridCorreLationResult(CalculateCommonFormDTO formDTO, List> resultMapList, String indexCode, String isTotal) { @@ -277,7 +294,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { }); } if (!CollectionUtils.isEmpty(gridScoreEntityList)) { - gridScoreDao.deleteByCusAndMonthId(formDTO.getCustomerId(), formDTO.getMonthId(), indexCode,isTotal); + gridScoreDao.deleteByCusAndMonthId(formDTO.getCustomerId(), formDTO.getMonthId(), indexCode, isTotal); gridScoreDao.insertBatches(gridScoreEntityList); } } @@ -286,21 +303,24 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { * @param indexMap * @return java.util.List * @author yinzuomei - * @description + * @description 调用计算器计算每个指标下,各个网格的总分 * @Date 2020/8/30 21:40 **/ private HashMap calculate(Map> indexMap) { //构造入参 List indexInputVOS = this.getIndexInputVOList(indexMap); + logger.info("计算的参数:{}", indexInputVOS); BatchScoreCalculator batchScoreCalculator = new BatchScoreCalculator(); - return batchScoreCalculator.getScoreCountOfSampleId(indexInputVOS); + HashMap resultMap = batchScoreCalculator.getScoreCountOfSampleId(indexInputVOS); + logger.info("计算的结果:{}", resultMap); + return resultMap; } /** * @param indexMap * @return java.util.List * @author yinzuomei - * @description + * @description map遍历,转为List * @Date 2020/8/30 18:34 **/ private List getIndexInputVOList(Map> indexMap) { @@ -321,13 +341,14 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { * @description 构造网格相关 指标计算参数 * @Date 2020/8/30 15:56 **/ - private Map> getGridCorrelationIndexInputVO(CalculateCommonFormDTO formDTO, List indexList, Map minAndMaxMap) { + private Map> buildGridCorrelationIndexInputVO(CalculateCommonFormDTO formDTO, List indexList, Map minAndMaxMap) { Map> map = new HashMap<>(); - for (int indexNum = 0; indexNum < indexList.size(); indexNum++) { - IndexGroupDetailEntity index = indexList.get(indexNum); + for (IndexGroupDetailEntity index : indexList) { IndexInputVO indexInputVO = new IndexInputVO(); // 指标code indexInputVO.setIndexId(index.getIndexCode()); + //阈值 + indexInputVO.setThreshold(index.getThreshold()); //权重 indexInputVO.setWeight(index.getWeight()); BigDecimal minValue = null; @@ -335,22 +356,22 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { if (IndexCodeEnum.ZUZHINEIDANGYDLXQZNLKPFPJZ.getCode().equals(index.getIndexCode())) { //组织内党员的联系群众能力考评分(平均值) 获取最大值,最小值 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())){ + 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("组织内党员的参与议事能力考评分(平均值) 单独处理"); - Map joinIssueAblityMap= this.getJoinIssueAblityMap(formDTO); - minValue=joinIssueAblityMap.get(StrConstant.MIN); - maxValue=joinIssueAblityMap.get(StrConstant.MAX); + Map joinIssueAblityMap = this.getJoinIssueAblityMap(formDTO); + minValue = joinIssueAblityMap.get(StrConstant.MIN); + maxValue = joinIssueAblityMap.get(StrConstant.MAX); } else { //获取指标对应的列名 String fieldName = indexCodeFieldReService.getFieldNameByIndexCode(index.getIndexCode()); - if(StringUtils.isBlank(fieldName)){ - logger.error("index_code:"+index.getIndexCode()+" not find field_name"); + if (StringUtils.isBlank(fieldName)) { + logger.error("index_code:{} ",index.getIndexCode(),"not find field_name"); continue; } - logger.info("INDEX_CODE=" + index.getIndexCode()+";FIELD_ID=" + fieldName ); + logger.info("index_code:{} ",index.getIndexCode(),"field_id :{} ",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))); @@ -392,9 +413,13 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { logger.info(String.format("共%s条数据,分%s次计算", total, totalPage)); //每一组指标的最大值,key:code_MIN/MAX Map minAndMaxMap = queryGovrnAblityGridMinAndMax(formDTO.getCustomerId(), formDTO.getMonthId()); + if (CollectionUtils.isEmpty(minAndMaxMap)) { + logger.error("calculateGridZhiLi queryGovrnAblityGridMinAndMax customerId:{} monthId:{} have not any fact record", formDTO.getCustomerId(),formDTO.getMonthId()); + return; + } //指标集合 - Map> indexMap = getGridCorrelationIndexInputVO(formDTO, indexList, minAndMaxMap); - List> resultMapList=new ArrayList<>(); + Map> indexMap = buildGridCorrelationIndexInputVO(formDTO, indexList, minAndMaxMap); + List> resultMapList = new ArrayList<>(); //分页查询采集记录 for (int pageNo = 1; pageNo <= totalPage; pageNo++) { int pageIndex = (pageNo - NumConstant.ONE) * IndexCalConstant.PAGE_SIZE; @@ -417,8 +442,8 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { value.getIndexValueVOs().add(currentGridIndexValue); } else if (IndexCodeEnum.ZUZHINEIDANGYDSYYSNLKPFPJZ.getCode().equals(key)) { logger.info("组织内党员的参与议事能力考评分(平均值) 单独处理"); - String gridId=(String) recordMap.get(IndexCalConstant.GRID_ID); - BigDecimal joinAvgValue = getGridJoinIssueAvgValue(formDTO,gridId); + String gridId = (String) recordMap.get(IndexCalConstant.GRID_ID); + BigDecimal joinAvgValue = getGridJoinIssueAvgValue(formDTO, gridId); SampleValue contactMassesAblityValue = new SampleValue((String) recordMap.get(IndexCalConstant.GRID_ID), joinAvgValue); value.getIndexValueVOs().add(contactMassesAblityValue); } @@ -428,7 +453,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { resultMapList.add(resultMap); } // 保存中间表 - saveGridCorreLationDangJian(formDTO, resultMapList,IndexCodeEnum.ZHI_LI_NENG_LI.getCode(),NumConstant.ZERO_STR); + saveGridCorreLationResult(formDTO, resultMapList, IndexCodeEnum.ZHI_LI_NENG_LI.getCode(), NumConstant.ZERO_STR); } @@ -452,9 +477,13 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { logger.info(String.format("共%s条数据,分%s次计算", total, totalPage)); //每一组指标的最大值,key:code_MIN/MAX Map minAndMaxMap = queryServiceAblityGridMinAndMax(formDTO.getCustomerId(), formDTO.getMonthId()); + if (CollectionUtils.isEmpty(minAndMaxMap)) { + logger.error("calculateGridFuWu queryServiceAblityGridMinAndMax customerId:{} monthId:{} have not any fact record", formDTO.getCustomerId(),formDTO.getMonthId()); + return; + } //指标集合 - Map> indexMap = getGridCorrelationIndexInputVO(formDTO, indexList, minAndMaxMap); - List> resultMapList=new ArrayList<>(); + Map> indexMap = buildGridCorrelationIndexInputVO(formDTO, indexList, minAndMaxMap); + List> resultMapList = new ArrayList<>(); //分页查询采集记录 for (int pageNo = 1; pageNo <= totalPage; pageNo++) { int pageIndex = (pageNo - NumConstant.ONE) * IndexCalConstant.PAGE_SIZE; @@ -475,8 +504,8 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { //构造样本值对象 SampleValue currentGridIndexValue = new SampleValue((String) recordMap.get(IndexCalConstant.GRID_ID), new BigDecimal(sampleValueStr)); value.getIndexValueVOs().add(currentGridIndexValue); - }else{ - logger.error("index_code:"+key+" not find field_name"); + } else { + logger.error("index_code:" + key + " not find field_name"); } }); }); @@ -484,7 +513,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { resultMapList.add(resultMap); } // 保存中间表 - saveGridCorreLationDangJian(formDTO, resultMapList,IndexCodeEnum.FU_WU_NENG_LI.getCode(),NumConstant.ZERO_STR); + saveGridCorreLationResult(formDTO, resultMapList, IndexCodeEnum.FU_WU_NENG_LI.getCode(), NumConstant.ZERO_STR); } /** @@ -498,9 +527,13 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { private void calculateGridTotal(CalculateCommonFormDTO formDTO, List indexList, String indexCode) { //查询总记录数 List gridScoreDTOList = gridScoreDao.selectList(formDTO); + if(CollectionUtils.isEmpty(gridScoreDTOList)){ + logger.error("calculateGridTotal gridScoreDao.selectList return empty,customerId:{},monthId:{}", formDTO.getCustomerId(), formDTO.getMonthId()); + throw new RenException("客户一级指标分值记录不存在"); + } Map indexMap = indexList.stream().collect(Collectors.toMap(IndexGroupDetailEntity::getIndexCode, Function.identity())); List gridScoreEntityList = new ArrayList<>(); - for(GridScoreDTO gridScoreDTO:gridScoreDTOList){ + for (GridScoreDTO gridScoreDTO : gridScoreDTOList) { GridScoreEntity gridScoreEntity = new GridScoreEntity(); gridScoreEntity.setCustomerId(gridScoreDTO.getCustomerId()); gridScoreEntity.setGridId(gridScoreDTO.getGridId()); @@ -512,12 +545,12 @@ public class GridCorreLationServiceImpl implements GridCorreLationService { 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()+"能力值缺失,无法计算总值"); + if (!CollectionUtils.isEmpty(gridScoreDTO.getDetailList()) && gridScoreDTO.getDetailList().size() != 3) { + logger.error("customerId:" + gridScoreDTO.getCustomerId() + ";gridId:" + gridScoreDTO.getGridId() + ";monthId:" + gridScoreDTO.getMonthId() + "能力值缺失,无法计算总值"); continue; } - for(GridScoreDetailDTO gridScoreDetailDTO:gridScoreDTO.getDetailList()){ - BigDecimal indexScore=gridScoreDetailDTO.getScore().multiply(indexMap.get(gridScoreDetailDTO.getIndexCode()).getWeight()); + for (GridScoreDetailDTO gridScoreDetailDTO : gridScoreDTO.getDetailList()) { + BigDecimal indexScore = gridScoreDetailDTO.getScore().multiply(indexMap.get(gridScoreDetailDTO.getIndexCode()).getWeight()); gridScoreEntity.setScore(gridScoreEntity.getScore().add(indexScore)); } gridScoreEntityList.add(gridScoreEntity); @@ -529,12 +562,13 @@ 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")); + 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