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
7a4969cd
Commit
7a4969cd
authored
Feb 11, 2025
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 绿波干线运行监测
parent
d64c2b36
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
49 additions
and
19 deletions
+49
-19
GreenwaveHistoryMapper.java
...java/net/wanji/opt/dao/mapper/GreenwaveHistoryMapper.java
+11
-1
TrendServiceImpl.java
...ain/java/net/wanji/opt/service/impl/TrendServiceImpl.java
+8
-11
StrategyControlServiceImpl.java
...pt/synthesis/service/impl/StrategyControlServiceImpl.java
+8
-7
GreenwaveRunMonitorVO.java
...src/main/java/net/wanji/opt/vo/GreenwaveRunMonitorVO.java
+2
-0
GreenwaveHistMapper.xml
...service/src/main/resources/mapper/GreenwaveHistMapper.xml
+18
-0
GreenwaveHistPOExt.java
...java/net/wanji/databus/dao/entity/GreenwaveHistPOExt.java
+2
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/GreenwaveHistoryMapper.java
View file @
7a4969cd
...
...
@@ -2,15 +2,16 @@ package net.wanji.opt.dao.mapper;
import
net.wanji.common.framework.mapper.BaseInterfaceMapper
;
import
net.wanji.databus.dao.entity.GreenwaveHistPOExt
;
import
net.wanji.databus.po.CrossDataHistPO
;
import
net.wanji.databus.po.CrossDirDataHistPO
;
import
net.wanji.databus.po.CrossTurnDataHistPO
;
import
net.wanji.opt.entity.GreenwaveHist
;
import
net.wanji.opt.po.base.CrossLaneDataHistPoExtend
;
import
net.wanji.opt.po.trend.GreenwaveCrossTrendPo
;
import
net.wanji.opt.vo.GreenWaveRunStateVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -109,5 +110,14 @@ public interface GreenwaveHistoryMapper extends BaseInterfaceMapper<GreenwaveHis
*/
List
<
CrossLaneDataHistPoExtend
>
findCrossExitRoadIndex
(
Map
<
String
,
Object
>
params
);
/**
* 优化监测-干线运行监测V2版本
* @param greenId
* @param date
* @return
*/
List
<
GreenwaveHistPOExt
>
selectRunMonitorV2
(
@Param
(
"greenId"
)
Integer
greenId
,
@Param
(
"date"
)
Date
date
);
}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/TrendServiceImpl.java
View file @
7a4969cd
...
...
@@ -29,6 +29,7 @@ import net.wanji.opt.common.enums.EventInfoTypeEnum;
import
net.wanji.opt.common.exception.OptServiceException
;
import
net.wanji.opt.config.DirectionMappingsConfig
;
import
net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper
;
import
net.wanji.opt.dao.mapper.GreenwaveHistoryMapper
;
import
net.wanji.opt.dao.mapper.HoloEventMapper
;
import
net.wanji.opt.dao.mapper.strategy.SceneMapper
;
import
net.wanji.opt.dao.mapper.strategy.SceneStrategyIdeaMapper
;
...
...
@@ -116,6 +117,7 @@ public class TrendServiceImpl implements TrendService {
private
final
BaseCrossInfoCache
crossInfoCache
;
@Value
(
"${spring.kafka.bootstrap-servers}"
)
private
String
bootstrapServers
;
private
final
GreenwaveHistoryMapper
greenwaveHistoryMapper
;
// 用于计算路口状态,key为方向,value为状态
private
Map
<
Integer
,
Integer
>
preStatus
=
new
HashMap
<
Integer
,
Integer
>()
{{
...
...
@@ -147,7 +149,7 @@ public class TrendServiceImpl implements TrendService {
CrossSchemeOptLogMapper
crossSchemeOptLogMapper
,
GreenwaveCrossMapper
greenwaveCrossMapper
,
CrossDirDataRealtimeMapper
crossDirDataRealtimeMapper
,
GreenwaveHistMapper
greenwaveHistMapper
,
GreenwaveRealtimeMapper
greenwaveRealtimeMapper
,
SceneStrategyIdeaMapper
strategyIdeaMapper
,
StrategyMapper
strategyMapper
,
BaseCrossSchedulesMapper
baseCrossSchedulesMapper
,
BaseCrossSchedulesPlanMapper
baseCrossSchedulesPlanMapper
,
BaseCrossSectionMapper
baseCrossSectionMapper
,
BaseCrossSchemeMapper
crossSchemeMapper
,
BaseCrossSchemeMapper
baseCrossSchemeMapper
,
BaseCrossPhaseMapper
baseCrossPhaseMapper
,
BaseCrossPhaseLightsMapper
crossPhaseLightsMapper
,
BaseCrossLaneLightsMapper
baseCrossLaneLightsMapper
,
CrossBaseLaneInfoMapper
crossBaseLaneInfoMapper
,
CrossTurnDataHistMapper
crossTurnDataHistMapper
,
@Qualifier
(
"greenwaveSceneMapper"
)
GreenwaveSceneMapper
greenwaveSceneMapper
,
@Qualifier
(
"sceneStrategyMapper"
)
SceneStrategyMapper
sceneStrategyMapper
,
@Qualifier
(
"sceneMapper"
)
SceneMapper
sceneMapper
,
@Qualifier
(
"baseCrossPlanMapper"
)
BaseCrossPlanMapper
baseCrossPlanMapper
,
MainlineEvaluateServiceImpl
mainlineEvaluateServiceImpl
,
CrossLaneDataHistMapper
crossLaneDataHistMapper
,
LaneSnapshotDataQueryService
laneSnapshotDataQueryService
,
DirectionMappingsConfig
directionMappingsConfig
,
CrossDataHistMapper
crossDataHistMapper
,
RunningEvaluateServiceImpl
runningEvaluateService
,
AnalysisRidTurnIndicatorsMapper
ridTurnIndicatorsMapper
,
HoloEventMapper
holoEventMapper
,
BaseCrossInfoCache
crossInfoCache
)
{
BaseCrossInfoCache
crossInfoCache
,
GreenwaveHistoryMapper
greenwaveHistoryMapper
)
{
this
.
greenwaveInfoMapper
=
greenwaveInfoMapper
;
this
.
baseCrossInfoMapper
=
baseCrossInfoMapper
;
this
.
crossDataRealtimeMapper
=
crossDataRealtimeMapper
;
...
...
@@ -184,6 +186,7 @@ public class TrendServiceImpl implements TrendService {
this
.
ridTurnIndicatorsMapper
=
ridTurnIndicatorsMapper
;
this
.
holoEventMapper
=
holoEventMapper
;
this
.
crossInfoCache
=
crossInfoCache
;
this
.
greenwaveHistoryMapper
=
greenwaveHistoryMapper
;
}
@Override
...
...
@@ -533,24 +536,18 @@ public class TrendServiceImpl implements TrendService {
@Override
public
List
<
GreenwaveRunMonitorVO
>
greenwaveRunMonitor
(
GreenwaveIdBO
greenwaveIdBO
)
{
List
<
GreenwaveRunMonitorVO
>
res
=
new
ArrayList
<>();
Date
nowTim
e
=
new
Date
();
List
<
GreenwaveHistPOExt
>
extList
=
greenwaveHist
Mapper
.
selectRunMonitor
(
nowTim
e
);
Date
dat
e
=
new
Date
();
List
<
GreenwaveHistPOExt
>
extList
=
greenwaveHist
oryMapper
.
selectRunMonitorV2
(
greenwaveIdBO
.
getGreenwaveId
(),
dat
e
);
for
(
GreenwaveHistPOExt
greenwaveHistPOExt
:
extList
)
{
GreenwaveRunMonitorVO
greenWaveRunMonitorVO
=
new
GreenwaveRunMonitorVO
();
String
hour
=
greenwaveHistPOExt
.
getHour
();
String
hourSub
=
hour
.
substring
(
11
,
16
);
// 截取小时
greenWaveRunMonitorVO
.
setHour
(
hourSub
);
greenWaveRunMonitorVO
.
setHour
(
hour
);
greenWaveRunMonitorVO
.
setAvgSpeed
(
greenwaveHistPOExt
.
getAvgSpeed
());
Double
congestionIndex
=
greenwaveHistPOExt
.
getCongestionIndex
();
if
(
Objects
.
isNull
(
congestionIndex
))
{
congestionIndex
=
1.0
;
}
greenWaveRunMonitorVO
.
setCongestionIndex
(
congestionIndex
);
Double
trvalTime
=
greenwaveHistPOExt
.
getTrvalTime
();
if
(
Objects
.
isNull
(
trvalTime
))
{
trvalTime
=
1.0
;
}
greenWaveRunMonitorVO
.
setTravelTime
(
trvalTime
.
intValue
());
greenWaveRunMonitorVO
.
setRoadDirection
(
greenwaveHistPOExt
.
getRoadDirection
());
res
.
add
(
greenWaveRunMonitorVO
);
}
return
res
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/service/impl/StrategyControlServiceImpl.java
View file @
7a4969cd
...
...
@@ -210,8 +210,7 @@ public class StrategyControlServiceImpl implements StrategyControlService {
log
.
error
(
"优化策略查询失败:"
,
e
);
JsonViewObject
.
newInstance
().
fail
(
"优化策略查询失败"
);
}
List
<
StrategyControlHistVO
>
sorted
=
results
.
stream
().
sorted
(
Comparator
.
comparing
(
StrategyControlHistVO:
:
getOptTime
).
reversed
())
.
limit
(
3000
).
collect
(
Collectors
.
toList
());
List
<
StrategyControlHistVO
>
sorted
=
results
.
stream
().
sorted
(
Comparator
.
comparing
(
StrategyControlHistVO:
:
getOptTime
).
reversed
()).
collect
(
Collectors
.
toList
());
return
JsonViewObject
.
newInstance
().
success
(
sorted
);
}
...
...
@@ -245,9 +244,9 @@ public class StrategyControlServiceImpl implements StrategyControlService {
}
else
{
queryWrapper
.
ne
(
StrategyCrossResultEntity:
:
getResponseCode
,
200
);
}
queryWrapper
.
orderByDesc
(
StrategyCrossResultEntity:
:
getIssueTime
);
queryWrapper
.
last
(
"limit 3000"
);
}
queryWrapper
.
orderByDesc
(
StrategyCrossResultEntity:
:
getIssueTime
);
queryWrapper
.
last
(
"limit 3000"
);
List
<
StrategyCrossResultEntity
>
resultEntities
=
strategyCrossResultMapper
.
selectList
(
queryWrapper
);
if
(!
CollectionUtils
.
isEmpty
(
resultEntities
))
{
for
(
StrategyCrossResultEntity
resultEntity
:
resultEntities
)
{
...
...
@@ -500,8 +499,11 @@ public class StrategyControlServiceImpl implements StrategyControlService {
queryWrapper
.
orderByAsc
(
StrategyGreenOptHistEntity:
:
getControlTime
);
List
<
StrategyGreenOptHistEntity
>
entities
=
strategyGreenOptHistMapper
.
selectList
(
queryWrapper
);
if
(!
CollectionUtils
.
isEmpty
(
entities
))
{
for
(
StrategyGreenOptHistEntity
entity
:
entities
)
{
Integer
greenId
=
entity
.
getGreenId
();
Map
<
Integer
,
Optional
<
StrategyGreenOptHistEntity
>>
groupMap
=
entities
.
stream
().
collect
(
Collectors
.
groupingBy
(
StrategyGreenOptHistEntity:
:
getGreenId
,
Collectors
.
maxBy
(
Comparator
.
comparing
(
StrategyGreenOptHistEntity:
:
getControlTime
))));
for
(
Map
.
Entry
<
Integer
,
Optional
<
StrategyGreenOptHistEntity
>>
entry
:
groupMap
.
entrySet
())
{
Integer
greenId
=
entry
.
getKey
();
Optional
<
StrategyGreenOptHistEntity
>
value
=
entry
.
getValue
();
StrategyGreenOptHistEntity
entity
=
value
.
get
();
StrategyControlDataExt
ext
=
new
StrategyControlDataExt
();
Integer
controlMethod
=
entity
.
getControlMethod
();
if
(
Objects
.
equals
(-
1
,
controlMethod
))
{
...
...
@@ -525,7 +527,6 @@ public class StrategyControlServiceImpl implements StrategyControlService {
results
.
add
(
ext
);
}
}
results
.
sort
(
Comparator
.
comparing
(
StrategyControlDataExt:
:
getStatus
).
reversed
());
return
results
;
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/GreenwaveRunMonitorVO.java
View file @
7a4969cd
...
...
@@ -17,4 +17,6 @@ public class GreenwaveRunMonitorVO {
private
Double
congestionIndex
;
@ApiModelProperty
(
value
=
"行程时间"
)
private
Integer
travelTime
;
@ApiModelProperty
(
value
=
"绿波方向"
)
private
String
roadDirection
;
}
signal-optimize-service/src/main/resources/mapper/GreenwaveHistMapper.xml
View file @
7a4969cd
...
...
@@ -77,6 +77,24 @@
GROUP BY green_id,road_direction,DATE_FORMAT( start_time, '%Y-%m-%d %H:%i:00' );
</select>
<select
id=
"selectRunMonitorV2"
resultType=
"net.wanji.databus.dao.entity.GreenwaveHistPOExt"
>
SELECT green_id,
(case
when road_direction='n2s' then '南向北'
when road_direction='s2n' then '北向南'
when road_direction='e2w' then '东向西'
when road_direction='w2e' then '西向东'
end ) roadDirection,
DATE_FORMAT(start_time, '%Y-%m-%d %H:%i:00') AS hour,
speed AS avg_speed,
traffic_index AS congestion_index,
trval_time AS trval_time
FROM t_greenwave_hist
WHERE gmt_modified
>
DATE_FORMAT(#{date}, '%Y-%m-%d 00:00:00')
AND gmt_modified
<
DATE_FORMAT(DATE_ADD(#{date}, INTERVAL 1 HOUR), '%Y-%m-%d %H:00:00')
and green_id = #{greenId}
</select>
<!-- 查看路口协调/非协调方向5分钟粒度平均指标 -->
<select
id=
"findUnCoordinateCrossIndex"
resultType=
"map"
>
SELECT t.cross_id,
...
...
wj-databus/src/main/java/net/wanji/databus/dao/entity/GreenwaveHistPOExt.java
View file @
7a4969cd
...
...
@@ -17,4 +17,6 @@ public class GreenwaveHistPOExt {
private
Double
congestionIndex
;
@ApiModelProperty
(
value
=
"行程时间"
)
private
Double
trvalTime
;
@ApiModelProperty
(
value
=
"绿波方向"
)
private
String
roadDirection
;
}
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