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
jinan
traffic-signal-platform
Commits
e3d7551e
Commit
e3d7551e
authored
Apr 09, 2025
by
fengyasheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
干线周报4.1干线问题总体分析,4.2干线问题分析
parent
f2b629eb
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
771 additions
and
81 deletions
+771
-81
ConsgestionStatusEnum.java
...ava/net/wanji/opt/common/enums/ConsgestionStatusEnum.java
+28
-0
WeekEnum.java
...ce/src/main/java/net/wanji/opt/common/enums/WeekEnum.java
+33
-0
GreenWaveProblemAnalysisController.java
...ntrollerv2/report/GreenWaveProblemAnalysisController.java
+19
-7
TimeIntervalMerger.java
...anji/opt/controllerv2/report/util/TimeIntervalMerger.java
+105
-0
AnalysisGreenCongestionPeriodVO.java
...ntrollerv2/report/vo/AnalysisGreenCongestionPeriodVO.java
+54
-0
GreenReportProblemDetail.java
.../opt/controllerv2/report/vo/GreenReportProblemDetail.java
+25
-0
GreenReportProblemDetailAnalysisResponse.java
...2/report/vo/GreenReportProblemDetailAnalysisResponse.java
+59
-0
GreenReportProblemOverallAnalysisResult.java
...v2/report/vo/GreenReportProblemOverallAnalysisResult.java
+23
-0
GreenReportProblemOverallData.java
...controllerv2/report/vo/GreenReportProblemOverallData.java
+18
-0
GreenWaveDirProblemData.java
...i/opt/controllerv2/report/vo/GreenWaveDirProblemData.java
+23
-0
AnalysisGreenCongestionPeriodMapper.java
...er/judgeanalysis/AnalysisGreenCongestionPeriodMapper.java
+3
-0
AnalysisGreenCongestionPeriodService.java
...2/judgeanalysis/AnalysisGreenCongestionPeriodService.java
+8
-0
AnalysisGreenCongestionPeriodServiceImpl.java
...alysis/impl/AnalysisGreenCongestionPeriodServiceImpl.java
+369
-74
AnalysisGreenCongestionPeriodMapper.xml
...per/judgeanalysis/AnalysisGreenCongestionPeriodMapper.xml
+4
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/common/enums/ConsgestionStatusEnum.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
common
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Objects
;
/**
* @author duanruiming
* @date 2024/12/11 20:33
*/
@Getter
@AllArgsConstructor
public
enum
ConsgestionStatusEnum
{
AMBLE_STATUS
(
2
,
"缓行"
),
CONSGESTION_STATUS
(
3
,
"拥堵"
);
private
Integer
code
;
private
String
desc
;
public
static
String
getDesc
(
Integer
code
)
{
for
(
ConsgestionStatusEnum
value
:
ConsgestionStatusEnum
.
values
())
{
if
(
Objects
.
equals
(
code
,
value
.
getCode
()))
{
return
value
.
getDesc
();
}
}
return
ConsgestionStatusEnum
.
AMBLE_STATUS
.
getDesc
();
}
}
signal-optimize-service/src/main/java/net/wanji/opt/common/enums/WeekEnum.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
common
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Objects
;
/**
* @author duanruiming
* @date 2024/12/11 20:33
*/
@Getter
@AllArgsConstructor
public
enum
WeekEnum
{
MON
(
1
,
"周一"
),
TUE
(
2
,
"周二"
),
WED
(
3
,
"周三"
),
THU
(
4
,
"周四"
),
FRI
(
5
,
"周五"
),
SAT
(
6
,
"周六"
),
SUN
(
7
,
"周日"
);
private
Integer
code
;
private
String
desc
;
public
static
String
getDesc
(
Integer
code
)
{
for
(
WeekEnum
value
:
WeekEnum
.
values
())
{
if
(
Objects
.
equals
(
code
,
value
.
getCode
()))
{
return
value
.
getDesc
();
}
}
return
WeekEnum
.
MON
.
getDesc
();
}
}
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/GreenWaveProblemAnalysisController.java
View file @
e3d7551e
...
...
@@ -12,10 +12,17 @@ import net.wanji.common.framework.rest.JsonViewObject;
import
net.wanji.opt.controllerv2.report.design.GreenReportOverviewAnalysisResult
;
import
net.wanji.opt.controllerv2.report.design.GreenReportProblemDetailAnalysis
;
import
net.wanji.opt.controllerv2.report.design.GreenReportProblemOverallAnalysis
;
import
net.wanji.opt.controllerv2.report.vo.GreenReportProblemDetailAnalysisResponse
;
import
net.wanji.opt.controllerv2.report.vo.GreenReportProblemOverallAnalysisResult
;
import
net.wanji.opt.servicev2.judgeanalysis.AnalysisGreenCongestionPeriodService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* <p>
* 干线概况 接口API
...
...
@@ -30,21 +37,25 @@ import org.springframework.web.bind.annotation.RestController;
@Api
(
value
=
"GreenWaveProblemAnalysisController"
,
description
=
"干线分析报告接口"
,
tags
=
"干线分析报告-周报"
)
public
class
GreenWaveProblemAnalysisController
{
@Autowired
private
AnalysisGreenCongestionPeriodService
analysisGreenCongestionPeriodService
;
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"4.1-干线问题-总体分析"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"干线ID,多个id用','分隔【为空时查询所有干线】"
,
required
=
tru
e
,
dataType
=
"String"
,
defaultValue
=
"1,2"
),
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"干线ID,多个id用','分隔【为空时查询所有干线】"
,
required
=
fals
e
,
dataType
=
"String"
,
defaultValue
=
"1,2"
),
@ApiImplicitParam
(
name
=
"year"
,
value
=
"年份"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"2025"
),
@ApiImplicitParam
(
name
=
"week"
,
value
=
"一年的第几周"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"
20
"
),
@ApiImplicitParam
(
name
=
"week"
,
value
=
"一年的第几周"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"
13
"
),
})
@GetMapping
(
value
=
"/getProblemData"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
GreenReportProblemOverallAnalysis
.
class
),
})
public
JsonViewObject
getGreenInfoList
(
Integer
year
,
Integer
week
,
String
ids
)
{
public
JsonViewObject
getGreenInfoList
(
Integer
year
,
Integer
week
,
@RequestParam
(
required
=
false
)
String
ids
)
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
try
{
GreenReportProblemOverallAnalysisResult
greenReportProblemOverallAnalysisResult
=
analysisGreenCongestionPeriodService
.
selectListByWeek
(
year
,
week
,
ids
);
jsonViewObject
.
success
(
greenReportProblemOverallAnalysisResult
);
}
catch
(
Exception
e
)
{
jsonViewObject
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
log
.
error
(
"{} getAll error"
,
this
.
getClass
().
getSimpleName
(),
e
);
...
...
@@ -55,18 +66,19 @@ public class GreenWaveProblemAnalysisController {
//GreenReportProblemDetailAnalysis
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"4.2-干线问题-问题详情"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"干线ID,多个id用','分隔【为空时查询所有干线】"
,
required
=
tru
e
,
dataType
=
"String"
,
defaultValue
=
"1,2"
),
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"干线ID,多个id用','分隔【为空时查询所有干线】"
,
required
=
fals
e
,
dataType
=
"String"
,
defaultValue
=
"1,2"
),
@ApiImplicitParam
(
name
=
"year"
,
value
=
"年份"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"2025"
),
@ApiImplicitParam
(
name
=
"week"
,
value
=
"一年的第几周"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"
20
"
),
@ApiImplicitParam
(
name
=
"week"
,
value
=
"一年的第几周"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"
13
"
),
})
@GetMapping
(
value
=
"/getProblemDetail"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
GreenReportProblemDetailAnalysis
.
class
),
})
public
JsonViewObject
getProblemDetail
(
Integer
year
,
Integer
week
,
String
ids
)
{
public
JsonViewObject
getProblemDetail
(
Integer
year
,
Integer
week
,
@RequestParam
(
required
=
false
)
String
ids
)
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
try
{
List
<
GreenReportProblemDetailAnalysisResponse
>
greenReportProblemDetailAnalysisResponseList
=
analysisGreenCongestionPeriodService
.
getProblemDetail
(
year
,
week
,
ids
);
jsonViewObject
.
success
(
greenReportProblemDetailAnalysisResponseList
);
}
catch
(
Exception
e
)
{
jsonViewObject
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
log
.
error
(
"{} getAll error"
,
this
.
getClass
().
getSimpleName
(),
e
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/util/TimeIntervalMerger.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
controllerv2
.
report
.
util
;
import
lombok.Data
;
import
java.time.Duration
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.stream.Collectors
;
public
class
TimeIntervalMerger
{
// 定义时间区间类
@Data
static
class
TimeInterval
{
private
LocalTime
start
;
private
LocalTime
end
;
public
TimeInterval
(
LocalTime
start
,
LocalTime
end
)
{
this
.
start
=
start
;
this
.
end
=
end
;
}
// 判断两个区间是否重叠
public
boolean
overlapsWith
(
TimeInterval
other
)
{
return
!
this
.
end
.
isBefore
(
other
.
start
)
&&
!
other
.
end
.
isBefore
(
this
.
start
);
}
// 合并两个区间
public
TimeInterval
mergeWith
(
TimeInterval
other
)
{
return
new
TimeInterval
(
this
.
start
.
isBefore
(
other
.
start
)
?
this
.
start
:
other
.
start
,
this
.
end
.
isAfter
(
other
.
end
)
?
this
.
end
:
other
.
end
);
}
// 计算时间段的持续时间(以秒为单位)
public
long
getDurationInSeconds
()
{
return
Duration
.
between
(
start
,
end
).
getSeconds
();
}
}
// 定义支持单个数字小时部分的 DateTimeFormatter
private
static
final
DateTimeFormatter
TIME_FORMATTER
=
DateTimeFormatter
.
ofPattern
(
"H:mm"
);
public
static
String
timeString
(
List
<
String
>
timeStrings
)
{
// 解析时间字符串为 TimeInterval 对象
List
<
TimeInterval
>
intervals
=
timeStrings
.
stream
()
.
map
(
timeStr
->
{
String
[]
parts
=
timeStr
.
split
(
"~"
);
LocalTime
start
=
LocalTime
.
parse
(
parts
[
0
].
trim
(),
TIME_FORMATTER
);
LocalTime
end
=
LocalTime
.
parse
(
parts
[
1
].
trim
(),
TIME_FORMATTER
);
return
new
TimeInterval
(
start
,
end
);
})
.
sorted
(
Comparator
.
comparing
(
TimeInterval:
:
getStart
))
// 按开始时间排序
.
collect
(
Collectors
.
toList
());
// 合并重叠的区间
List
<
TimeInterval
>
mergedIntervals
=
new
ArrayList
<>();
for
(
TimeInterval
current
:
intervals
)
{
if
(
mergedIntervals
.
isEmpty
()
||
!
current
.
overlapsWith
(
mergedIntervals
.
get
(
mergedIntervals
.
size
()
-
1
)))
{
mergedIntervals
.
add
(
current
);
// 如果不重叠,直接添加
}
else
{
// 如果重叠,合并当前区间与最后一个区间
TimeInterval
last
=
mergedIntervals
.
get
(
mergedIntervals
.
size
()
-
1
);
mergedIntervals
.
set
(
mergedIntervals
.
size
()
-
1
,
last
.
mergeWith
(
current
));
}
}
// 按时间段长度从大到小排序
mergedIntervals
.
sort
((
t1
,
t2
)
->
Long
.
compare
(
t2
.
getDurationInSeconds
(),
t1
.
getDurationInSeconds
()));
// 截取前三个时间段
List
<
TimeInterval
>
topThreeIntervals
=
mergedIntervals
.
stream
()
.
limit
(
3
)
.
sorted
(
Comparator
.
comparing
(
TimeInterval:
:
getStart
))
// 按开始时间重新排序
.
collect
(
Collectors
.
toList
());
// 拼接结果字符串
StringBuilder
result
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
topThreeIntervals
.
size
();
i
++)
{
TimeInterval
interval
=
topThreeIntervals
.
get
(
i
);
if
(
i
>
0
)
{
result
.
append
(
","
);
}
result
.
append
(
interval
.
getStart
()).
append
(
"~"
).
append
(
interval
.
getEnd
());
}
return
result
.
toString
();
}
// 测试代码
public
static
void
main
(
String
[]
args
)
{
List
<
String
>
timeStrings
=
Arrays
.
asList
(
"7:00~8:00"
,
"12:00~13:30"
,
"17:30~18:40"
,
"7:30~9:00"
,
"17:00~18:00"
);
String
result
=
timeString
(
timeStrings
);
System
.
out
.
println
(
result
);
// 输出结果
}
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/vo/AnalysisGreenCongestionPeriodVO.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
controllerv2
.
report
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
@Data
@ApiModel
(
description
=
"绿波干线高峰时段分析实体类"
)
public
class
AnalysisGreenCongestionPeriodVO
{
@ApiModelProperty
(
value
=
"干线ID"
,
example
=
"1"
)
private
Integer
greenId
;
@ApiModelProperty
(
value
=
"干线车流运行方向 (w2e/e2w/s2n/n2s)"
,
example
=
"w2e"
)
private
String
roadDirection
;
@ApiModelProperty
(
value
=
"星期几:1~7代表周一至周日"
,
example
=
"1"
)
private
Integer
weekDay
;
@ApiModelProperty
(
value
=
"拥堵开始时间"
,
example
=
"2025-04-07 08:00:00"
)
private
Date
congestStartTime
;
@ApiModelProperty
(
value
=
"拥堵截止时间"
,
example
=
"2025-04-07 10:00:00"
)
private
Date
congestEndTime
;
@ApiModelProperty
(
value
=
"平均拥堵指数"
,
example
=
"1.5"
)
private
Double
congestIndex
;
@ApiModelProperty
(
value
=
"拥堵类型:2缓行;3拥堵"
,
example
=
"2"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"行程时间,单位秒"
,
example
=
"3600"
)
private
Integer
travelTime
;
@ApiModelProperty
(
value
=
"平均速度 (km/h)"
,
example
=
"40.5"
)
private
Double
speed
;
@ApiModelProperty
(
value
=
"高峰类型:1早高峰;2晚高峰"
,
example
=
"1"
)
private
String
peakType
;
@ApiModelProperty
(
value
=
"一年中的第几周,格式yyyyw,如20251"
,
example
=
"20251"
)
private
Integer
yearWeek
;
@ApiModelProperty
(
value
=
"一周的第一天"
,
example
=
"2025-04-07 00:00:00"
)
private
Date
weekStartTime
;
@ApiModelProperty
(
value
=
"一周的最后一天"
,
example
=
"2025-04-13 23:59:59"
)
private
Date
weekEndTime
;
@ApiModelProperty
(
value
=
"数据插入时间"
,
example
=
"2025-04-07 12:30:00"
)
private
Date
insertTime
;
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/vo/GreenReportProblemDetail.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
controllerv2
.
report
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
GreenReportProblemDetail
{
@ApiModelProperty
(
value
=
"星期"
,
example
=
"周一"
)
private
String
week
;
@ApiModelProperty
(
value
=
"问题时段"
,
example
=
"7:35~8:40"
)
private
String
problemSpan
;
@ApiModelProperty
(
value
=
"状态:缓行/拥堵"
,
example
=
"拥堵"
)
private
String
status
;
@ApiModelProperty
(
value
=
"拥堵指数"
,
example
=
"4.5"
)
private
Double
congestIndex
;
@ApiModelProperty
(
value
=
"平均速度"
,
example
=
"10"
)
private
Double
avgSpeed
;
@ApiModelProperty
(
value
=
"行程时间,单位分钟"
,
example
=
"10"
)
private
Integer
travelTime
;
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/vo/GreenReportProblemDetailAnalysisResponse.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
controllerv2
.
report
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
public
class
GreenReportProblemDetailAnalysisResponse
{
@ApiModelProperty
(
value
=
"干线ID"
,
example
=
""
)
private
String
greenId
;
@ApiModelProperty
(
value
=
"干线名称"
,
example
=
"经十路(舜耕路-山大路)"
)
private
String
greenName
;
@ApiModelProperty
(
value
=
"干线工作日拥堵时段分布情况"
,
example
=
"7:00~8:00,12:00~13:30,17:30~18:40"
)
private
String
workDayCongestSpan
;
@ApiModelProperty
(
value
=
"干线工作日平均拥堵时长"
,
example
=
"1小时"
)
private
String
workDayAvgCongestTime
;
@ApiModelProperty
(
value
=
"干线工作日平均拥堵指数"
,
example
=
"3.5"
)
private
String
workDayAvgCongestIndex
;
//================================================================================================//
@ApiModelProperty
(
value
=
"干线工作日缓行时段分布情况"
,
example
=
"7:00~8:00,12:00~13:30,17:30~18:40"
)
private
String
workDaySlowRunSpan
;
@ApiModelProperty
(
value
=
"干线工作日平均缓行时长"
,
example
=
"0.5小时"
)
private
String
workDayAvgSlowRunTime
;
@ApiModelProperty
(
value
=
"干线工作日缓行平均拥堵指数"
,
example
=
"3.5"
)
private
String
workDayAvgSlowAvgCongestIndex
;
//================================================================================================//
@ApiModelProperty
(
value
=
"干线周末拥堵时段分布情况"
,
example
=
"7:00~8:00,12:00~13:30,17:30~18:40"
)
private
String
weekEndCongestSpan
;
@ApiModelProperty
(
value
=
"干线周末平均拥堵时长"
,
example
=
"1小时"
)
private
String
weekEndAvgCongestTime
;
@ApiModelProperty
(
value
=
"干线周末平均拥堵指数"
,
example
=
"3.5"
)
private
String
weekEndAvgCongestIndex
;
//================================================================================================//
@ApiModelProperty
(
value
=
"干线周末缓行时段分布情况"
,
example
=
"7:00~8:00,12:00~13:30,17:30~18:40"
)
private
String
weekEndSlowRunSpan
;
@ApiModelProperty
(
value
=
"干线周末平均缓行时长"
,
example
=
"0.5小时"
)
private
String
weekEndAvgSlowRunTime
;
@ApiModelProperty
(
value
=
"干线周末缓行平均拥堵指数"
,
example
=
"3.5"
)
private
String
weekEndAvgSlowAvgCongestIndex
;
private
List
<
GreenReportProblemDetail
>
dataList
=
new
ArrayList
<>();
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/vo/GreenReportProblemOverallAnalysisResult.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
controllerv2
.
report
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
public
class
GreenReportProblemOverallAnalysisResult
{
@ApiModelProperty
(
value
=
"区域干线总拥堵次数"
,
example
=
"56次"
)
private
String
totalCongestCount
;
@ApiModelProperty
(
value
=
"区域干线总拥堵时长"
,
example
=
"11小时"
)
private
String
totalCongestDuration
;
@ApiModelProperty
(
value
=
"拥堵严重干线"
,
example
=
"经十路(舜耕路-山大路)、经十路(洪山路-舜华路)"
)
private
String
congestHeavyGreenWave
;
private
List
<
GreenReportProblemOverallData
>
dataList
=
new
ArrayList
<>();
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/vo/GreenReportProblemOverallData.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
controllerv2
.
report
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
public
class
GreenReportProblemOverallData
{
@ApiModelProperty
(
value
=
"干线ID"
,
example
=
""
)
private
String
greenId
;
@ApiModelProperty
(
value
=
"干线名称"
,
example
=
"经十路(舜耕路-山大路)"
)
private
String
greenName
;
List
<
GreenWaveDirProblemData
>
list
=
new
ArrayList
<>();
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/vo/GreenWaveDirProblemData.java
0 → 100644
View file @
e3d7551e
package
net
.
wanji
.
opt
.
controllerv2
.
report
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
GreenWaveDirProblemData
{
@ApiModelProperty
(
value
=
"干线类型"
,
example
=
"主干路"
)
private
String
greenWaveType
;
@ApiModelProperty
(
value
=
"方向"
,
example
=
"东向西"
)
private
String
dir
;
@ApiModelProperty
(
value
=
"拥堵指数"
,
example
=
"4.5"
)
private
Double
congestIndex
;
@ApiModelProperty
(
value
=
"拥堵次数"
,
example
=
"10"
)
private
Integer
congestCount
;
@ApiModelProperty
(
value
=
"拥堵时长,单位秒"
,
example
=
"10"
)
private
Integer
congestDuration
;
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/judgeanalysis/AnalysisGreenCongestionPeriodMapper.java
View file @
e3d7551e
package
net
.
wanji
.
opt
.
dao
.
mapper
.
judgeanalysis
;
import
net.wanji.opt.controllerv2.report.vo.AnalysisGreenCongestionPeriodVO
;
import
net.wanji.opt.entity.judgeanalysis.AnalysisGreenCongestionPeriod
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -9,4 +10,6 @@ import java.util.Map;
public
interface
AnalysisGreenCongestionPeriodMapper
{
List
<
AnalysisGreenCongestionPeriod
>
selectGreenDataHist
(
@Param
(
"date"
)
String
date
);
void
insertGreenCongestionPeriodData
(
Map
<
String
,
Object
>
map
);
List
<
AnalysisGreenCongestionPeriodVO
>
selectListByWeek
(
@Param
(
"yearWeek"
)
Integer
yearWeek
);
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/judgeanalysis/AnalysisGreenCongestionPeriodService.java
View file @
e3d7551e
package
net
.
wanji
.
opt
.
servicev2
.
judgeanalysis
;
import
net.wanji.opt.controllerv2.report.vo.GreenReportProblemDetailAnalysisResponse
;
import
net.wanji.opt.controllerv2.report.vo.GreenReportProblemOverallAnalysisResult
;
import
java.text.ParseException
;
import
java.util.List
;
public
interface
AnalysisGreenCongestionPeriodService
{
public
void
selectCountByCongestionPeriod
()
throws
ParseException
;
GreenReportProblemOverallAnalysisResult
selectListByWeek
(
Integer
year
,
Integer
week
,
String
ids
);
List
<
GreenReportProblemDetailAnalysisResponse
>
getProblemDetail
(
Integer
year
,
Integer
week
,
String
ids
);
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/judgeanalysis/impl/AnalysisGreenCongestionPeriodServiceImpl.java
View file @
e3d7551e
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/main/resources/mapper/judgeanalysis/AnalysisGreenCongestionPeriodMapper.xml
View file @
e3d7551e
...
...
@@ -15,6 +15,10 @@
and a.green_id is not null
order by a.green_id,a.road_direction,a.start_time
</select>
<select
id=
"selectListByWeek"
resultType=
"net.wanji.opt.controllerv2.report.vo.AnalysisGreenCongestionPeriodVO"
>
select * from t_analysis_green_wave_congest_time_span where year_week = #{yearWeek}
</select>
<insert
id=
"insertGreenCongestionPeriodData"
parameterType=
"map"
>
insert into t_analysis_green_wave_congest_time_span (green_id,road_direction,week_day,congest_start_time,congest_end_time,congest_index,status,travel_time,speed,peak_type,year_week,week_start_time,week_end_time,insert_time)
...
...
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