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
9ab2c2da
Commit
9ab2c2da
authored
May 28, 2025
by
zhoushiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug修改
parent
676f09a3
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
136 additions
and
17 deletions
+136
-17
ReportGreenAndCrossOptimizeStatisticTask.java
...ji/opt/task/ReportGreenAndCrossOptimizeStatisticTask.java
+15
-7
TaskControllerTest.java
.../src/main/java/net/wanji/opt/task/TaskControllerTest.java
+112
-0
AnalysisGreenWaveOptimizeWeekMapper.xml
...ces/mapper/report/AnalysisGreenWaveOptimizeWeekMapper.xml
+4
-5
AnalysisReportCrossOptimizeDetailMapper.xml
...mapper/report/AnalysisReportCrossOptimizeDetailMapper.xml
+5
-5
No files found.
signal-optimize-data-compute/src/main/java/net/wanji/opt/task/ReportGreenAndCrossOptimizeStatisticTask.java
View file @
9ab2c2da
...
@@ -2,6 +2,7 @@ package net.wanji.opt.task;
...
@@ -2,6 +2,7 @@ package net.wanji.opt.task;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.common.gts.Tools
;
import
net.wanji.common.gts.Tools
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.common.utils.tool.LocalDateTimeUtil
;
import
net.wanji.common.utils.tool.LocalDateTimeUtil
;
...
@@ -87,12 +88,15 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
...
@@ -87,12 +88,15 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
long
st
=
System
.
currentTimeMillis
();
long
st
=
System
.
currentTimeMillis
();
try
{
try
{
List
<
AnalysisGreenWaveOptimizeWeek
>
durationList
=
new
ArrayList
<>();
List
<
StrategyGreenOptHistDTO
>
list
=
strategyGreenOptHistMapper
.
findGreenWaveOptHist
();
List
<
StrategyGreenOptHistDTO
>
list
=
strategyGreenOptHistMapper
.
findGreenWaveOptHist
();
Map
<
Integer
,
List
<
StrategyGreenOptHistDTO
>>
groupByGreenId
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
o
->
o
.
getGreenId
()));
//按干线+天分组
Map
<
String
,
List
<
StrategyGreenOptHistDTO
>>
groupByGreenId
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
o
->
o
.
getGreenId
()+
"_"
+
DateUtil
.
format
(
o
.
getControlTime
(),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_DAY
)));
for
(
Map
.
Entry
<
Integer
,
List
<
StrategyGreenOptHistDTO
>>
entry
:
groupByGreenId
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
List
<
StrategyGreenOptHistDTO
>>
entry
:
groupByGreenId
.
entrySet
())
{
long
et1
=
System
.
currentTimeMillis
();
List
<
AnalysisGreenWaveOptimizeWeek
>
durationList
=
new
ArrayList
<>();
List
<
StrategyGreenOptHistDTO
>
value
=
entry
.
getValue
();
List
<
StrategyGreenOptHistDTO
>
value
=
entry
.
getValue
();
value
=
value
.
stream
().
sorted
(
Comparator
.
comparing
(
StrategyGreenOptHistDTO:
:
getControlTime
)).
collect
(
Collectors
.
toList
());
value
=
value
.
stream
().
sorted
(
Comparator
.
comparing
(
StrategyGreenOptHistDTO:
:
getControlTime
)).
collect
(
Collectors
.
toList
());
...
@@ -170,12 +174,16 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
...
@@ -170,12 +174,16 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
durationList
.
add
(
data
);
durationList
.
add
(
data
);
i
++;
i
++;
}
}
if
(!
durationList
.
isEmpty
())
{
analysisGreenWaveOptimizeWeekMapper
.
insertBatch
(
durationList
);
durationList
.
clear
();
log
.
info
(
"计算干线周报-干线优化批入库耗时:{}ms,size:{} ,starDate:{}"
,
System
.
currentTimeMillis
()
-
et1
,
durationList
.
size
(),
entry
.
getKey
());
}
}
}
if
(!
durationList
.
isEmpty
())
{
analysisGreenWaveOptimizeWeekMapper
.
insertBatch
(
durationList
);
}
long
et
=
System
.
currentTimeMillis
();
long
et
=
System
.
currentTimeMillis
();
log
.
info
(
"批量保存干线优化数据据耗时:{}ms,size:{}"
,
et
-
st
,
durationList
.
size
());
log
.
info
(
"计算干线周报-干线优化数据总耗时:{}ms,size:{}"
,
et
-
st
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
""
,
e
);
log
.
error
(
""
,
e
);
...
...
signal-optimize-data-compute/src/main/java/net/wanji/opt/task/TaskControllerTest.java
0 → 100644
View file @
9ab2c2da
package
net
.
wanji
.
opt
.
task
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
io.swagger.annotations.ResponseHeader
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
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
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
* </p>
*
* @author fengyi
* @version 1.0
* @Date 2023-04-08
*/
@RestController
@Slf4j
@RequestMapping
(
"/taskTest"
)
@Api
(
value
=
"TaskControllerTest"
,
description
=
""
,
tags
=
"定时任务测试"
)
public
class
TaskControllerTest
{
@Resource
AnalysisGreenCongestionPeriodWeekTask
analysisGreenCongestionPeriodWeekTask
;
@Resource
AnalysisProblemAndStrategyDayTask
analysisProblemAndStrategyDayTask
;
@Resource
AnalysisProblemCrossDayTask
analysisProblemCrossDayTask
;
@Resource
AnalysisProblemCrossDirHourTask
analysisProblemCrossDirHourTask
;
@Resource
AnalysisProblemDayTask
analysisProblemDayTask
;
@Resource
AnalysisProblemHourTask
analysisProblemHourTask
;
@Resource
GreenWaveWeekDataTask
greenWaveWeekDataTask
;
@Resource
ReportGreenAndCrossOptimizeStatisticTask
reportGreenAndCrossOptimizeStatisticTask
;
@GetMapping
(
"/request"
)
public
JsonViewObject
list
(
int
type
)
{
try
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
if
(
type
==
1
)
{
//TODO 待验证
analysisGreenCongestionPeriodWeekTask
.
task
();
}
if
(
type
==
2
)
{
analysisGreenCongestionPeriodWeekTask
.
taskDay
();
}
if
(
type
==
3
)
{
analysisGreenCongestionPeriodWeekTask
.
insertCrossSlowRunEventData
();
}
//============================================================//
if
(
type
==
5
)
{
analysisProblemAndStrategyDayTask
.
taskCross
();
}
if
(
type
==
6
)
{
analysisProblemAndStrategyDayTask
.
taskGreen
();;
}
//================================================//
if
(
type
==
7
)
{
analysisProblemCrossDayTask
.
executeGreenCrossHourTask
();;
}
if
(
type
==
8
)
{
analysisProblemCrossDayTask
.
executeWeeklyTask
();
}
//=================================================
if
(
type
==
9
)
{
//TODO 异常
analysisProblemCrossDirHourTask
.
executeCrossOverFlowTask
();
}
if
(
type
==
10
)
{
analysisProblemDayTask
.
task
();
}
if
(
type
==
11
)
{
analysisProblemHourTask
.
task
();
}
if
(
type
==
12
)
{
greenWaveWeekDataTask
.
executeWeeklyTask
();
}
if
(
type
==
13
)
{
reportGreenAndCrossOptimizeStatisticTask
.
optimizeDurationCal
();
}
if
(
type
==
14
)
{
reportGreenAndCrossOptimizeStatisticTask
.
optimizeGreenWaveDurationCal
();
}
return
jsonViewObject
.
success
();
}
catch
(
Exception
e
)
{
log
.
error
(
""
,
e
);
return
JsonViewObject
.
newInstance
().
fail
(
"请求失败"
);
}
}
}
signal-optimize-data-compute/src/main/resources/mapper/report/AnalysisGreenWaveOptimizeWeekMapper.xml
View file @
9ab2c2da
...
@@ -297,8 +297,8 @@
...
@@ -297,8 +297,8 @@
#{entity.greenId}
#{entity.greenId}
,#{entity.roadDirection}
,#{entity.roadDirection}
,#{entity.weekDay}
,#{entity.weekDay}
,
to_timestamp(#{entity.optimizeStartTime}, 'YYYY-MM-DD HH24:MI:SS')
,
#{entity.optimizeStartTime}
,
to_timestamp(#{entity.optimizeEndTime}, 'YYYY-MM-DD HH24:MI:SS')
,
#{entity.optimizeEndTime}
,#{entity.stragetyId}
,#{entity.stragetyId}
,#{entity.optimizeCount}
,#{entity.optimizeCount}
,#{entity.optimizeDuration}
,#{entity.optimizeDuration}
...
@@ -308,9 +308,9 @@
...
@@ -308,9 +308,9 @@
,#{entity.travelTime}
,#{entity.travelTime}
,#{entity.speed}
,#{entity.speed}
,#{entity.yearWeek}
,#{entity.yearWeek}
,
to_timestamp(#{entity.weekStartTime}, 'YYYY-MM-DD HH24:MI:SS')
,
#{entity.weekStartTime}
,#{entity.weekEndTime}
,#{entity.weekEndTime}
,
to_timestamp(#{entity.insertTime}, 'YYYY-MM-DD HH24:MI:SS')
,
#{entity.insertTime}
,#{entity.congestIndex}
,#{entity.congestIndex}
,#{entity.lastWeekCongestIndex}
,#{entity.lastWeekCongestIndex}
,#{entity.lastWeekCapacity}
,#{entity.lastWeekCapacity}
...
@@ -329,7 +329,6 @@
...
@@ -329,7 +329,6 @@
capacity = excluded.capacity,
capacity = excluded.capacity,
stop_times = excluded.stop_times,
stop_times = excluded.stop_times,
delay_time = excluded.delay_time,
delay_time = excluded.delay_time,
delay_time = excluded.delay_time,
travel_time = excluded.travel_time,
travel_time = excluded.travel_time,
speed = excluded.speed,
speed = excluded.speed,
year_week = excluded.year_week,
year_week = excluded.year_week,
...
...
signal-optimize-data-compute/src/main/resources/mapper/report/AnalysisReportCrossOptimizeDetailMapper.xml
View file @
9ab2c2da
...
@@ -296,8 +296,8 @@
...
@@ -296,8 +296,8 @@
(
(
#{entity.crossId}
#{entity.crossId}
,#{entity.weekDay}
,#{entity.weekDay}
,
to_timestamp(#{entity.optimizeStartTime},'YYYY-MM-DD HH24:00:00')
,
#{entity.optimizeStartTime}
,
to_timestamp(#{entity.optimizeEndTime},'YYYY-MM-DD HH24:00:00')
,
#{entity.optimizeEndTime}
,#{entity.stragetyId}
,#{entity.stragetyId}
,#{entity.optimizeCount}
,#{entity.optimizeCount}
,#{entity.optimizeDuration}
,#{entity.optimizeDuration}
...
@@ -306,9 +306,9 @@
...
@@ -306,9 +306,9 @@
,#{entity.delayTime}
,#{entity.delayTime}
,#{entity.maxQueueLength}
,#{entity.maxQueueLength}
,#{entity.yearWeek}
,#{entity.yearWeek}
,
to_timestamp(#{entity.weekStartTime},'YYYY-MM-DD HH24:00:00')
,
#{entity.weekStartTime}
,
to_timestamp(#{entity.weekEndTime},'YYYY-MM-DD HH24:00:00')
,
#{entity.weekEndTime}
,
to_timestamp(#{entity.insertTime},'YYYY-MM-DD HH24:00:00')
,
#{entity.insertTime}
,#{entity.lastWeekCapacity}
,#{entity.lastWeekCapacity}
,#{entity.lastWeekStopTimes}
,#{entity.lastWeekStopTimes}
,#{entity.lastWeekDelayTime}
,#{entity.lastWeekDelayTime}
...
...
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