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
53a9d564
Commit
53a9d564
authored
Oct 09, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 绿波评价-干线方案评价、干线路口评价
parent
238e1068
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1107 additions
and
95 deletions
+1107
-95
MainlineCrossEvaluateBO.java
...c/main/java/net/wanji/opt/bo/MainlineCrossEvaluateBO.java
+40
-0
MainlineSchemeEvaluateBO.java
.../main/java/net/wanji/opt/bo/MainlineSchemeEvaluateBO.java
+33
-0
MainlineEvaluateController.java
.../net/wanji/opt/controller/MainlineEvaluateController.java
+26
-6
GreenwaveInfoMapper.java
...a/net/wanji/opt/dao/mapper/trend/GreenwaveInfoMapper.java
+2
-0
MainlineEvaluateService.java
...n/java/net/wanji/opt/service/MainlineEvaluateService.java
+6
-6
MainlineEvaluateServiceImpl.java
...t/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
+734
-59
SchemeEvaluateServiceImpl.java
...net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
+2
-22
MainlineCrossEvaluateVO.java
...c/main/java/net/wanji/opt/vo/MainlineCrossEvaluateVO.java
+43
-0
MainlineSchemeAnalysisVO.java
.../main/java/net/wanji/opt/vo/MainlineSchemeAnalysisVO.java
+13
-1
MainlineSchemeEvaluateVO.java
.../main/java/net/wanji/opt/vo/MainlineSchemeEvaluateVO.java
+43
-0
GreenwaveInfoMapper.xml
...e/src/main/resources/mapper/trend/GreenwaveInfoMapper.xml
+6
-0
StrategyAndMetricsEnum.java
...n/java/net/wanji/common/enums/StrategyAndMetricsEnum.java
+9
-0
CrossUtil.java
.../src/main/java/net/wanji/common/utils/tool/CrossUtil.java
+20
-0
TimeArrayUtil.java
.../main/java/net/wanji/common/utils/tool/TimeArrayUtil.java
+43
-0
CrossDirDataHistMapper.java
.../net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
+22
-0
GreenwaveHistMapper.java
...ava/net/wanji/databus/dao/mapper/GreenwaveHistMapper.java
+2
-0
CrossDirDataRealtimePO.java
...ain/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
+1
-1
CrossDirDataHistMapper.xml
...abus/src/main/resources/mapper/CrossDirDataHistMapper.xml
+54
-0
GreenwaveHistMapper.xml
wj-databus/src/main/resources/mapper/GreenwaveHistMapper.xml
+8
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/bo/MainlineCrossEvaluateBO.java
0 → 100644
View file @
53a9d564
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
java.util.Date
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2023/6/9 13:52
*/
@Data
@ApiModel
(
value
=
"MainlineCrossEvaluateBO"
,
description
=
"干线路口评价"
)
public
class
MainlineCrossEvaluateBO
{
@ApiModelProperty
(
value
=
"方案名称"
)
private
String
greenwaveName
;
@ApiModelProperty
(
value
=
"指标名称"
)
private
String
metricName
;
@ApiModelProperty
(
value
=
"路口ID列表"
)
private
List
<
String
>
crossIdList
;
@ApiModelProperty
(
value
=
"分析时段开始时间 格式 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
startTime
;
@ApiModelProperty
(
value
=
"分析时段结束时间 格式 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
endTime
;
@ApiModelProperty
(
value
=
"干线方案时段开始时间 格式 HH:mm"
)
private
String
startHourMinute
;
@ApiModelProperty
(
value
=
"干线方案时段结束时间 格式 HH:mm"
)
private
String
endHourMinute
;
}
signal-optimize-service/src/main/java/net/wanji/opt/bo/MainlineSchemeEvaluateBO.java
0 → 100644
View file @
53a9d564
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
java.util.Date
;
/**
* @author Kent HAN
* @date 2023/6/9 13:52
*/
@Data
@ApiModel
(
value
=
"MainlineSchemeEvaluateBO"
,
description
=
"干线方案评价"
)
public
class
MainlineSchemeEvaluateBO
{
@ApiModelProperty
(
value
=
"绿波ID"
)
private
Integer
greenwaveId
;
@ApiModelProperty
(
value
=
"方向名称"
)
private
String
dirName
;
@ApiModelProperty
(
value
=
"指标名称"
)
private
String
metricName
;
@ApiModelProperty
(
value
=
"分析时段开始时间 格式 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
startTime
;
@ApiModelProperty
(
value
=
"分析时段结束时间 格式 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
endTime
;
}
signal-optimize-service/src/main/java/net/wanji/opt/controller/MainlineEvaluateController.java
View file @
53a9d564
...
...
@@ -7,13 +7,9 @@ import io.swagger.annotations.ApiResponses;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.opt.bo.BottomCurveBO
;
import
net.wanji.opt.bo.BottomMenuBO
;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
import
net.wanji.opt.bo.*
;
import
net.wanji.opt.service.impl.MainlineEvaluateServiceImpl
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineListVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
net.wanji.opt.vo.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.ws.rs.core.MediaType
;
...
...
@@ -74,4 +70,28 @@ public class MainlineEvaluateController {
MainlineSchemeAnalysisVO
res
=
mainlineEvaluateService
.
mainlineSchemeAnalysis
(
bo
);
return
JsonViewObject
.
newInstance
().
success
(
res
);
}
@ApiOperation
(
value
=
"干线方案评价"
,
notes
=
"干线方案评价"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/mainlineSchemeEvaluate"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
MainlineSchemeEvaluateVO
.
class
),
})
public
JsonViewObject
mainlineSchemeEvaluate
(
@RequestBody
MainlineSchemeEvaluateBO
bo
)
{
MainlineSchemeEvaluateVO
res
=
mainlineEvaluateService
.
mainlineSchemeEvaluate
(
bo
);
return
JsonViewObject
.
newInstance
().
success
(
res
);
}
@ApiOperation
(
value
=
"干线路口评价"
,
notes
=
"干线路口评价"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/mainlineCrossEvaluate"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
MainlineCrossEvaluateVO
.
class
),
})
public
JsonViewObject
mainlineCrossEvaluate
(
@RequestBody
MainlineCrossEvaluateBO
bo
)
{
List
<
MainlineCrossEvaluateVO
>
res
=
mainlineEvaluateService
.
mainlineCrossEvaluate
(
bo
);
return
JsonViewObject
.
newInstance
().
success
(
res
);
}
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/trend/GreenwaveInfoMapper.java
View file @
53a9d564
...
...
@@ -21,4 +21,6 @@ public interface GreenwaveInfoMapper {
GreenwaveInfoPO
selectById
(
Integer
id
);
List
<
GreenwaveInfoPO
>
selectAll
();
GreenwaveInfoPO
selectByName
(
String
greenwaveName
);
}
signal-optimize-service/src/main/java/net/wanji/opt/service/MainlineEvaluateService.java
View file @
53a9d564
package
net
.
wanji
.
opt
.
service
;
import
net.wanji.opt.bo.BottomCurveBO
;
import
net.wanji.opt.bo.BottomMenuBO
;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineListVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
net.wanji.opt.bo.*
;
import
net.wanji.opt.vo.*
;
import
java.text.ParseException
;
import
java.util.List
;
...
...
@@ -19,4 +15,8 @@ public interface MainlineEvaluateService {
List
<
MainlineListVO
>
mainlineList
();
MainlineSchemeAnalysisVO
mainlineSchemeAnalysis
(
MainlineSchemeAnalysisBO
bo
);
MainlineSchemeEvaluateVO
mainlineSchemeEvaluate
(
MainlineSchemeEvaluateBO
bo
);
List
<
MainlineCrossEvaluateVO
>
mainlineCrossEvaluate
(
MainlineCrossEvaluateBO
bo
);
}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
View file @
53a9d564
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/SchemeEvaluateServiceImpl.java
View file @
53a9d564
...
...
@@ -925,7 +925,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
stopTimesLong
+
StrategyAndMetricsEnum
.
Metrics
.
STOP_TIMES
.
getUnit
());
// 计算指标是否合格
int
level
=
calcEfficiencyLevel
(
maxDelayTime
,
maxQueueLength
);
int
level
=
CrossUtil
.
calcEfficiencyLevel
(
maxDelayTime
,
maxQueueLength
);
if
(
level
==
3
)
{
tableContent
.
setHasProblem
(
1
);
problemList
.
add
(
BaseEnum
.
SignalDirectionEnum
.
getNameByCode
(
dirCode
)
+
"进口"
...
...
@@ -1243,7 +1243,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
crossId
,
dirCode
,
CrossInOutEnum
.
IN
.
getCode
(),
startTimeStamp
,
endTimeStamp
);
Double
maxQueueLength
=
crossDirDataHistMapper
.
selectMaxQueueLength
(
crossId
,
dirCode
,
CrossInOutEnum
.
IN
.
getCode
(),
startTimeStamp
,
endTimeStamp
);
int
level
=
calcEfficiencyLevel
(
maxDelayTime
,
maxQueueLength
);
int
level
=
CrossUtil
.
calcEfficiencyLevel
(
maxDelayTime
,
maxQueueLength
);
if
(
level
==
3
)
{
strategyEvaluateList
.
add
(
BaseEnum
.
SignalDirectionEnum
.
getNameByCode
(
dirCode
)
+
"进口延误较高效率较低"
);
}
else
if
(
level
==
4
)
{
...
...
@@ -1256,26 +1256,6 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
vo
.
setStrategyEvaluateList
(
strategyEvaluateList
);
}
private
int
calcEfficiencyLevel
(
Integer
delayTime
,
Double
queueLength
)
{
int
level
=
0
;
if
(
delayTime
!=
null
)
{
if
(
delayTime
>=
40
&&
delayTime
<=
49
)
{
level
=
3
;
}
else
if
(
delayTime
>=
50
)
{
level
=
4
;
}
}
if
(
queueLength
!=
null
)
{
int
intQueueLength
=
(
int
)
Math
.
round
(
queueLength
);
if
(
intQueueLength
>=
60
&&
intQueueLength
<=
79
&&
level
<
3
)
{
level
=
3
;
}
else
if
(
intQueueLength
>=
80
)
{
level
=
4
;
}
}
return
level
;
}
private
SchemeEvaluateSchemeDetailOverallVO
.
OverallMetrics
buildNoStopRateOverallMetrics
(
int
intStopTimesAverage
)
{
SchemeEvaluateSchemeDetailOverallVO
.
OverallMetrics
overallMetrics
=
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/MainlineCrossEvaluateVO.java
0 → 100644
View file @
53a9d564
package
net
.
wanji
.
opt
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2023/2/9 8:38
*/
@Data
@NoArgsConstructor
@ApiModel
(
value
=
"MainlineCrossEvaluateVO"
,
description
=
"干线路口评价"
)
public
class
MainlineCrossEvaluateVO
{
@ApiModelProperty
(
value
=
"路口名称"
)
private
String
crossName
;
@ApiModelProperty
(
value
=
"协调方向指标(不停车通过率)"
)
private
Integer
coordValue
;
@ApiModelProperty
(
value
=
"非协调方向指标(排队长度)"
)
private
Integer
nonCoordValue
;
@ApiModelProperty
(
value
=
"方向指标列表"
)
private
List
<
DirElement
>
dirElementList
;
@ApiModelProperty
(
value
=
"评价"
)
private
List
<
String
>
crossEvaluateList
;
@NoArgsConstructor
@Data
public
static
class
DirElement
{
@ApiModelProperty
(
value
=
"方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
)
private
Integer
dir
;
@ApiModelProperty
(
value
=
"指标数值"
)
private
Integer
value
;
}
}
signal-optimize-service/src/main/java/net/wanji/opt/vo/MainlineSchemeAnalysisVO.java
View file @
53a9d564
...
...
@@ -50,6 +50,9 @@ public class MainlineSchemeAnalysisVO {
@ApiModelProperty
(
value
=
"方案名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"绿波ID"
)
private
Integer
greenwaveId
;
@ApiModelProperty
(
value
=
"方向下拉列表"
)
private
List
<
DirectionList
>
dirList
;
}
...
...
@@ -60,6 +63,15 @@ public class MainlineSchemeAnalysisVO {
private
String
name
;
@ApiModelProperty
(
value
=
"指标列表"
)
private
List
<
String
>
metricList
;
private
List
<
Metric
>
metricList
;
}
@Data
public
static
class
Metric
{
@ApiModelProperty
(
value
=
"指标名称"
)
private
String
metricName
;
@ApiModelProperty
(
value
=
"是否在干线路口评价下拉列表和底部曲线图下拉列表展示,0否 1是"
)
private
Integer
isShown
;
}
}
signal-optimize-service/src/main/java/net/wanji/opt/vo/MainlineSchemeEvaluateVO.java
0 → 100644
View file @
53a9d564
package
net
.
wanji
.
opt
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2023/2/9 8:38
*/
@Data
@NoArgsConstructor
@ApiModel
(
value
=
"MainlineSchemeEvaluateVO"
,
description
=
"干线方案评价"
)
public
class
MainlineSchemeEvaluateVO
{
@ApiModelProperty
(
value
=
"时段"
)
private
String
timeSection
;
@ApiModelProperty
(
value
=
"控制策略"
)
private
String
strategyName
;
@ApiModelProperty
(
value
=
"路口线路图"
)
private
List
<
GreenwaveDetailVO
.
GreenwaveCross
>
greenwaveCrossList
;
@ApiModelProperty
(
value
=
"曲线图"
)
private
List
<
CurveElement
>
curveElementList
;
@ApiModelProperty
(
value
=
"评价"
)
private
List
<
String
>
evaluateList
;
@NoArgsConstructor
@Data
public
static
class
CurveElement
{
@ApiModelProperty
(
value
=
"时间"
)
private
String
metricTime
;
@ApiModelProperty
(
value
=
"数值"
)
private
Integer
value
;
}
}
signal-optimize-service/src/main/resources/mapper/trend/GreenwaveInfoMapper.xml
View file @
53a9d564
...
...
@@ -42,4 +42,10 @@
from t_greenwave_info
</select>
<select
id=
"selectByName"
resultType=
"net.wanji.databus.dao.entity.GreenwaveInfoPO"
>
select
<include
refid=
"baseColumnList"
></include>
from t_greenwave_info
where name = #{greenwaveName}
</select>
</mapper>
wj-common/src/main/java/net/wanji/common/enums/StrategyAndMetricsEnum.java
View file @
53a9d564
...
...
@@ -92,6 +92,15 @@ public class StrategyAndMetricsEnum {
}
return
null
;
}
public
static
String
getEnumNameByDescription
(
String
description
)
{
for
(
Metrics
metric
:
Metrics
.
values
())
{
if
(
metric
.
description
.
equals
(
description
))
{
return
metric
.
name
();
}
}
throw
new
IllegalArgumentException
(
"No enum found with description: "
+
description
);
}
}
public
static
final
Map
<
Strategy
,
List
<
Metrics
>>
STRATEGY_METRICS_MAP
;
...
...
wj-common/src/main/java/net/wanji/common/utils/tool/CrossUtil.java
View file @
53a9d564
...
...
@@ -36,4 +36,24 @@ public class CrossUtil {
}
return
res
;
}
public
static
int
calcEfficiencyLevel
(
Integer
delayTime
,
Double
queueLength
)
{
int
level
=
0
;
if
(
delayTime
!=
null
)
{
if
(
delayTime
>=
40
&&
delayTime
<=
49
)
{
level
=
3
;
}
else
if
(
delayTime
>=
50
)
{
level
=
4
;
}
}
if
(
queueLength
!=
null
)
{
int
intQueueLength
=
(
int
)
Math
.
round
(
queueLength
);
if
(
intQueueLength
>=
60
&&
intQueueLength
<=
79
&&
level
<
3
)
{
level
=
3
;
}
else
if
(
intQueueLength
>=
80
)
{
level
=
4
;
}
}
return
level
;
}
}
wj-common/src/main/java/net/wanji/common/utils/tool/TimeArrayUtil.java
View file @
53a9d564
...
...
@@ -47,4 +47,47 @@ public class TimeArrayUtil {
}
return
timeSegments
;
}
/**
* 按分钟段返回指定区间的时间数组。如 ["00:15", "00:30" ... ]
* minutes,分钟段。如按每15分钟生成,则 minute 传15。
* @author Kent HAN
* @date 2022/11/3 16:30
*/
public
static
List
<
String
>
getCustomTimeIntervals
(
String
startHourMinuteStr
,
String
endHourMinuteStr
,
Integer
minutes
)
{
int
startMinutes
=
convertToMinutes
(
startHourMinuteStr
);
int
endMinutes
=
convertToMinutes
(
endHourMinuteStr
);
List
<
String
>
res
=
new
ArrayList
<>();
for
(
int
currentMinutes
=
startMinutes
;
currentMinutes
<
endMinutes
;
currentMinutes
+=
minutes
)
{
res
.
add
(
convertToHourMinuteStr
(
currentMinutes
));
}
return
res
;
}
private
static
int
convertToMinutes
(
String
hourMinuteStr
)
{
String
[]
parts
=
hourMinuteStr
.
split
(
":"
);
int
hours
=
Integer
.
parseInt
(
parts
[
0
]);
int
minutes
=
Integer
.
parseInt
(
parts
[
1
]);
return
hours
*
60
+
minutes
;
}
private
static
String
convertToHourMinuteStr
(
int
minutes
)
{
int
hours
=
minutes
/
60
;
minutes
%=
60
;
return
String
.
format
(
"%02d:%02d"
,
hours
,
minutes
);
}
public
static
void
main
(
String
[]
args
)
{
String
startHourMinuteStr
=
"07:00"
;
String
endHourMinuteStr
=
"9:10"
;
Integer
intervalMinutes
=
5
;
List
<
String
>
intervals
=
getCustomTimeIntervals
(
startHourMinuteStr
,
endHourMinuteStr
,
intervalMinutes
);
for
(
String
interval
:
intervals
)
{
System
.
out
.
println
(
interval
);
}
}
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
View file @
53a9d564
...
...
@@ -50,4 +50,26 @@ public interface CrossDirDataHistMapper extends BaseMapper<CrossDirDataHistPO> {
List
<
CrossDirDataHistPOExt
>
selectByMetrics
(
String
crossId
,
int
dirInt
,
int
startTimeStamp
,
int
endTimeStamp
,
List
<
String
>
laneIds
);
List
<
CrossDirDataHistPO
>
selectByCrossIdsDirsAndTimestamp
(
List
<
String
>
crossIdList
,
List
<
Integer
>
dirCodeList
,
int
startTimeStamp
,
int
endTimeStamp
);
List
<
CrossDirDataHistPO
>
selectByCrossIdDirsAndTimestamp
(
String
crossId
,
List
<
Integer
>
dirCodeList
,
int
startTimeStamp
,
int
endTimeStamp
);
List
<
CrossDirDataHistPO
>
selectByCrossDirAndTimeSection
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"dirCode"
)
Integer
dirCode
,
@Param
(
"boStartDayStr"
)
String
boStartDayStr
,
@Param
(
"boEndDayStr"
)
String
boEndDayStr
,
@Param
(
"startHourMinuteStr"
)
String
startHourMinuteStr
,
@Param
(
"endHourMinuteStr"
)
String
endHourMinuteStr
);
List
<
CrossDirDataHistPO
>
selectByCrossDirsAndTimeSection
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"dirCodeList"
)
List
<
Integer
>
dirCodeList
,
@Param
(
"boStartDayStr"
)
String
boStartDayStr
,
@Param
(
"boEndDayStr"
)
String
boEndDayStr
,
@Param
(
"startHourMinuteStr"
)
String
startHourMinuteStr
,
@Param
(
"endHourMinuteStr"
)
String
endHourMinuteStr
);
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/GreenwaveHistMapper.java
View file @
53a9d564
...
...
@@ -16,4 +16,6 @@ public interface GreenwaveHistMapper {
List
<
GreenwaveHistPOExt
>
selectRunMonitor
(
Date
nowTime
);
List
<
GreenwaveHistPO
>
selectByTimeSection
(
String
startTimeStr
,
String
endTimeStr
);
List
<
GreenwaveHistPO
>
selectByIdAndTimeSection
(
Integer
greenwaveId
,
String
startTimeStr
,
String
endTimeStr
);
}
wj-databus/src/main/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
View file @
53a9d564
...
...
@@ -39,7 +39,7 @@ public class CrossDirDataRealtimePO {
public
Integer
flow
;
@ApiModelProperty
(
name
=
"平均速度(km/h)"
,
notes
=
""
)
public
Double
speed
;
@ApiModelProperty
(
name
=
"排队长(米)"
,
notes
=
""
)
@ApiModelProperty
(
name
=
"排队长
度
(米)"
,
notes
=
""
)
public
Double
queueLength
;
@ApiModelProperty
(
name
=
"停车次数"
,
notes
=
""
)
public
Double
stopTimes
;
...
...
wj-databus/src/main/resources/mapper/CrossDirDataHistMapper.xml
View file @
53a9d564
...
...
@@ -191,4 +191,58 @@
AND batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
</select>
<select
id=
"selectByCrossIdsDirsAndTimestamp"
resultType=
"net.wanji.databus.po.CrossDirDataHistPO"
>
select
<include
refid=
"Base_Column_List"
></include>
from t_cross_dir_data_hist
where cross_id in
<foreach
collection=
"crossIdList"
item=
"crossId"
separator=
","
open=
"("
close=
")"
>
#{crossId}
</foreach>
and dir_type in
<foreach
collection=
"dirCodeList"
item=
"dirCode"
separator=
","
open=
"("
close=
")"
>
#{dirCode}
</foreach>
and in_out_type = 1
and batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
and batch_time
<![CDATA[ <= ]]>
#{endTimeStamp}
order by batch_time
</select>
<select
id=
"selectByCrossDirAndTimeSection"
resultType=
"net.wanji.databus.po.CrossDirDataHistPO"
>
SELECT
<include
refid=
"Base_Column_List"
></include>
FROM t_cross_dir_data_hist
WHERE cross_id = #{crossId}
AND dir_type = #{dirCode}
AND in_out_type = 1
AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr}
AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr}
</select>
<select
id=
"selectByCrossIdDirsAndTimestamp"
resultType=
"net.wanji.databus.po.CrossDirDataHistPO"
>
select
<include
refid=
"Base_Column_List"
></include>
from t_cross_dir_data_hist
where cross_id = #{crossId}
and dir_type in
<foreach
collection=
"dirCodeList"
item=
"dirCode"
separator=
","
open=
"("
close=
")"
>
#{dirCode}
</foreach>
and in_out_type = 1
and batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
and batch_time
<![CDATA[ <= ]]>
#{endTimeStamp}
order by batch_time
</select>
<select
id=
"selectByCrossDirsAndTimeSection"
resultType=
"net.wanji.databus.po.CrossDirDataHistPO"
>
SELECT
<include
refid=
"Base_Column_List"
></include>
FROM t_cross_dir_data_hist
WHERE cross_id = #{crossId}
AND dir_type in
<foreach
collection=
"dirCodeList"
item=
"dirCode"
separator=
","
open=
"("
close=
")"
>
#{dirCode}
</foreach>
AND in_out_type = 1
AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr}
AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr}
</select>
</mapper>
\ No newline at end of file
wj-databus/src/main/resources/mapper/GreenwaveHistMapper.xml
View file @
53a9d564
...
...
@@ -33,4 +33,12 @@
and t1.gmt_modified
<![CDATA[ >= ]]>
#{startTimeStr}
</select>
<select
id=
"selectByIdAndTimeSection"
resultType=
"net.wanji.databus.dao.entity.GreenwaveHistPO"
>
select
<include
refid=
"Base_Column_List"
/>
from t_greenwave_hist
where id = #{greenwaveId}
and gmt_modified
<![CDATA[ <= ]]>
#{endTimeStr}
and gmt_modified
<![CDATA[ >= ]]>
#{startTimeStr}
</select>
</mapper>
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