Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
traffic-signal-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
signal
traffic-signal-platform
Commits
170f2203
Commit
170f2203
authored
Jan 15, 2024
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] bug-447 方案评价-方案详情-饱和度数据展示应保留两位小数
parent
3fd11a1b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
20 deletions
+33
-20
SchemeEvaluateServiceImpl.java
...net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
+32
-19
SchemeEvaluateCurveChartVO.java
...ain/java/net/wanji/opt/vo/SchemeEvaluateCurveChartVO.java
+1
-1
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
View file @
170f2203
...
@@ -11,7 +11,10 @@ import net.wanji.common.enums.TurnConvertEnum;
...
@@ -11,7 +11,10 @@ import net.wanji.common.enums.TurnConvertEnum;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.common.utils.tool.TimeArrayUtil
;
import
net.wanji.common.utils.tool.TimeArrayUtil
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.databus.dao.entity.*
;
import
net.wanji.databus.dao.entity.BaseCrossSchedulesPO
;
import
net.wanji.databus.dao.entity.BaseCrossSchedulesPlanPO
;
import
net.wanji.databus.dao.entity.BaseCrossSchemePO
;
import
net.wanji.databus.dao.entity.CrossSectionPO
;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.po.*
;
import
net.wanji.databus.po.*
;
import
net.wanji.opt.bo.CrossSchemeListBO
;
import
net.wanji.opt.bo.CrossSchemeListBO
;
...
@@ -33,6 +36,8 @@ import org.springframework.beans.factory.annotation.Qualifier;
...
@@ -33,6 +36,8 @@ import org.springframework.beans.factory.annotation.Qualifier;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Field
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
...
@@ -396,14 +401,18 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
...
@@ -396,14 +401,18 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
declaredField
.
setAccessible
(
true
);
declaredField
.
setAccessible
(
true
);
if
(
CollectionUtil
.
isNotEmpty
(
poList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
poList
))
{
int
metricSum
=
0
;
double
metricSum
=
0
;
for
(
CrossDirDataHistPOExt
crossDirDataHistPOExt
:
poList
)
{
for
(
CrossDirDataHistPOExt
crossDirDataHistPOExt
:
poList
)
{
Integer
intValue
=
getDirInteger
(
crossDirDataHistPOExt
,
declaredField
);
Double
doubleValue
=
getDirDouble
(
crossDirDataHistPOExt
,
declaredField
);
metricSum
+=
int
Value
;
metricSum
+=
double
Value
;
}
}
int
size
=
poList
.
size
();
int
size
=
poList
.
size
();
vo
.
setMetricValue
(
metricSum
/
size
);
double
v
=
metricSum
/
size
;
BigDecimal
bd
=
new
BigDecimal
(
v
);
bd
=
bd
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
double
roundedValue
=
bd
.
doubleValue
();
vo
.
setMetricValue
(
roundedValue
);
}
}
res
.
add
(
vo
);
res
.
add
(
vo
);
}
}
...
@@ -446,14 +455,18 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
...
@@ -446,14 +455,18 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
declaredField
.
setAccessible
(
true
);
declaredField
.
setAccessible
(
true
);
if
(
CollectionUtil
.
isNotEmpty
(
poList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
poList
))
{
int
metricSum
=
0
;
double
metricSum
=
0
;
for
(
CrossTurnDataHistPOExt
crossTurnDataHistPOExt
:
poList
)
{
for
(
CrossTurnDataHistPOExt
crossTurnDataHistPOExt
:
poList
)
{
Integer
intValue
=
getTurnInteger
(
crossTurnDataHistPOExt
,
declaredField
);
Double
doubleValue
=
getTurnDouble
(
crossTurnDataHistPOExt
,
declaredField
);
metricSum
+=
int
Value
;
metricSum
+=
double
Value
;
}
}
int
size
=
poList
.
size
();
int
size
=
poList
.
size
();
vo
.
setMetricValue
(
metricSum
/
size
);
double
v
=
metricSum
/
size
;
BigDecimal
bd
=
new
BigDecimal
(
v
);
bd
=
bd
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
double
roundedValue
=
bd
.
doubleValue
();
vo
.
setMetricValue
(
roundedValue
);
}
}
res
.
add
(
vo
);
res
.
add
(
vo
);
}
}
...
@@ -473,34 +486,34 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
...
@@ -473,34 +486,34 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
SPECIAL_METRICS
.
add
(
StrategyAndMetricsEnum
.
Metrics
.
CLEAR_RATE
.
getField
());
SPECIAL_METRICS
.
add
(
StrategyAndMetricsEnum
.
Metrics
.
CLEAR_RATE
.
getField
());
}
}
private
Integer
getInteger
FromObject
(
Object
object
,
Field
declaredField
)
throws
IllegalAccessException
{
private
Double
getDouble
FromObject
(
Object
object
,
Field
declaredField
)
throws
IllegalAccessException
{
Object
objValue
=
declaredField
.
get
(
object
);
Object
objValue
=
declaredField
.
get
(
object
);
if
(
ObjectUtil
.
isEmpty
(
objValue
))
{
if
(
ObjectUtil
.
isEmpty
(
objValue
))
{
objValue
=
0
;
objValue
=
0
;
}
}
String
fieldName
=
declaredField
.
getName
();
String
fieldName
=
declaredField
.
getName
();
if
(
SPECIAL_METRICS
.
contains
(
fieldName
)
&&
objValue
instanceof
Double
)
{
if
(
SPECIAL_METRICS
.
contains
(
fieldName
)
&&
objValue
instanceof
Double
)
{
objValue
=
(
int
)
Math
.
round
((
Double
)
objValue
*
100
);
objValue
=
(
double
)
Math
.
round
((
Double
)
objValue
*
100
);
}
}
if
(
objValue
instanceof
Integer
)
{
if
(
objValue
instanceof
Integer
)
{
return
(
Integer
)
objValue
;
return
(
double
)
objValue
;
}
else
if
(
objValue
instanceof
Double
)
{
}
else
if
(
objValue
instanceof
Double
)
{
return
(
int
)
Math
.
round
((
Double
)
objValue
);
BigDecimal
bd
=
BigDecimal
.
valueOf
((
double
)
objValue
);
bd
=
bd
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
return
bd
.
doubleValue
();
}
else
{
}
else
{
throw
new
IllegalArgumentException
(
"字段值不是 int 或 double"
);
throw
new
IllegalArgumentException
(
"字段值不是 int 或 double"
);
}
}
}
}
@NotNull
private
Double
getTurnDouble
(
CrossTurnDataHistPOExt
crossTurnDataHistPO
,
Field
declaredField
)
private
Integer
getTurnInteger
(
CrossTurnDataHistPOExt
crossTurnDataHistPO
,
Field
declaredField
)
throws
IllegalAccessException
{
throws
IllegalAccessException
{
return
get
Integer
FromObject
(
crossTurnDataHistPO
,
declaredField
);
return
get
Double
FromObject
(
crossTurnDataHistPO
,
declaredField
);
}
}
@NotNull
private
Double
getDirDouble
(
CrossDirDataHistPOExt
crossDirDataHistPO
,
Field
declaredField
)
private
Integer
getDirInteger
(
CrossDirDataHistPOExt
crossDirDataHistPO
,
Field
declaredField
)
throws
IllegalAccessException
{
throws
IllegalAccessException
{
return
get
Integer
FromObject
(
crossDirDataHistPO
,
declaredField
);
return
get
Double
FromObject
(
crossDirDataHistPO
,
declaredField
);
}
}
private
void
buildSecurityDetailVO
(
List
<
CrossDirDataHistPO
>
crossDirDataHistPOList
,
private
void
buildSecurityDetailVO
(
List
<
CrossDirDataHistPO
>
crossDirDataHistPOList
,
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/SchemeEvaluateCurveChartVO.java
View file @
170f2203
...
@@ -23,5 +23,5 @@ public class SchemeEvaluateCurveChartVO {
...
@@ -23,5 +23,5 @@ public class SchemeEvaluateCurveChartVO {
private
String
metricTime
;
private
String
metricTime
;
@ApiModelProperty
(
value
=
"指标数值"
)
@ApiModelProperty
(
value
=
"指标数值"
)
private
Integer
metricValue
;
private
Double
metricValue
;
}
}
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