@ -130,6 +130,10 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
if ( NumConstant . ZERO = = total ) {
log . warn ( String . format ( "customerId=%s,monthId=%s,没有上传网格相关-党建能力-五级指标数据" , formDTO . getCustomerId ( ) , formDTO . getMonthId ( ) ) ) ;
return ;
} else if ( NumConstant . ONE = = total ) {
//只有一个网格时
log . warn ( String . format ( "indexCode:%s,customerId:%s,monthId:%s,only one fact_index_party_ablity_grid_monthly record" , IndexCodeEnum . DANG_JIAN_NENG_LI . getCode ( ) , formDTO . getCustomerId ( ) , formDTO . getMonthId ( ) ) ) ;
this . handleOneGridScene ( formDTO , IndexCodeEnum . DANG_JIAN_NENG_LI . getCode ( ) ) ;
}
//总页数,进行批量查询,批量计算
int totalPage = ( int ) Math . ceil ( ( double ) total / IndexCalConstant . PAGE_SIZE ) ;
@ -181,6 +185,31 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
saveGridCorreLationResult ( formDTO , resultMapList , IndexCodeEnum . DANG_JIAN_NENG_LI . getCode ( ) , NumConstant . ZERO_STR ) ;
}
/ * *
* @param formDTO
* @param indexCode
* @return void
* @author yinzuomei
* @description 只有一条事实记录时 , 分值默认赋50
* @Date 2020 / 9 / 2 14 : 35
* * /
private void handleOneGridScene ( CalculateCommonFormDTO formDTO , String indexCode ) {
List < HashMap < String , BigDecimal > > resultMapList = new ArrayList < > ( ) ;
HashMap < String , BigDecimal > resultMap = new HashMap < > ( ) ;
String gridId = null ;
if ( IndexCodeEnum . DANG_JIAN_NENG_LI . getCode ( ) . equals ( indexCode ) ) {
gridId = factIndexPartyAblityGridMonthlyDao . selectTheOneGrid ( formDTO ) ;
} else if ( IndexCodeEnum . ZHI_LI_NENG_LI . getCode ( ) . equals ( indexCode ) ) {
gridId = factIndexGovrnAblityGridMonthlyDao . selectTheOneGrid ( formDTO ) ;
} else if ( IndexCodeEnum . FU_WU_NENG_LI . getCode ( ) . equals ( indexCode ) ) {
gridId = factIndexServiceAblityGridMonthlyDao . selectTheOneGrid ( formDTO ) ;
}
resultMap . put ( gridId , new BigDecimal ( NumConstant . FIFTY_STR ) ) ;
resultMapList . add ( resultMap ) ;
// 保存中间表
saveGridCorreLationResult ( formDTO , resultMapList , indexCode , NumConstant . ZERO_STR ) ;
}
/ * *
* @param calculateCommonFormDTO
* @return java . util . Map < java . lang . String , java . math . BigDecimal >
@ -190,7 +219,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
* * /
private Map < String , BigDecimal > getContactMassesAblityMap ( CalculateCommonFormDTO calculateCommonFormDTO ) {
Map < String , BigDecimal > map = new HashMap < > ( ) ;
/ * List < BigDecimal > list = cpcScoreDao . selectListGridContactMassesAvgValue ( calculateCommonFormDTO ) ;
List < BigDecimal > list = cpcScoreDao . selectListGridContactMassesAvgValue ( calculateCommonFormDTO ) ;
if ( ! CollectionUtils . isEmpty ( list ) ) {
BigDecimal minValue = Collections . min ( list ) ;
BigDecimal maxValue = Collections . max ( list ) ;
@ -199,10 +228,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 . MAX , new BigDecimal ( NumConstant . ZERO_STR ) ) ;
//FOR TEST
map . put ( StrConstant . MIN , new BigDecimal ( "24.35" ) ) ;
map . put ( StrConstant . MAX , new BigDecimal ( "46.13" ) ) ;
/ * map . put ( StrConstant . MIN , new BigDecimal ( "24.35" ) ) ;
map . put ( StrConstant . MAX , new BigDecimal ( "46.13" ) ) ; * /
return map ;
}
@ -215,19 +244,19 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
* @Date 2020 / 8 / 31 9 : 50
* * /
private BigDecimal getGridContactMassesAvgValue ( CalculateCommonFormDTO calculateCommonFormDTO , String gridId ) {
/ * 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 ) ;
} * /
}
//FOR TEST
BigDecimal result = null ;
/ * 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 ;
}
@ -240,19 +269,19 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
* @Date 2020 / 8 / 31 15 : 51
* * /
private BigDecimal getGridJoinIssueAvgValue ( CalculateCommonFormDTO formDTO , String gridId ) {
/ * 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 ) ;
} * /
}
//FOR TEST
BigDecimal result = null ;
/ * 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 ;
}
@ -265,7 +294,7 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
* * /
private Map < String , BigDecimal > getJoinIssueAblityMap ( CalculateCommonFormDTO calculateCommonFormDTO ) {
Map < String , BigDecimal > map = new HashMap < > ( ) ;
/ * List < BigDecimal > list = cpcScoreDao . selectListJoinIssueAvgValue ( calculateCommonFormDTO ) ;
List < BigDecimal > list = cpcScoreDao . selectListJoinIssueAvgValue ( calculateCommonFormDTO ) ;
if ( ! CollectionUtils . isEmpty ( list ) ) {
BigDecimal minValue = Collections . min ( list ) ;
BigDecimal maxValue = Collections . max ( list ) ;
@ -274,10 +303,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 . MAX , new BigDecimal ( NumConstant . ZERO_STR ) ) ;
// FOR TEST
map . put ( StrConstant . MIN , new BigDecimal ( "9.15" ) ) ;
map . put ( StrConstant . MAX , new BigDecimal ( "29.4" ) ) ;
/ * map . put ( StrConstant . MIN , new BigDecimal ( "9.15" ) ) ;
map . put ( StrConstant . MAX , new BigDecimal ( "29.4" ) ) ; * /
return map ;
}
@ -414,8 +443,8 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
List < SampleValue < BigDecimal > > sampleValueList = new ArrayList < > ( ) ;
IndexInputVO indexInputVO1 = new IndexInputVO ( index . getIndexCode ( ) ,
sampleValueList ,
// index.getThreshold(),
new BigDecimal ( "-1" ) , //FOR TEST
index . getThreshold ( ) ,
// new BigDecimal("-1"),//FOR TEST
index . getWeight ( ) ,
scoreCalculator ) ;
map . put ( index . getIndexCode ( ) , indexInputVO1 ) ;
@ -437,6 +466,10 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
if ( NumConstant . ZERO = = total ) {
log . warn ( String . format ( "customerId%s,monthId%s,没有上传网格相关-治理能力-五级指标数据" , formDTO . getCustomerId ( ) , formDTO . getMonthId ( ) ) ) ;
return ;
} else if ( NumConstant . ONE = = total ) {
//只有一个网格时
log . warn ( String . format ( "indexCode:%s,customerId:%s,monthId:%s,only one fact_index_govrn_ablity_grid_monthly record" , IndexCodeEnum . ZHI_LI_NENG_LI . getCode ( ) , formDTO . getCustomerId ( ) , formDTO . getMonthId ( ) ) ) ;
this . handleOneGridScene ( formDTO , IndexCodeEnum . ZHI_LI_NENG_LI . getCode ( ) ) ;
}
//总页数,进行批量查询,批量计算
int totalPage = ( int ) Math . ceil ( ( double ) total / IndexCalConstant . PAGE_SIZE ) ;
@ -496,10 +529,14 @@ public class GridCorreLationServiceImpl implements GridCorreLationService {
* * /
private void calculateGridFuWu ( CalculateCommonFormDTO formDTO , List < IndexGroupDetailEntity > indexList ) {
//查询总记录数
int total = factIndexGovrn AblityGridMonthlyDao . selectCount ( formDTO ) ;
int total = factIndexService AblityGridMonthlyDao . selectCount ( formDTO ) ;
if ( NumConstant . ZERO = = total ) {
log . warn ( String . format ( "customerId:%s,monthId:%s,没有上传网格相关-服务能力-五级指标数据" , formDTO . getCustomerId ( ) , formDTO . getMonthId ( ) ) ) ;
return ;
} else if ( NumConstant . ONE = = total ) {
//只有一个网格时
log . warn ( String . format ( "indexCode:%s,customerId:%s,monthId:%s,only one fact_index_service_ablity_grid_monthly record" , IndexCodeEnum . FU_WU_NENG_LI . getCode ( ) , formDTO . getCustomerId ( ) , formDTO . getMonthId ( ) ) ) ;
this . handleOneGridScene ( formDTO , IndexCodeEnum . FU_WU_NENG_LI . getCode ( ) ) ;
}
//总页数,进行批量查询,批量计算
int totalPage = ( int ) Math . ceil ( ( double ) total / IndexCalConstant . PAGE_SIZE ) ;