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
02627882
Commit
02627882
authored
Apr 26, 2024
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
干线方案分析日期解析使用线程安全的类
parent
3d1ecef1
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
1 deletion
+41
-1
MainlineEvaluateServiceImpl.java
...t/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
+24
-1
MainlineCrossEvaluateVO.java
...c/main/java/net/wanji/opt/vo/MainlineCrossEvaluateVO.java
+17
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
View file @
02627882
...
@@ -35,6 +35,9 @@ import java.math.BigDecimal;
...
@@ -35,6 +35,9 @@ import java.math.BigDecimal;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.function.ToDoubleFunction
;
import
java.util.function.ToDoubleFunction
;
...
@@ -75,6 +78,8 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -75,6 +78,8 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
private
final
GreenwaveMergeMapper
greenwaveMergeMapper
;
private
final
GreenwaveMergeMapper
greenwaveMergeMapper
;
SimpleDateFormat
hourMinuteFormat
=
new
SimpleDateFormat
(
"HH:mm"
);
SimpleDateFormat
hourMinuteFormat
=
new
SimpleDateFormat
(
"HH:mm"
);
DateTimeFormatter
safeHourMinuteFormat
=
DateTimeFormatter
.
ofPattern
(
"HH:mm"
)
.
withZone
(
java
.
time
.
ZoneId
.
systemDefault
());
SimpleDateFormat
dayFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
dayFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
chineseDayFormat
=
new
SimpleDateFormat
(
"M月d日"
);
SimpleDateFormat
chineseDayFormat
=
new
SimpleDateFormat
(
"M月d日"
);
SimpleDateFormat
dateHourMinuteFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
SimpleDateFormat
dateHourMinuteFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
...
@@ -1201,6 +1206,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -1201,6 +1206,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
.
orElse
(
0.0
));
.
orElse
(
0.0
));
int
nonCoordValue
=
(
int
)
Math
.
round
(
nonCoordValueDouble
);
int
nonCoordValue
=
(
int
)
Math
.
round
(
nonCoordValueDouble
);
mainlineCrossEvaluateVO
.
setNonCoordValue
(
nonCoordValue
);
mainlineCrossEvaluateVO
.
setNonCoordValue
(
nonCoordValue
);
mainlineCrossEvaluateVO
.
setQueueList
(
buildQueueList
(
filteredList
));
// 计算非协调停车次数
// 计算非协调停车次数
double
stopTimes
=
(
filteredList
.
stream
()
double
stopTimes
=
(
filteredList
.
stream
()
...
@@ -1211,6 +1217,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -1211,6 +1217,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
bd
=
bd
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
bd
=
bd
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
double
formattedDouble
=
bd
.
doubleValue
();
double
formattedDouble
=
bd
.
doubleValue
();
mainlineCrossEvaluateVO
.
setStopTimes
(
formattedDouble
);
mainlineCrossEvaluateVO
.
setStopTimes
(
formattedDouble
);
mainlineCrossEvaluateVO
.
setStopTimesList
(
buildStopList
(
filteredList
));
// 计算非协调二次停车率
// 计算非协调二次停车率
double
twoStopRate
=
(
filteredList
.
stream
()
double
twoStopRate
=
(
filteredList
.
stream
()
...
@@ -1219,6 +1226,19 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -1219,6 +1226,19 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
.
orElse
(
0.0
));
.
orElse
(
0.0
));
int
intRate
=
(
int
)
(
twoStopRate
*
100
);
int
intRate
=
(
int
)
(
twoStopRate
*
100
);
mainlineCrossEvaluateVO
.
setTwoStopRate
(
intRate
);
mainlineCrossEvaluateVO
.
setTwoStopRate
(
intRate
);
mainlineCrossEvaluateVO
.
setTwoStopRateList
(
buildTwoStopRateList
(
filteredList
));
}
private
List
<
MainlineCrossEvaluateVO
.
TimeAndValue
>
buildQueueList
(
List
<
CrossDirDataHistPOExt
>
filteredList
)
{
return
null
;
}
private
List
<
MainlineCrossEvaluateVO
.
TimeAndValue
>
buildStopList
(
List
<
CrossDirDataHistPOExt
>
filteredList
)
{
return
null
;
}
private
List
<
MainlineCrossEvaluateVO
.
TimeAndValue
>
buildTwoStopRateList
(
List
<
CrossDirDataHistPOExt
>
filteredList
)
{
return
null
;
}
}
private
List
<
String
>
buildCrossEvaluateList
(
private
List
<
String
>
buildCrossEvaluateList
(
...
@@ -2472,7 +2492,10 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -2472,7 +2492,10 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
Date
startDate
=
hourMinuteFormat
.
parse
(
startTime
);
Date
startDate
=
hourMinuteFormat
.
parse
(
startTime
);
Date
endDate
=
hourMinuteFormat
.
parse
(
endTime
);
Date
endDate
=
hourMinuteFormat
.
parse
(
endTime
);
String
histTimeStr
=
hourMinuteFormat
.
format
(
histGreenwaveGmtModified
);
LocalDateTime
localDateTime
=
histGreenwaveGmtModified
.
toInstant
()
.
atZone
(
ZoneId
.
systemDefault
())
.
toLocalDateTime
();
String
histTimeStr
=
localDateTime
.
format
(
safeHourMinuteFormat
);
Date
histTime
=
hourMinuteFormat
.
parse
(
histTimeStr
);
Date
histTime
=
hourMinuteFormat
.
parse
(
histTimeStr
);
res
.
setStartTime
(
startTime
);
res
.
setStartTime
(
startTime
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/MainlineCrossEvaluateVO.java
View file @
02627882
...
@@ -36,6 +36,13 @@ public class MainlineCrossEvaluateVO {
...
@@ -36,6 +36,13 @@ public class MainlineCrossEvaluateVO {
@ApiModelProperty
(
value
=
"评价"
)
@ApiModelProperty
(
value
=
"评价"
)
private
List
<
String
>
crossEvaluateList
;
private
List
<
String
>
crossEvaluateList
;
@ApiModelProperty
(
value
=
"非协调排队长度"
)
private
List
<
TimeAndValue
>
queueList
;
@ApiModelProperty
(
value
=
"非协调停车次数"
)
private
List
<
TimeAndValue
>
stopTimesList
;
@ApiModelProperty
(
value
=
"非协调二次停车率"
)
private
List
<
TimeAndValue
>
twoStopRateList
;
@NoArgsConstructor
@NoArgsConstructor
@Data
@Data
public
static
class
DirElement
{
public
static
class
DirElement
{
...
@@ -46,4 +53,14 @@ public class MainlineCrossEvaluateVO {
...
@@ -46,4 +53,14 @@ public class MainlineCrossEvaluateVO {
private
Integer
value
;
private
Integer
value
;
}
}
@NoArgsConstructor
@Data
public
static
class
TimeAndValue
{
@ApiModelProperty
(
value
=
"小时分钟"
)
private
String
time
;
@ApiModelProperty
(
value
=
"指标数值"
)
private
Integer
value
;
}
}
}
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