Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
indicators
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhangkb
indicators
Commits
03ad67fb
Commit
03ad67fb
authored
Apr 16, 2021
by
hzc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
保存单位综合得分、单位改善提升得分、综合得分总和、改善提升得分总和
parent
48602639
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
213 additions
and
24 deletions
+213
-24
ObjScoreCalResult.java
...dicators/model/entity/objscorerule/ObjScoreCalResult.java
+5
-0
TestObjScoreCalResult.java
...ndicators/model/entity/testrun/TestObjScoreCalResult.java
+5
-0
ScoreRuleService.java
...mobile/indicators/service/hytobacco/ScoreRuleService.java
+99
-10
TestScoreRuleService.java
...bile/indicators/service/testrun/TestScoreRuleService.java
+82
-10
ObjScoreCalResultMapper.xml
...ain/resources/mybatis/mapping/ObjScoreCalResultMapper.xml
+11
-2
TestObjScoreCalResultMapper.xml
...resources/mybatis/mapping/TestObjScoreCalResultMapper.xml
+11
-2
No files found.
src/main/java/com/keymobile/indicators/model/entity/objscorerule/ObjScoreCalResult.java
View file @
03ad67fb
...
...
@@ -29,4 +29,9 @@ public class ObjScoreCalResult {
private
Integer
indCount
;
//指标个数
private
String
code
;
//机构编码
private
String
compareCatalog
;
//对标单元目录
private
String
scoreTmpValue
;
//综合评价
private
String
scoreTmpSumValue
;
//综合评价总和
private
String
improveSumValue
;
//改善提升总和
}
src/main/java/com/keymobile/indicators/model/entity/testrun/TestObjScoreCalResult.java
View file @
03ad67fb
...
...
@@ -28,4 +28,9 @@ public class TestObjScoreCalResult {
private
Integer
indCount
;
//指标个数
private
String
code
;
//机构编码
private
String
compareCatalog
;
//对标单元目录
private
String
scoreTmpValue
;
//综合评价
private
String
scoreTmpSumValue
;
//综合评价总和
private
String
improveSumValue
;
//改善提升总和
}
src/main/java/com/keymobile/indicators/service/hytobacco/ScoreRuleService.java
View file @
03ad67fb
...
...
@@ -135,6 +135,7 @@ public class ScoreRuleService {
int
indCount
=
0
;
//定义用户记录纳入考核指标个数
List
<
String
>
values
=
new
ArrayList
<>();
List
<
String
>
improveValues
=
new
ArrayList
<>();
List
<
String
>
scoreValues
=
new
ArrayList
<>();
if
(!
calResults
.
isEmpty
())
{
//auth:zhangkb time:2020-7-15 desc:填充对标对象描述
objResult
.
setCompareObjDesc
(
calResults
.
get
(
0
).
getCompareObjDesc
());
...
...
@@ -146,6 +147,17 @@ public class ScoreRuleService {
//如果考核指标是参与单位计分的
if
(
StringUtils
.
isBlank
(
driveIndDef
.
getIsUnitCalScore
())
||
"1"
.
equals
(
driveIndDef
.
getIsUnitCalScore
()))
{
if
(!
"No"
.
equals
(
calResult
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calResult
.
getImproveScore
()))
{
improveValues
.
add
(
calResult
.
getImproveScore
());
}
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
// && !"0.0000".equals(calResult.getValue())
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
scoreValues
.
add
(
calResult
.
getValue
());
}
indCount
+=
1
;
//得分类型:0 指标值直接参与计算
if
(
"0"
.
equals
(
scoreRule
.
getScoreType
()))
{
...
...
@@ -154,16 +166,20 @@ public class ScoreRuleService {
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
values
.
add
(
calResult
.
getValue
());
}
// if(!"No".equals(calResult.getImproveScore()) &&
// StringUtils.isNotBlank(calResult.getImproveScore())) {
// improveValues.add(calResult.getImproveScore());
// }
}
else
if
(
"1"
.
equals
(
scoreRule
.
getScoreType
()))
{
//1 指标得分分数参与计算(综合评分和改善提升分开算)
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
// && !"0.0000".equals(calResult.getValue())
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
values
.
add
(
calResult
.
getScore
());
}
if
(!
"No"
.
equals
(
calResult
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calResult
.
getImproveScore
()))
{
improveValues
.
add
(
calResult
.
getImproveScore
());
}
//
if(!"No".equals(calResult.getImproveScore()) &&
//
StringUtils.isNotBlank(calResult.getImproveScore())) {
//
improveValues.add(calResult.getImproveScore());
//
}
}
else
{
//2指标得分分数参与计算(指标分数=综合+改善)
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
&&
!
"0"
.
equals
(
calResult
.
getValue
())){
if
(!
"No"
.
equals
(
calResult
.
getImproveScore
())
&&
...
...
@@ -171,6 +187,7 @@ public class ScoreRuleService {
double
indScore
=
Double
.
parseDouble
(
calResult
.
getScore
());
double
improveScore
=
Double
.
parseDouble
(
calResult
.
getImproveScore
());
double
sum
=
indScore
+
improveScore
;
// improveValues.add(calResult.getImproveScore());
values
.
add
(
String
.
valueOf
(
sum
));
}
else
{
values
.
add
(
calResult
.
getScore
());
...
...
@@ -183,27 +200,50 @@ public class ScoreRuleService {
}
String
averageValue
=
"0.0"
;
String
averageImproveValue
=
"0.0"
;
String
scoreTmpSumValue
=
"0.0"
;
String
improveSumValue
=
"0.0"
;
String
scoreTmpValue
=
"0.0"
;
scoreTmpSumValue
=
CalculateUtils
.
sumValue
(
scoreValues
);
if
(
"0"
.
equals
(
type
))
{
//计算平均值
scoreTmpValue
=
CalculateUtils
.
averageValue
(
scoreValues
,
1
);
averageValue
=
CalculateUtils
.
averageValue
(
values
,
1
);
}
if
(
"3"
.
equals
(
type
)){
//计算总和
averageValue
=
CalculateUtils
.
sumValue
(
values
);
scoreTmpValue
=
scoreTmpSumValue
;
//CalculateUtils.sumValue(scoreValues);
averageValue
=
CalculateUtils
.
sumValue
(
values
);
//scoreTmpSumValue;
}
if
(!
improveValues
.
isEmpty
())
{
improveSumValue
=
CalculateUtils
.
sumValue
(
improveValues
);
if
(
"0"
.
equals
(
type
))
{
averageImproveValue
=
CalculateUtils
.
averageValue
(
improveValues
,
1
);
}
if
(
"3"
.
equals
(
type
)){
averageImproveValue
=
CalculateUtils
.
sumValue
(
improveValues
);
averageImproveValue
=
improveSumValue
;
//
CalculateUtils.sumValue(improveValues);
}
}
Double
scoreSumValue
=
0.0
;
//计算总积分
Double
scoreSumValue
=
(
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
values
))+
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
improveValues
)));
if
(
"2"
.
equals
(
scoreRule
.
getScoreType
())){
scoreSumValue
=
(
Double
.
parseDouble
(
scoreTmpSumValue
));
}
else
{
scoreSumValue
=
(
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
values
))+
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
improveValues
)));
}
objResult
.
setScoreSumValue
(
String
.
valueOf
(
scoreSumValue
));
objResult
.
setIndCount
(
indCount
);
objResult
.
setScoreValue
(
averageValue
);
objResult
.
setImproveValue
(
averageImproveValue
);
objResult
.
setImproveSumValue
(
improveSumValue
);
objResult
.
setScoreTmpSumValue
(
scoreTmpSumValue
);
objResult
.
setScoreTmpValue
(
scoreTmpValue
);
}
return
objResult
;
}
...
...
@@ -216,7 +256,10 @@ public class ScoreRuleService {
objResult
.
setDate
(
date
);
double
scoreSumValue
=
0.0
;
double
scoreTmpSumValue
=
0.0
;
double
improveSumValue
=
0.0
;
String
calFormula
=
scoreRule
.
getCalFormula
();
//计算综合评分分数
String
improveCalFormula
=
scoreRule
.
getCalFormula
();
//计算改善提升分数
if
(
StringUtils
.
isNotBlank
(
calFormula
))
{
...
...
@@ -234,7 +277,17 @@ public class ScoreRuleService {
if
(
calresultOp
!=
null
)
{
//auth:zhangkb time:2020-7-15 desc:填充对标对象描述
objResult
.
setCompareObjDesc
(
calresultOp
.
getCompareObjDesc
());
if
(!
"No"
.
equals
(
calresultOp
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calresultOp
.
getImproveScore
()))
{
improveSumValue
+=
Double
.
parseDouble
(
calresultOp
.
getImproveScore
());
}
if
(!
"NaN"
.
equals
(
calresultOp
.
getValue
())
&&
!
"Infinite"
.
equals
(
calresultOp
.
getValue
())
// && !"0.0000".equals(calResult.getValue())
&&
!
"0"
.
equals
(
calresultOp
.
getValue
()))
{
scoreTmpSumValue
+=
Double
.
parseDouble
(
calresultOp
.
getValue
());
}
//得分类型:0 指标值直接参与计算
if
(
"0"
.
equals
(
scoreRule
.
getScoreType
()))
{
if
(!
"NaN"
.
equals
(
calresultOp
.
getValue
())
&&
!
"Infinite"
.
equals
(
calresultOp
.
getValue
()))
{
...
...
@@ -302,6 +355,11 @@ public class ScoreRuleService {
objResult
.
setImproveValue
(
improveValue
);
}
}
objResult
.
setImproveSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveSumValue
)));
objResult
.
setScoreTmpValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreTmpSumValue
)));
objResult
.
setScoreTmpSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreTmpSumValue
)));
objResult
.
setScoreSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreSumValue
)));
return
objResult
;
}
...
...
@@ -325,6 +383,9 @@ public class ScoreRuleService {
double
scoreValue
=
0.0
;
double
improveValue
=
0.0
;
double
scoreSumValue
=
0.0
;
double
improveSumValue
=
0.0
;
double
scoreTmpSumValue
=
0.0
;
if
(!
calResults
.
isEmpty
())
{
//auth:zhangkb time:2020-7-15 desc:填充对标对象描述
objResult
.
setCompareObjDesc
(
calResults
.
get
(
0
).
getCompareObjDesc
());
...
...
@@ -337,10 +398,15 @@ public class ScoreRuleService {
scoreValue
+=
(
calScores
.
get
(
"score"
)*
Double
.
parseDouble
(
indTypeWeight
.
getWeight
())/
100
);
improveValue
+=
(
calScores
.
get
(
"improve"
)*
Double
.
parseDouble
(
indTypeWeight
.
getWeight
())/
100
);
//author:zhangkb time:2020-9-15 desc:score和improve相加做为积分总和
improveSumValue
+=
calScores
.
get
(
"avgImproveTmpValue"
);
scoreTmpSumValue
+=
calScores
.
get
(
"avgScoreTmpValue"
);
scoreSumValue
+=
calScores
.
get
(
"score"
)+
calScores
.
get
(
"improve"
);
}
}
}
objResult
.
setScoreTmpSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveSumValue
)));
objResult
.
setScoreTmpValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveSumValue
)));
objResult
.
setImproveSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreTmpSumValue
)));
objResult
.
setScoreValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreValue
)));
objResult
.
setImproveValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveValue
)));
objResult
.
setScoreSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreSumValue
)));
...
...
@@ -354,6 +420,9 @@ public class ScoreRuleService {
result
.
put
(
"improve"
,
0.0
);
List
<
String
>
values
=
new
ArrayList
<>();
List
<
String
>
improveValues
=
new
ArrayList
<>();
List
<
String
>
improveTmpValues
=
new
ArrayList
<>();
List
<
String
>
scoreValues
=
new
ArrayList
<>();
for
(
DriveIndCalResultDef
calResult
:
calResults
)
{
String
catalogIdPath
=
indTypeWeight
.
getCatalogIdPath
();
//根据考核指标id获取考核指标
...
...
@@ -365,6 +434,15 @@ public class ScoreRuleService {
//如果指标是该指标分类下的
if
(
catalogIdPath
.
indexOf
(
driveIndDef
.
getCatalogIdPath
())>=
0
)
{
//得分类型:0 指标值直接参与计算
if
(!
"No"
.
equals
(
calResult
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calResult
.
getImproveScore
()))
{
improveTmpValues
.
add
(
calResult
.
getImproveScore
());
}
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
// && !"0.0000".equals(calResult.getValue())
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
scoreValues
.
add
(
calResult
.
getValue
());
}
if
(
"0"
.
equals
(
scoreRule
.
getScoreType
()))
{
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
/*&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())*/
)
{
...
...
@@ -402,9 +480,20 @@ public class ScoreRuleService {
//计算平均值
String
averageValue
=
CalculateUtils
.
averageValue
(
values
,
1
);
String
averageImproveValue
=
"0.0"
;
String
avgScoreTmpValue
=
"0.0"
;
String
avgImproveTmpValue
=
"0.0"
;
if
(!
improveValues
.
isEmpty
())
{
averageImproveValue
=
CalculateUtils
.
averageValue
(
improveValues
,
1
);
}
if
(!
scoreValues
.
isEmpty
()){
avgScoreTmpValue
=
CalculateUtils
.
averageValue
(
scoreValues
,
1
);
}
if
(!
improveTmpValues
.
isEmpty
()){
avgImproveTmpValue
=
CalculateUtils
.
averageValue
(
improveTmpValues
,
1
);
}
result
.
put
(
"avgScoreTmpValue"
,
Double
.
parseDouble
(
avgScoreTmpValue
));
result
.
put
(
"avgImproveTmpValue"
,
Double
.
parseDouble
(
avgImproveTmpValue
));
result
.
put
(
"score"
,
Double
.
parseDouble
(
averageValue
));
result
.
put
(
"improve"
,
Double
.
parseDouble
(
averageImproveValue
));
return
result
;
...
...
src/main/java/com/keymobile/indicators/service/testrun/TestScoreRuleService.java
View file @
03ad67fb
...
...
@@ -100,6 +100,7 @@ public class TestScoreRuleService {
int
indCount
=
0
;
//定义用户记录纳入考核指标个数
List
<
String
>
values
=
new
ArrayList
<>();
List
<
String
>
improveValues
=
new
ArrayList
<>();
List
<
String
>
scoreValues
=
new
ArrayList
<>();
if
(!
calResults
.
isEmpty
())
{
//auth:zhangkb time:2020-7-15 desc:填充对标对象描述
objResult
.
setCompareObjDesc
(
calResults
.
get
(
0
).
getCompareObjDesc
());
...
...
@@ -111,6 +112,15 @@ public class TestScoreRuleService {
//如果考核指标是参与单位计分的
if
(
StringUtils
.
isBlank
(
driveIndDef
.
getIsUnitCalScore
())
||
"1"
.
equals
(
driveIndDef
.
getIsUnitCalScore
()))
{
if
(!
"No"
.
equals
(
calResult
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calResult
.
getImproveScore
()))
{
improveValues
.
add
(
calResult
.
getImproveScore
());
}
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
// && !"0.0000".equals(calResult.getValue())
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
scoreValues
.
add
(
calResult
.
getValue
());
}
indCount
+=
1
;
//得分类型:0 指标值直接参与计算
if
(
"0"
.
equals
(
scoreRule
.
getScoreType
()))
{
...
...
@@ -124,10 +134,10 @@ public class TestScoreRuleService {
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
values
.
add
(
calResult
.
getScore
());
}
if
(!
"No"
.
equals
(
calResult
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calResult
.
getImproveScore
()))
{
improveValues
.
add
(
calResult
.
getImproveScore
());
}
//
if(!"No".equals(calResult.getImproveScore()) &&
//
StringUtils.isNotBlank(calResult.getImproveScore())) {
//
improveValues.add(calResult.getImproveScore());
//
}
}
else
{
//2指标得分分数参与计算(指标分数=综合+改善)
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
...
...
@@ -148,27 +158,46 @@ public class TestScoreRuleService {
}
String
averageValue
=
"0.0"
;
String
averageImproveValue
=
"0.0"
;
String
scoreTmpSumValue
=
"0.0"
;
String
improveSumValue
=
"0.0"
;
String
scoreTmpValue
=
"0.0"
;
scoreTmpSumValue
=
CalculateUtils
.
sumValue
(
scoreValues
);
if
(
"0"
.
equals
(
type
))
{
//计算平均值
scoreTmpValue
=
CalculateUtils
.
averageValue
(
scoreValues
,
1
);
averageValue
=
CalculateUtils
.
averageValue
(
values
,
1
);
}
if
(
"3"
.
equals
(
type
)){
//计算总和
scoreTmpValue
=
scoreTmpSumValue
;
//CalculateUtils.sumValue(scoreValues);
averageValue
=
CalculateUtils
.
sumValue
(
values
);
}
if
(!
improveValues
.
isEmpty
())
{
improveSumValue
=
CalculateUtils
.
sumValue
(
improveValues
);
if
(
"0"
.
equals
(
type
))
{
averageImproveValue
=
CalculateUtils
.
averageValue
(
improveValues
,
1
);
}
if
(
"3"
.
equals
(
type
)){
averageImproveValue
=
CalculateUtils
.
sumValue
(
improveValues
)
;
averageImproveValue
=
improveSumValue
;
}
}
Double
scoreSumValue
=
0.0
;
//计算总积分
Double
scoreSumValue
=
(
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
values
))+
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
improveValues
)));
if
(
"2"
.
equals
(
scoreRule
.
getScoreType
())){
scoreSumValue
=
(
Double
.
parseDouble
(
scoreTmpSumValue
));
}
else
{
scoreSumValue
=
(
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
values
))+
Double
.
parseDouble
(
CalculateUtils
.
sumValue
(
improveValues
)));
}
objResult
.
setScoreSumValue
(
String
.
valueOf
(
scoreSumValue
));
objResult
.
setIndCount
(
indCount
);
objResult
.
setScoreValue
(
averageValue
);
objResult
.
setImproveValue
(
averageImproveValue
);
objResult
.
setImproveSumValue
(
improveSumValue
);
objResult
.
setScoreTmpSumValue
(
scoreTmpSumValue
);
objResult
.
setScoreTmpValue
(
scoreTmpValue
);
}
return
objResult
;
}
...
...
@@ -179,7 +208,9 @@ public class TestScoreRuleService {
objResult
.
setScoreValue
(
"0.0"
);
objResult
.
setImproveValue
(
"0.0"
);
objResult
.
setDate
(
date
);
double
scoreTmpSumValue
=
0.0
;
double
improveSumValue
=
0.0
;
String
calFormula
=
scoreRule
.
getCalFormula
();
//计算综合评分分数
String
improveCalFormula
=
scoreRule
.
getCalFormula
();
//计算改善提升分数
if
(
StringUtils
.
isNotBlank
(
calFormula
))
{
...
...
@@ -200,7 +231,16 @@ public class TestScoreRuleService {
if
(
calresultOp
!=
null
)
{
//auth:zhangkb time:2020-7-15 desc:填充对标对象描述
objResult
.
setCompareObjDesc
(
calresultOp
.
getCompareObjDesc
());
if
(!
"No"
.
equals
(
calresultOp
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calresultOp
.
getImproveScore
()))
{
improveSumValue
+=
Double
.
parseDouble
(
calresultOp
.
getImproveScore
());
}
if
(!
"NaN"
.
equals
(
calresultOp
.
getValue
())
&&
!
"Infinite"
.
equals
(
calresultOp
.
getValue
())
// && !"0.0000".equals(calResult.getValue())
&&
!
"0"
.
equals
(
calresultOp
.
getValue
()))
{
scoreTmpSumValue
+=
Double
.
parseDouble
(
calresultOp
.
getValue
());
}
//得分类型:0 指标值直接参与计算
if
(
"0"
.
equals
(
scoreRule
.
getScoreType
()))
{
if
(!
"NaN"
.
equals
(
calresultOp
.
getValue
())
&&
!
"Infinite"
.
equals
(
calresultOp
.
getValue
()))
{
...
...
@@ -258,6 +298,10 @@ public class TestScoreRuleService {
objResult
.
setImproveValue
(
improveValue
);
}
}
objResult
.
setImproveSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveSumValue
)));
objResult
.
setScoreTmpValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreTmpSumValue
)));
objResult
.
setScoreTmpSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreTmpSumValue
)));
return
objResult
;
}
...
...
@@ -269,7 +313,8 @@ public class TestScoreRuleService {
objResult
.
setScoreValue
(
"0.0"
);
objResult
.
setImproveValue
(
"0.0"
);
objResult
.
setDate
(
date
);
double
improveSumValue
=
0.0
;
double
scoreTmpSumValue
=
0.0
;
//根据对标对象,日期查找该对标对象对标的所有指标结果
//改用对标单元目录进行过滤
List
<
TestDriveIndCalResultDef
>
calResults
=
testDriveIndCalResultDefMapper
.
...
...
@@ -288,9 +333,14 @@ public class TestScoreRuleService {
Map
<
String
,
Double
>
calScores
=
this
.
calIndTypeScore
(
scoreRule
,
indTypeWeight
,
calResults
);
scoreValue
+=
(
calScores
.
get
(
"score"
)*
Double
.
parseDouble
(
indTypeWeight
.
getWeight
())/
100
);
improveValue
+=
(
calScores
.
get
(
"improve"
)*
Double
.
parseDouble
(
indTypeWeight
.
getWeight
())/
100
);
improveSumValue
+=
calScores
.
get
(
"avgImproveTmpValue"
);
scoreTmpSumValue
+=
calScores
.
get
(
"avgScoreTmpValue"
);
}
}
}
objResult
.
setScoreTmpSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveSumValue
)));
objResult
.
setScoreTmpValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveSumValue
)));
objResult
.
setImproveSumValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreTmpSumValue
)));
objResult
.
setScoreValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
scoreValue
)));
objResult
.
setImproveValue
(
String
.
format
(
"%.8f"
,
new
BigDecimal
(
improveValue
)));
return
objResult
;
...
...
@@ -304,6 +354,8 @@ public class TestScoreRuleService {
result
.
put
(
"improve"
,
0.0
);
List
<
String
>
values
=
new
ArrayList
<>();
List
<
String
>
improveValues
=
new
ArrayList
<>();
List
<
String
>
improveTmpValues
=
new
ArrayList
<>();
List
<
String
>
scoreValues
=
new
ArrayList
<>();
for
(
TestDriveIndCalResultDef
calResult
:
calResults
)
{
String
catalogIdPath
=
indTypeWeight
.
getCatalogIdPath
();
//根据考核指标id获取考核指标
...
...
@@ -315,6 +367,15 @@ public class TestScoreRuleService {
//如果指标是该指标分类下的
if
(
driveIndDef
.
getCatalogIdPath
().
indexOf
(
catalogIdPath
)>=
0
)
{
//得分类型:0 指标值直接参与计算
if
(!
"No"
.
equals
(
calResult
.
getImproveScore
())
&&
StringUtils
.
isNotBlank
(
calResult
.
getImproveScore
()))
{
improveTmpValues
.
add
(
calResult
.
getImproveScore
());
}
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
// && !"0.0000".equals(calResult.getValue())
&&
!
"0"
.
equals
(
calResult
.
getValue
()))
{
scoreValues
.
add
(
calResult
.
getValue
());
}
if
(
"0"
.
equals
(
scoreRule
.
getScoreType
()))
{
if
(!
"NaN"
.
equals
(
calResult
.
getValue
())
&&
!
"Infinite"
.
equals
(
calResult
.
getValue
())
/*&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())*/
)
{
...
...
@@ -344,9 +405,20 @@ public class TestScoreRuleService {
//计算平均值
String
averageValue
=
CalculateUtils
.
averageValue
(
values
,
1
);
String
averageImproveValue
=
"0.0"
;
String
avgScoreTmpValue
=
"0.0"
;
String
avgImproveTmpValue
=
"0.0"
;
if
(!
improveValues
.
isEmpty
())
{
averageImproveValue
=
CalculateUtils
.
averageValue
(
improveValues
,
1
);
}
if
(!
scoreValues
.
isEmpty
()){
avgScoreTmpValue
=
CalculateUtils
.
averageValue
(
scoreValues
,
1
);
}
if
(!
improveTmpValues
.
isEmpty
()){
avgImproveTmpValue
=
CalculateUtils
.
averageValue
(
improveTmpValues
,
1
);
}
result
.
put
(
"avgScoreTmpValue"
,
Double
.
parseDouble
(
avgScoreTmpValue
));
result
.
put
(
"avgImproveTmpValue"
,
Double
.
parseDouble
(
avgImproveTmpValue
));
result
.
put
(
"score"
,
Double
.
parseDouble
(
averageValue
));
result
.
put
(
"improve"
,
Double
.
parseDouble
(
averageImproveValue
));
return
result
;
...
...
src/main/resources/mybatis/mapping/ObjScoreCalResultMapper.xml
View file @
03ad67fb
...
...
@@ -25,13 +25,13 @@
<insert
id=
"batchSave"
parameterType=
"java.util.List"
>
insert into obj_score_cal_result(
compare_id, compare_obj, compare_obj_desc, ind_ids, date, score_value, improve_value,
score_rank, score_sum_value, ind_count, code,compare_catalog)
score_rank, score_sum_value, ind_count, code,compare_catalog
,score_tmp_value,score_tmp_sum_value,improve_sum_value
)
values
<foreach
collection=
"datas"
item=
"val"
separator=
","
>
(
#{val.compareId}, #{val.compareObj}, #{val.compareObjDesc}, #{val.indIds}, #{val.date},
#{val.scoreValue},#{val.improveValue},#{val.scoreRank},#{val.scoreSumValue},#{val.indCount},
#{val.code},#{val.compareCatalog})
#{val.code},#{val.compareCatalog}
,#{val.scoreTmpValue},#{val.scoreTmpSumValue},#{val.improveSumValue}
)
</foreach>
</insert>
...
...
@@ -75,6 +75,15 @@
<if
test=
"val.compareCatalog!=null"
>
compare_catalog=#{val.compareCatalog}
</if>
<if
test=
"val.scoreTmpValue!=null"
>
score_tmp_value=#{val.scoreTmpValue}
</if>
<if
test=
"val.scoreTmpSumValue!=null"
>
score_tmp_sum_value= #{val.scoreTmpValue}
</if>
<if
test=
"val.improveSumValue!=null"
>
score_tmp_sum_value=#{val.scoreTmpValue}
</if>
</set>
where id = ${val.id}
</foreach>
...
...
src/main/resources/mybatis/mapping/TestObjScoreCalResultMapper.xml
View file @
03ad67fb
...
...
@@ -24,13 +24,13 @@
<insert
id=
"batchSave"
parameterType=
"java.util.List"
>
insert into test_obj_score_cal_result(
compare_id, compare_obj, compare_obj_desc, ind_ids, date, score_value, improve_value,
score_sum_value, ind_count, code, compare_catalog)
score_sum_value, ind_count, code, compare_catalog
,score_tmp_value,score_tmp_sum_value,improve_sum_valu
)
values
<foreach
collection=
"datas"
item=
"val"
separator=
","
>
(
#{val.compareId}, #{val.compareObj}, #{val.compareObjDesc}, #{val.indIds}, #{val.date},
#{val.scoreValue},#{val.improveValue},#{val.scoreSumValue},#{val.indCount},#{val.code},
#{val.compareCatalog})
#{val.compareCatalog}
,#{val.scoreTmpValue},#{val.scoreTmpSumValue},#{val.improveSumValue}
)
</foreach>
</insert>
...
...
@@ -71,6 +71,15 @@
<if
test=
"val.compareCatalog != null"
>
compare_catalog = #{val.compareCatalog},
</if>
<if
test=
"val.scoreTmpValue!=null"
>
score_tmp_value=#{val.scoreTmpValue}
</if>
<if
test=
"val.scoreTmpSumValue!=null"
>
score_tmp_sum_value= #{val.scoreTmpValue}
</if>
<if
test=
"val.improveSumValue!=null"
>
score_tmp_sum_value=#{val.scoreTmpValue}
</if>
</set>
where id = ${val.id}
</foreach>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment