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
4b0f54cf
Commit
4b0f54cf
authored
Feb 17, 2025
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 优化绿波干线优化时间
parent
fecb00e9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
9 deletions
+35
-9
StrategyControlServiceImpl.java
...pt/synthesis/service/impl/StrategyControlServiceImpl.java
+35
-9
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/service/impl/StrategyControlServiceImpl.java
View file @
4b0f54cf
...
@@ -461,25 +461,51 @@ public class StrategyControlServiceImpl implements StrategyControlService {
...
@@ -461,25 +461,51 @@ public class StrategyControlServiceImpl implements StrategyControlService {
}
}
}
}
// 绿波优化次数
// 绿波优化次数
long
current
=
System
.
currentTimeMillis
();
int
greenOptCount
=
0
;
int
greenOptCount
=
0
;
int
greenOptTime
=
0
;
int
greenOptTime
=
0
;
long
endTime
=
current
;
LambdaQueryWrapper
<
StrategyGreenOptHistEntity
>
greenQuery
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
StrategyGreenOptHistEntity
>
greenQuery
=
new
LambdaQueryWrapper
<>();
greenQuery
.
ge
(
StrategyGreenOptHistEntity:
:
getControlTime
,
midNight
);
greenQuery
.
ge
(
StrategyGreenOptHistEntity:
:
getControlTime
,
midNight
);
greenQuery
.
ge
(
StrategyGreenOptHistEntity:
:
getResponseCode
,
200
);
greenQuery
.
eq
(
StrategyGreenOptHistEntity:
:
getResponseCode
,
200
);
greenQuery
.
orderByDesc
(
StrategyGreenOptHistEntity:
:
getControlTime
);
List
<
StrategyGreenOptHistEntity
>
entities
=
strategyGreenOptHistMapper
.
selectList
(
greenQuery
);
List
<
StrategyGreenOptHistEntity
>
entities
=
strategyGreenOptHistMapper
.
selectList
(
greenQuery
);
if
(!
CollectionUtils
.
isEmpty
(
entities
))
{
if
(!
CollectionUtils
.
isEmpty
(
entities
))
{
for
(
StrategyGreenOptHistEntity
entity
:
entities
)
{
Map
<
Integer
,
List
<
StrategyGreenOptHistEntity
>>
listMap
=
entities
.
stream
().
collect
(
Collectors
.
groupingBy
(
StrategyGreenOptHistEntity:
:
getGreenId
));
String
controlTime
=
entity
.
getControlTime
();
for
(
Map
.
Entry
<
Integer
,
List
<
StrategyGreenOptHistEntity
>>
entry
:
listMap
.
entrySet
())
{
Integer
controlMethod
=
entity
.
getControlMethod
();
Integer
greenId
=
entry
.
getKey
();
if
(!
Objects
.
equals
(-
1
,
controlMethod
))
{
List
<
StrategyGreenOptHistEntity
>
value
=
entry
.
getValue
();
for
(
StrategyGreenOptHistEntity
entity
:
value
)
{
if
(
Objects
.
equals
(
0
,
entity
.
getDirType
()))
{
continue
;
}
String
controlTime
=
entity
.
getControlTime
();
Integer
controlMethod
=
entity
.
getControlMethod
();
Date
parse
=
DateUtil
.
parse
(
controlTime
,
"yyyy-MM-dd HH:mm:ss"
);
Date
parse
=
DateUtil
.
parse
(
controlTime
,
"yyyy-MM-dd HH:mm:ss"
);
greenOptTime
+=
entity
.
getControlDuration
();
long
controlLong
=
parse
.
getTime
();
greenOptCount
+=
1
;
// 优化次数:去掉-1, 剩余记录总数
long
temp
=
endTime
;
if
(
Objects
.
equals
(-
1
,
controlMethod
))
{
endTime
=
parse
.
getTime
();
continue
;
}
else
{
greenOptCount
+=
1
;
// 最新数据与当前数据比较,小于30min
if
(
endTime
-
controlLong
<
30
*
60
*
1000
)
{
temp
=
endTime
;
endTime
=
current
;
}
else
{
temp
=
endTime
;
endTime
=
controlLong
;
}
}
int
offset
=
(
int
)
((
temp
-
controlLong
)
/
1000
);
greenOptTime
+=
offset
;
}
}
}
}
}
}
strategyOptTimesVO
.
setCount
(
optCount
+
greenOptCount
/
2
);
strategyOptTimesVO
.
setCount
(
optCount
+
greenOptCount
);
strategyOptTimesVO
.
setTimes
(
optTime
+
greenOptTime
/
2
);
strategyOptTimesVO
.
setTimes
(
optTime
+
greenOptTime
);
return
JsonViewObject
.
newInstance
().
success
(
strategyOptTimesVO
);
return
JsonViewObject
.
newInstance
().
success
(
strategyOptTimesVO
);
}
}
...
...
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