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
f369a95c
Commit
f369a95c
authored
Sep 15, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 新信号评价-方案评价-方案详情曲线图
parent
9aa6b062
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
488 additions
and
128 deletions
+488
-128
CurveChartBO.java
...-service/src/main/java/net/wanji/opt/bo/CurveChartBO.java
+48
-0
MetricsDetailBO.java
...rvice/src/main/java/net/wanji/opt/bo/MetricsDetailBO.java
+1
-1
SchemeEvaluateController.java
...va/net/wanji/opt/controller/SchemeEvaluateController.java
+14
-0
SchemeEvaluateService.java
...ain/java/net/wanji/opt/service/SchemeEvaluateService.java
+3
-0
RunningEvaluateServiceImpl.java
...et/wanji/opt/service/impl/RunningEvaluateServiceImpl.java
+2
-2
SchemeEvaluateServiceImpl.java
...net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
+196
-55
SchemeEvaluateCurveChartVO.java
...ain/java/net/wanji/opt/vo/SchemeEvaluateCurveChartVO.java
+27
-0
SchemeEvaluateSchemeDetailedProblemVO.java
...t/wanji/opt/vo/SchemeEvaluateSchemeDetailedProblemVO.java
+3
-0
SchemeEvaluateStrategyMetricMenuVO.java
.../net/wanji/opt/vo/SchemeEvaluateStrategyMetricMenuVO.java
+3
-0
StrategyAndMetricsEnum.java
...n/java/net/wanji/common/enums/StrategyAndMetricsEnum.java
+23
-13
CrossDirDataHistMapper.java
.../net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
+4
-0
CrossTurnDataHistMapper.java
...net/wanji/databus/dao/mapper/CrossTurnDataHistMapper.java
+3
-0
CrossDataHistPOExt.java
...rc/main/java/net/wanji/databus/po/CrossDataHistPOExt.java
+14
-0
CrossDirDataHistPOExt.java
...main/java/net/wanji/databus/po/CrossDirDataHistPOExt.java
+15
-0
CrossDirDataRealtimePO.java
...ain/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
+27
-27
CrossTurnDataHistPOExt.java
...ain/java/net/wanji/databus/po/CrossTurnDataHistPOExt.java
+14
-0
CrossTurnDataRealtimePO.java
...in/java/net/wanji/databus/po/CrossTurnDataRealtimePO.java
+30
-30
CrossDirDataHistMapper.xml
...abus/src/main/resources/mapper/CrossDirDataHistMapper.xml
+30
-0
CrossTurnDataHistMapper.xml
...bus/src/main/resources/mapper/CrossTurnDataHistMapper.xml
+31
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/bo/CurveChartBO.java
0 → 100644
View file @
f369a95c
package
net
.
wanji
.
opt
.
bo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2023/6/9 13:52
*/
@Data
@ApiModel
(
value
=
"CurveChartBO"
,
description
=
"方案详情-曲线图"
)
public
class
CurveChartBO
{
@ApiModelProperty
(
value
=
"路口ID"
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"时间粒度(分钟)"
,
required
=
true
)
private
Integer
minutes
;
@ApiModelProperty
(
value
=
"年月日,格式 2023/7/9"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy/M/d"
,
timezone
=
"GMT+8"
)
private
Date
problemDate
;
@ApiModelProperty
(
value
=
"开始时间 HH:mm"
)
private
String
startTime
;
@ApiModelProperty
(
value
=
"结束时间 HH:mm"
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"指标编号 1不停车通过率,2一/二/三次及以上停车通过率..."
)
private
String
MetricCode
;
private
List
<
DirTurn
>
dirTurnList
;
@NoArgsConstructor
@Data
public
static
class
DirTurn
{
@ApiModelProperty
(
value
=
"进口方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
)
private
String
dir
;
@ApiModelProperty
(
value
=
"转向:u掉头;l左转;s直行;r右转"
)
private
String
turn
;
}
}
signal-optimize-service/src/main/java/net/wanji/opt/bo/MetricsDetailBO.java
View file @
f369a95c
...
...
@@ -25,6 +25,6 @@ public class MetricsDetailBO {
@ApiModelProperty
(
value
=
"日期 yyyy-MM-dd"
,
required
=
true
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
date
;
@ApiModelProperty
(
value
=
"
对比时间间隔
(分钟)"
,
required
=
true
)
@ApiModelProperty
(
value
=
"
时间粒度
(分钟)"
,
required
=
true
)
private
Integer
minutes
;
}
signal-optimize-service/src/main/java/net/wanji/opt/controller/SchemeEvaluateController.java
View file @
f369a95c
...
...
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiResponses;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.opt.bo.CrossSchemeListBO
;
import
net.wanji.opt.bo.CurveChartBO
;
import
net.wanji.opt.bo.ProblemSchemeBO
;
import
net.wanji.opt.bo.SchemeDetailOverallBO
;
import
net.wanji.opt.service.impl.SchemeEvaluateServiceImpl
;
...
...
@@ -97,4 +98,17 @@ public class SchemeEvaluateController {
return
JsonViewObject
.
newInstance
().
success
(
res
);
}
@ApiOperation
(
value
=
"方案详情-曲线图"
,
notes
=
"方案详情-曲线图"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/curveChart"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SchemeEvaluateCurveChartVO
.
class
),
})
public
JsonViewObject
curveChart
(
@RequestBody
CurveChartBO
curveChartBO
)
throws
ParseException
,
NoSuchFieldException
,
IllegalAccessException
{
List
<
SchemeEvaluateCurveChartVO
>
res
=
schemeEvaluateService
.
curveChart
(
curveChartBO
);
return
JsonViewObject
.
newInstance
().
success
(
res
);
}
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/service/SchemeEvaluateService.java
View file @
f369a95c
...
...
@@ -2,6 +2,7 @@ package net.wanji.opt.service;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.opt.bo.CrossSchemeListBO
;
import
net.wanji.opt.bo.CurveChartBO
;
import
net.wanji.opt.bo.ProblemSchemeBO
;
import
net.wanji.opt.bo.SchemeDetailOverallBO
;
import
net.wanji.opt.vo.*
;
...
...
@@ -19,4 +20,6 @@ public interface SchemeEvaluateService {
SchemeEvaluateSchemeDetailOverallVO
schemeDetailOverall
(
SchemeDetailOverallBO
schemeDetailOverallBO
)
throws
ParseException
;
SchemeEvaluateSchemeDetailedProblemVO
detailedProblem
(
SchemeDetailOverallBO
schemeDetailOverallBO
)
throws
ParseException
;
List
<
SchemeEvaluateCurveChartVO
>
curveChart
(
CurveChartBO
curveChartBO
)
throws
ParseException
,
NoSuchFieldException
,
IllegalAccessException
;
}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/RunningEvaluateServiceImpl.java
View file @
f369a95c
...
...
@@ -304,8 +304,8 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
// 按时间段分组
Map
<
String
,
List
<
MetricHistDTO
>>
groupedByTime
=
metricHistDTOList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
metricHistDTO
->
{
long
timestampInSeconds
=
metricHistDTO
.
getBatchTime
()
*
1000L
;
Date
date
=
new
Date
(
timestampInSeconds
);
long
timestampIn
Mill
Seconds
=
metricHistDTO
.
getBatchTime
()
*
1000L
;
Date
date
=
new
Date
(
timestampIn
Mill
Seconds
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"HH:mm"
);
int
minuteOfDay
=
date
.
getMinutes
()
+
date
.
getHours
()
*
60
;
int
roundedMinute
=
(
minuteOfDay
/
minutes
)
*
minutes
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
View file @
f369a95c
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/main/java/net/wanji/opt/vo/SchemeEvaluateCurveChartVO.java
0 → 100644
View file @
f369a95c
package
net
.
wanji
.
opt
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author Kent HAN
* @date 2023/2/9 8:38
*/
@Data
@NoArgsConstructor
@ApiModel
(
value
=
"SchemeEvaluateCurveChartVO"
,
description
=
"方案详情-曲线图"
)
public
class
SchemeEvaluateCurveChartVO
{
@ApiModelProperty
(
value
=
"进口方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
)
private
String
dir
;
@ApiModelProperty
(
value
=
"转向:u掉头;l左转;s直行;r右转"
)
private
String
turn
;
@ApiModelProperty
(
value
=
"时间"
)
private
String
metricTime
;
@ApiModelProperty
(
value
=
"指标数值"
)
private
Integer
metricValue
;
}
signal-optimize-service/src/main/java/net/wanji/opt/vo/SchemeEvaluateSchemeDetailedProblemVO.java
View file @
f369a95c
...
...
@@ -27,6 +27,9 @@ public class SchemeEvaluateSchemeDetailedProblemVO {
@NoArgsConstructor
@Data
public
static
class
TableContent
{
@ApiModelProperty
(
value
=
"位置代码 1,2,3...表示进口方向;l,r,s,u表示转向"
)
private
String
positionCode
;
@ApiModelProperty
(
value
=
"位置"
)
private
String
position
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/SchemeEvaluateStrategyMetricMenuVO.java
View file @
f369a95c
...
...
@@ -33,5 +33,8 @@ public class SchemeEvaluateStrategyMetricMenuVO {
@ApiModelProperty
(
value
=
"指标名称"
)
private
String
metricName
;
@ApiModelProperty
(
value
=
"在方案详情页是否展示,0否 1是"
)
private
Integer
isShownInDetail
=
1
;
}
}
wj-common/src/main/java/net/wanji/common/enums/StrategyAndMetricsEnum.java
View file @
f369a95c
...
...
@@ -32,30 +32,40 @@ public class StrategyAndMetricsEnum {
@Getter
public
enum
Metrics
{
NO_STOP_RATE
(
"1"
,
"不停车通过率"
,
"%"
),
STOP_RATE
(
"2"
,
"一/二/三次及以上停车通过率"
,
"%"
),
AVERAGE_DELAY
(
"3"
,
"平均延误"
,
"s"
),
MAX_QUEUE_LENGTH
(
"4"
,
"最大排队长度"
,
"m"
),
STOP_TIMES
(
"5"
,
"停车次数"
,
"次"
),
AVERAGE_SPEED
(
"6"
,
"平均速度"
,
"km/h"
),
GREEN_LIGHT_EFFICIENCY
(
"7"
,
"绿灯有效利用率"
,
"%"
),
SATURATION
(
"8"
,
"饱和度"
,
""
),
LOAD_BALANCE
(
"9"
,
"负载均衡度"
,
""
),
EFFUSION_RATE
(
"10"
,
"溢流率"
,
"%"
),
CLEAR_RATE
(
"11"
,
"绿灯间隔清空率"
,
"%"
),
EMERGENCY_COUNT
(
"12"
,
"三急一速数量"
,
""
);
NO_STOP_RATE
(
"1"
,
"不停车通过率"
,
"%"
,
"noStopRate"
),
STOP_RATE
(
"2"
,
"一/二/三次及以上停车通过率"
,
"%"
,
"oneStopRate"
),
AVERAGE_DELAY
(
"3"
,
"平均延误"
,
"s"
,
"delayTime"
),
MAX_QUEUE_LENGTH
(
"4"
,
"最大排队长度"
,
"m"
,
"queueLength"
),
STOP_TIMES
(
"5"
,
"停车次数"
,
"次"
,
"stopTimes"
),
AVERAGE_SPEED
(
"6"
,
"平均速度"
,
"km/h"
,
"speed"
),
GREEN_LIGHT_EFFICIENCY
(
"7"
,
"绿灯有效利用率"
,
"%"
,
"greenLightEfficiency"
),
SATURATION
(
"8"
,
"饱和度"
,
""
,
"sturation"
),
LOAD_BALANCE
(
"9"
,
"负载均衡度"
,
""
,
"loadBalance"
),
EFFUSION_RATE
(
"10"
,
"溢流率"
,
"%"
,
"effusionRate"
),
CLEAR_RATE
(
"11"
,
"绿灯间隔清空率"
,
"%"
,
"clearRate"
),
EMERGENCY_COUNT
(
"12"
,
"三急一速数量"
,
""
,
"emergencyCount"
);
private
final
String
code
;
private
final
String
description
;
private
final
String
unit
;
private
final
String
field
;
// 实体类中的字段名
Metrics
(
String
code
,
String
description
,
String
unit
)
{
Metrics
(
String
code
,
String
description
,
String
unit
,
String
field
)
{
this
.
code
=
code
;
this
.
description
=
description
;
this
.
unit
=
unit
;
this
.
field
=
field
;
}
public
static
String
getFieldByCode
(
String
code
)
{
for
(
Metrics
value
:
Metrics
.
values
())
{
if
(
value
.
code
.
equals
(
code
))
{
return
value
.
field
;
}
}
return
null
;
}
}
public
static
final
Map
<
Strategy
,
List
<
Metrics
>>
STRATEGY_METRICS_MAP
;
...
...
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
View file @
f369a95c
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
net.wanji.databus.bo.CrossDirDataHistAvgBO
;
import
net.wanji.databus.dto.MetricHistDTO
;
import
net.wanji.databus.po.CrossDirDataHistPO
;
import
net.wanji.databus.po.CrossDirDataHistPOExt
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -44,4 +45,7 @@ public interface CrossDirDataHistMapper extends BaseMapper<CrossDirDataHistPO> {
Double
selectMaxSaturation
(
String
crossId
,
Integer
dirType
,
Integer
inOutType
,
int
startStamp
,
int
endStamp
);
Double
selectMaxGreenLightEfficiency
(
String
crossId
,
Integer
dirCode
,
Integer
code
,
int
startTimeStamp
,
int
endTimeStamp
);
List
<
CrossDirDataHistPOExt
>
selectByMetrics
(
String
crossId
,
int
dirInt
,
int
startTimeStamp
,
int
endTimeStamp
,
List
<
String
>
laneIds
);
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossTurnDataHistMapper.java
View file @
f369a95c
...
...
@@ -3,6 +3,7 @@ package net.wanji.databus.dao.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
net.wanji.databus.dto.MetricHistDTO
;
import
net.wanji.databus.po.CrossTurnDataHistPO
;
import
net.wanji.databus.po.CrossTurnDataHistPOExt
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -23,4 +24,6 @@ public interface CrossTurnDataHistMapper extends BaseMapper<CrossTurnDataHistPO>
List
<
CrossTurnDataHistPO
>
selectByCrossId
(
String
crossId
,
long
endTimeStamp
,
long
startTimeStamp
);
List
<
MetricHistDTO
>
selectMetricHistDTO
(
String
crossId
,
int
startStamp
,
int
endStamp
);
List
<
CrossTurnDataHistPOExt
>
selectByMetrics
(
String
crossId
,
int
dirInt
,
String
turnType
,
int
startTimeStamp
,
int
endTimeStamp
,
List
<
String
>
laneIds
);
}
wj-databus/src/main/java/net/wanji/databus/po/CrossDataHistPOExt.java
0 → 100644
View file @
f369a95c
package
net
.
wanji
.
databus
.
po
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author duanruiming
* @date 2023/03/12 20:49
*/
@Data
public
class
CrossDataHistPOExt
extends
CrossDataRealtimePO
{
@ApiModelProperty
(
value
=
"三急一速数量"
,
notes
=
""
)
private
Integer
emergencyCount
;
}
wj-databus/src/main/java/net/wanji/databus/po/CrossDirDataHistPOExt.java
0 → 100644
View file @
f369a95c
package
net
.
wanji
.
databus
.
po
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author duanruiming
* @date 2023/03/12 20:51
*/
@Data
public
class
CrossDirDataHistPOExt
extends
CrossDirDataRealtimePO
{
@ApiModelProperty
(
value
=
"三急一速数量"
,
notes
=
""
)
public
Integer
emergencyCount
;
}
wj-databus/src/main/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
View file @
f369a95c
...
...
@@ -16,60 +16,60 @@ import java.util.Date;
@ApiModel
(
value
=
"CrossDirDataRealtimePO"
,
description
=
"路口转向实时数据"
)
public
class
CrossDirDataRealtimePO
{
@ApiModelProperty
(
name
=
"路口方向ID(路口ID_方向_进出口_主辅路序号)"
,
notes
=
""
)
p
rivate
String
id
;
p
ublic
String
id
;
@ApiModelProperty
(
name
=
"路口方向类型:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
,
notes
=
""
)
p
rivate
Integer
dirType
;
p
ublic
Integer
dirType
;
@ApiModelProperty
(
name
=
"进出口类型:1进口;2出口"
,
notes
=
""
)
p
rivate
Integer
inOutType
;
p
ublic
Integer
inOutType
;
@ApiModelProperty
(
name
=
"路口编号"
,
notes
=
""
)
p
rivate
String
crossId
;
p
ublic
String
crossId
;
@ApiModelProperty
(
name
=
"路段长度"
,
notes
=
""
)
p
rivate
Double
length
;
p
ublic
Double
length
;
@ApiModelProperty
(
name
=
"交通状态:1畅通;2缓行;3拥堵;4严重拥堵;5未知"
,
notes
=
""
)
p
rivate
Integer
status
;
p
ublic
Integer
status
;
@ApiModelProperty
(
name
=
"交通指数"
,
notes
=
""
)
p
rivate
Double
trafficIndex
;
p
ublic
Double
trafficIndex
;
@ApiModelProperty
(
name
=
"开始时间"
,
notes
=
""
)
p
rivate
Date
startTime
;
p
ublic
Date
startTime
;
@ApiModelProperty
(
name
=
"通行能力"
,
notes
=
""
)
p
rivate
Integer
capacity
;
p
ublic
Integer
capacity
;
@ApiModelProperty
(
name
=
"持续时间"
,
notes
=
""
)
p
rivate
Integer
duration
;
p
ublic
Integer
duration
;
@ApiModelProperty
(
name
=
"交通流量(辆)"
,
notes
=
""
)
p
rivate
Integer
flow
;
p
ublic
Integer
flow
;
@ApiModelProperty
(
name
=
"平均速度(km/h)"
,
notes
=
""
)
p
rivate
Double
speed
;
p
ublic
Double
speed
;
@ApiModelProperty
(
name
=
"排队长(米)"
,
notes
=
""
)
p
rivate
Double
queueLength
;
p
ublic
Double
queueLength
;
@ApiModelProperty
(
name
=
"停车次数"
,
notes
=
""
)
p
rivate
Double
stopTimes
;
p
ublic
Double
stopTimes
;
@ApiModelProperty
(
name
=
"延误时间"
,
notes
=
""
)
p
rivate
Integer
delayTime
;
p
ublic
Integer
delayTime
;
@ApiModelProperty
(
name
=
"饱和度"
,
notes
=
""
)
p
rivate
Double
sturation
;
p
ublic
Double
sturation
;
@ApiModelProperty
(
name
=
"不停车率"
,
notes
=
""
)
p
rivate
Double
noStopRate
;
p
ublic
Double
noStopRate
;
@ApiModelProperty
(
name
=
"一次停车率"
,
notes
=
""
)
p
rivate
Double
oneStopRate
;
p
ublic
Double
oneStopRate
;
@ApiModelProperty
(
name
=
"二次停车率"
,
notes
=
""
)
p
rivate
Double
twoStopRate
;
p
ublic
Double
twoStopRate
;
@ApiModelProperty
(
name
=
"三次停车率"
,
notes
=
""
)
p
rivate
Double
threeStopRate
;
p
ublic
Double
threeStopRate
;
@ApiModelProperty
(
name
=
"采集时间(10位时间戳)"
,
notes
=
""
)
p
rivate
Integer
batchTime
;
p
ublic
Integer
batchTime
;
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
p
rivate
Date
gmtCreate
;
p
ublic
Date
gmtCreate
;
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
p
rivate
Date
gmtModified
;
p
ublic
Date
gmtModified
;
@ApiModelProperty
(
name
=
"溢流率:交叉口间路段车辆排队长度超出可容纳空间的时长与观测总时长的百分比"
,
notes
=
""
)
p
rivate
Double
effusionRate
;
p
ublic
Double
effusionRate
;
@ApiModelProperty
(
value
=
"绿灯间隔清空率"
,
notes
=
""
)
p
rivate
Double
clearRate
;
p
ublic
Double
clearRate
;
@ApiModelProperty
(
value
=
"负载均衡度"
,
notes
=
""
)
p
rivate
Double
loadBalance
;
p
ublic
Double
loadBalance
;
@ApiModelProperty
(
value
=
"绿灯有效利用率"
,
notes
=
""
)
p
rivate
Double
greenLightEfficiency
;
p
ublic
Double
greenLightEfficiency
;
}
wj-databus/src/main/java/net/wanji/databus/po/CrossTurnDataHistPOExt.java
0 → 100644
View file @
f369a95c
package
net
.
wanji
.
databus
.
po
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author duanruiming
* @date 2023/03/12 20:54
*/
@Data
public
class
CrossTurnDataHistPOExt
extends
CrossTurnDataRealtimePO
{
@ApiModelProperty
(
value
=
"三急一速数量"
,
notes
=
""
)
public
Integer
emergencyCount
;
}
wj-databus/src/main/java/net/wanji/databus/po/CrossTurnDataRealtimePO.java
View file @
f369a95c
...
...
@@ -18,83 +18,83 @@ import java.util.Date;
public
class
CrossTurnDataRealtimePO
{
/** 转向ID(路口ID_驶入方向_转向类型) */
@ApiModelProperty
(
name
=
"转向ID(路口ID_驶入方向_转向类型)"
,
notes
=
""
)
p
rivate
String
id
;
p
ublic
String
id
;
/** 转向类型:u掉头;l左转;s直行;r右转; */
@ApiModelProperty
(
name
=
"转向类型:u掉头;l左转;s直行;r右转;"
,
notes
=
""
)
p
rivate
String
turnType
;
p
ublic
String
turnType
;
/** 驶入方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北 */
@ApiModelProperty
(
name
=
"驶入方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
,
notes
=
""
)
p
rivate
Integer
inDir
;
p
ublic
Integer
inDir
;
/** 驶出方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北 */
@ApiModelProperty
(
name
=
"驶出方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
,
notes
=
""
)
p
rivate
Integer
outDir
;
p
ublic
Integer
outDir
;
/** 路口ID */
@ApiModelProperty
(
name
=
"路口ID"
,
notes
=
""
)
p
rivate
String
crossId
;
p
ublic
String
crossId
;
/** 交通流量(辆) */
@ApiModelProperty
(
name
=
"交通流量(辆)"
,
notes
=
""
)
p
rivate
Integer
flow
;
p
ublic
Integer
flow
;
@ApiModelProperty
(
name
=
"交通状态:1畅通;2缓行;3拥堵;4严重拥堵;5未知"
,
notes
=
""
)
p
rivate
Integer
status
;
p
ublic
Integer
status
;
@ApiModelProperty
(
name
=
"交通指数"
,
notes
=
""
)
p
rivate
Double
trafficIndex
;
p
ublic
Double
trafficIndex
;
/** 平均速度(km/h) */
@ApiModelProperty
(
name
=
"平均速度(km/h)"
,
notes
=
""
)
p
rivate
Double
speed
;
p
ublic
Double
speed
;
/** 驶入速度(km/h) */
@ApiModelProperty
(
name
=
"驶入速度(km/h)"
,
notes
=
""
)
p
rivate
Double
inSpeed
;
p
ublic
Double
inSpeed
;
/** 驶出速度(km/h) */
@ApiModelProperty
(
name
=
"驶出速度(km/h)"
,
notes
=
""
)
p
rivate
Double
outSpeed
;
p
ublic
Double
outSpeed
;
/** 排队长度(米) */
@ApiModelProperty
(
name
=
"排队长度(米)"
,
notes
=
""
)
p
rivate
Double
queueLength
;
p
ublic
Double
queueLength
;
/** 停车次数(次) */
@ApiModelProperty
(
name
=
"停车次数(次)"
,
notes
=
""
)
p
rivate
Double
stopTimes
;
p
ublic
Double
stopTimes
;
/** 延误时间(秒) */
@ApiModelProperty
(
name
=
"延误时间(秒)"
,
notes
=
""
)
p
rivate
Integer
delayTime
;
p
ublic
Integer
delayTime
;
/** 饱和度 */
@ApiModelProperty
(
name
=
"饱和度"
,
notes
=
""
)
p
rivate
Double
sturation
;
p
ublic
Double
sturation
;
/** 车头间距(米) */
@ApiModelProperty
(
name
=
"车头间距(米)"
,
notes
=
""
)
p
rivate
Double
vehheadDist
;
p
ublic
Double
vehheadDist
;
/** 车头时距(秒) */
@ApiModelProperty
(
name
=
"车头时距(秒)"
,
notes
=
""
)
p
rivate
Double
vehheadTime
;
p
ublic
Double
vehheadTime
;
/** 可信度:0~1 */
@ApiModelProperty
(
name
=
"可信度:0~1"
,
notes
=
""
)
p
rivate
Double
quality
;
p
ublic
Double
quality
;
@ApiModelProperty
(
name
=
"不停车率"
,
notes
=
""
)
p
rivate
Double
noStopRate
;
p
ublic
Double
noStopRate
;
@ApiModelProperty
(
name
=
"一次停车率"
,
notes
=
""
)
p
rivate
Double
oneStopRate
;
p
ublic
Double
oneStopRate
;
@ApiModelProperty
(
name
=
"二次停车率"
,
notes
=
""
)
p
rivate
Double
twoStopRate
;
p
ublic
Double
twoStopRate
;
@ApiModelProperty
(
name
=
"三次停车率"
,
notes
=
""
)
p
rivate
Double
threeStopRate
;
p
ublic
Double
threeStopRate
;
@ApiModelProperty
(
name
=
"开始时间"
,
notes
=
""
)
p
rivate
Date
startTime
;
p
ublic
Date
startTime
;
/** 采集时间(10位时间戳) */
@ApiModelProperty
(
name
=
"采集时间(10位时间戳)"
,
notes
=
""
)
p
rivate
Integer
batchTime
;
p
ublic
Integer
batchTime
;
/** 创建时间 */
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
p
rivate
Date
gmtCreate
;
p
ublic
Date
gmtCreate
;
/** 修改时间 */
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
p
rivate
Date
gmtModified
;
p
ublic
Date
gmtModified
;
@ApiModelProperty
(
value
=
"绿灯间隔清空率"
,
notes
=
""
)
p
rivate
Double
clearRate
;
p
ublic
Double
clearRate
;
@ApiModelProperty
(
value
=
"负载均衡度"
,
notes
=
""
)
p
rivate
Double
loadBalance
;
p
ublic
Double
loadBalance
;
@ApiModelProperty
(
value
=
"绿灯有效利用率"
,
notes
=
""
)
p
rivate
Double
greenLightEfficiency
;
p
ublic
Double
greenLightEfficiency
;
@ApiModelProperty
(
name
=
"溢流率:交叉口间路段车辆排队长度超出可容纳空间的时长与观测总时长的百分比"
,
notes
=
""
)
p
rivate
Double
effusionRate
;
p
ublic
Double
effusionRate
;
}
wj-databus/src/main/resources/mapper/CrossDirDataHistMapper.xml
View file @
f369a95c
...
...
@@ -161,4 +161,34 @@
and batch_time
<![CDATA[ <= ]]>
#{endStamp}
</select>
<select
id=
"selectByMetrics"
resultType=
"net.wanji.databus.po.CrossDirDataHistPOExt"
>
SELECT
<include
refid=
"Base_Column_List"
/>
,
<choose>
<when
test=
"laneIds != null and laneIds.size() > 0"
>
(
SELECT COUNT(*)
FROM holo_roadnet_jinan.t_event_info
WHERE type IN ('33', '34', '35', '6')
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ >= ]]>
#{startTimeStamp}
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ <= ]]>
#{endTimeStamp}
AND cross_id = #{crossId}
AND lane_id IN
<foreach
collection=
"laneIds"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
)
</when>
<otherwise>
0
</otherwise>
</choose>
AS emergencyCount
FROM t_cross_dir_data_hist
WHERE cross_id = #{crossId}
AND in_out_type = 1
AND dir_type != #{dirInt}
AND batch_time
<![CDATA[ <= ]]>
#{endTimeStamp}
AND batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
</select>
</mapper>
\ No newline at end of file
wj-databus/src/main/resources/mapper/CrossTurnDataHistMapper.xml
View file @
f369a95c
...
...
@@ -87,4 +87,35 @@
order by batch_time
</select>
<select
id=
"selectByMetrics"
resultType=
"net.wanji.databus.po.CrossTurnDataHistPOExt"
>
SELECT
<include
refid=
"Base_Column_List"
/>
,
<choose>
<when
test=
"laneIds != null and laneIds.size() > 0"
>
(
SELECT COUNT(*)
FROM holo_roadnet_jinan.t_event_info
WHERE type IN ('33', '34', '35', '6')
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ >= ]]>
#{startTimeStamp}
AND UNIX_TIMESTAMP(start_time)
<![CDATA[ <= ]]>
#{endTimeStamp}
AND cross_id = #{crossId}
AND lane_id IN
<foreach
collection=
"laneIds"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
)
</when>
<otherwise>
0
</otherwise>
</choose>
AS emergencyCount
FROM t_cross_turn_data_hist
WHERE cross_id = #{crossId}
AND turn_type = #{turnType}
AND in_dir != #{dirInt}
AND batch_time
<![CDATA[ <= ]]>
#{endTimeStamp}
AND batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
</select>
</mapper>
\ No newline at end of file
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