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
0dadb193
Commit
0dadb193
authored
Dec 25, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 优化监测-AI干线优化绿信比百分比
parent
85336f67
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
33 deletions
+33
-33
GreenBeltServiceImpl.java
...anji/opt/service/signalopt/impl/GreenBeltServiceImpl.java
+33
-33
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/signalopt/impl/GreenBeltServiceImpl.java
View file @
0dadb193
...
...
@@ -120,9 +120,14 @@ public class GreenBeltServiceImpl implements GreenBeltInfoService {
int
end
=
(
int
)
(
System
.
currentTimeMillis
()
/
1000
)
+
300
;
List
<
CrossDirDataHistPO
>
dirDataHistPOS
=
crossDirDataHistMapper
.
selectDirDataList
(
crossId
,
dirList
,
start
,
end
);
if
(!
CollectionUtils
.
isEmpty
(
dirDataHistPOS
))
{
Map
<
Integer
,
List
<
CrossDirDataHistPO
>>
dirHistMap
=
dirDataHistPOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
CrossDirDataHistPO:
:
getDirType
));
Integer
dir
=
null
;
for
(
Map
.
Entry
<
Integer
,
List
<
CrossDirDataHistPO
>>
entry
:
dirHistMap
.
entrySet
())
{
dir
=
entry
.
getKey
();
List
<
CrossDirDataHistPO
>
value
=
entry
.
getValue
();
Double
greenTimeRatio
=
0.0
;
List
<
GreenBeltKeyCrossFlowTimeVO
.
Detail
>
details
=
new
ArrayList
<>();
for
(
CrossDirDataHistPO
dirDataHistPO
:
dirDataHistPOS
)
{
for
(
CrossDirDataHistPO
dirDataHistPO
:
value
)
{
GreenBeltKeyCrossFlowTimeVO
.
Detail
detail
=
new
GreenBeltKeyCrossFlowTimeVO
.
Detail
();
detail
.
setCrossId
(
crossId
);
String
crossName
=
baseCrossInfoCache
.
getCrossName
(
crossId
);
...
...
@@ -140,34 +145,29 @@ public class GreenBeltServiceImpl implements GreenBeltInfoService {
}
if
(
StringUtils
.
equalsIgnoreCase
(
crossId
,
optResult
.
getCrossId
())
&&
Objects
.
equals
(
curDir
,
dirType
)
&&
dirDataHistPO
.
getStartTime
().
getTime
()
==
optResult
.
getStartTime
().
getTime
())
{
detail
.
setGreenTimeRatio
(
optResult
.
getGreenTimeRatio
()
);
greenTimeRatio
=
optResult
.
getGreenTimeRatio
()
;
detail
.
setGreenTimeRatio
(
optResult
.
getGreenTimeRatio
()
*
100
);
greenTimeRatio
=
optResult
.
getGreenTimeRatio
()
*
100
;
}
}
details
.
add
(
detail
);
}
if
(!
CollectionUtils
.
isEmpty
(
details
))
{
Map
<
String
,
List
<
GreenBeltKeyCrossFlowTimeVO
.
Detail
>>
dirMap
=
details
.
stream
().
collect
(
Collectors
.
groupingBy
(
GreenBeltKeyCrossFlowTimeVO
.
Detail
::
getDir
));
for
(
Map
.
Entry
<
String
,
List
<
GreenBeltKeyCrossFlowTimeVO
.
Detail
>>
entry
:
dirMap
.
entrySet
())
{
String
dir
=
entry
.
getKey
();
GreenBeltKeyCrossFlowTimeVO
greenBeltKeyCrossFlowTimeVO
=
new
GreenBeltKeyCrossFlowTimeVO
();
List
<
GreenBeltKeyCrossFlowTimeVO
.
Detail
>
value
=
entry
.
getValue
();
String
crossName
=
""
;
if
(!
CollectionUtils
.
isEmpty
(
value
))
{
GreenBeltKeyCrossFlowTimeVO
.
Detail
detail
=
value
.
get
(
0
);
GreenBeltKeyCrossFlowTimeVO
.
Detail
detail
=
details
.
get
(
0
);
crossName
=
detail
.
getCrossName
();
}
greenBeltKeyCrossFlowTimeVO
.
setCrossName
(
crossName
);
greenBeltKeyCrossFlowTimeVO
.
setDirName
(
GreenBeltDirEnum
.
getInDirName
(
Integer
.
valueOf
(
dir
)));
List
<
GreenBeltKeyCrossFlowTimeVO
.
Detail
>
collect
=
value
.
stream
().
sorted
(
Comparator
.
comparing
(
GreenBeltKeyCrossFlowTimeVO
.
Detail
::
getStartTime
)).
collect
(
Collectors
.
toList
());
List
<
GreenBeltKeyCrossFlowTimeVO
.
Detail
>
collect
=
details
.
stream
().
sorted
(
Comparator
.
comparing
(
GreenBeltKeyCrossFlowTimeVO
.
Detail
::
getStartTime
)).
collect
(
Collectors
.
toList
());
greenBeltKeyCrossFlowTimeVO
.
setDetailList
(
collect
);
results
.
add
(
greenBeltKeyCrossFlowTimeVO
);
}
}
}
// 关键路口历史数据
return
results
;
}
catch
(
Exception
e
)
{
log
.
error
(
"绿波关键路口流量绿信比查询异常:"
,
e
);
...
...
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