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
2368b703
Commit
2368b703
authored
Apr 18, 2025
by
zhoushiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
路口周报-补充优化部分字段
parent
4d2c8fcd
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
18 deletions
+55
-18
AnalysisReportCrossOptimizeDetail.java
.../opt/entity/report/AnalysisReportCrossOptimizeDetail.java
+6
-0
ReportGreenAndCrossOptimizeStatisticTask.java
...ji/opt/task/ReportGreenAndCrossOptimizeStatisticTask.java
+36
-14
AiOptimizeStatisticMapper.xml
...ources/mapper/judgeanalysis/AiOptimizeStatisticMapper.xml
+1
-1
AnalysisReportCrossOptimizeDetailMapper.xml
...mapper/report/AnalysisReportCrossOptimizeDetailMapper.xml
+12
-3
No files found.
signal-optimize-data-compute/src/main/java/net/wanji/opt/entity/report/AnalysisReportCrossOptimizeDetail.java
View file @
2368b703
...
...
@@ -131,4 +131,10 @@ public class AnalysisReportCrossOptimizeDetail implements Serializable {
*/
private
Integer
problemCount
;
private
Integer
lastWeekOptimizeCount
;
private
Integer
lastWeekOptimizeDuration
;
private
Integer
lastWeekProblemCount
;
}
signal-optimize-data-compute/src/main/java/net/wanji/opt/task/ReportGreenAndCrossOptimizeStatisticTask.java
View file @
2368b703
...
...
@@ -19,11 +19,13 @@ import net.wanji.opt.dao.mapper.HoloEventMapper;
import
net.wanji.opt.dao.mapper.StrategyCrossResultMapper
;
import
net.wanji.opt.dao.mapper.StrategyGreenOptHistMapper
;
import
net.wanji.opt.dao.mapper.evaluation.EventInfoMapper
;
import
net.wanji.opt.dao.mapper.judgeanalysis.AiOptimizeStatisticMapper
;
import
net.wanji.opt.dao.mapper.report.AnalysisGreenWaveOptimizeWeekMapper
;
import
net.wanji.opt.dao.mapper.report.AnalysisReportCrossOptimizeDetailMapper
;
import
net.wanji.opt.dto.report.GreenHistIndexDTO
;
import
net.wanji.opt.dto.report.StrategyGreenOptHistDTO
;
import
net.wanji.opt.entity.evaluation.EventInfo
;
import
net.wanji.opt.entity.judgeanalysis.AiOptimizeStatistic
;
import
net.wanji.opt.entity.report.AnalysisGreenWaveOptimizeWeek
;
import
net.wanji.opt.entity.report.AnalysisReportCrossOptimizeDetail
;
import
net.wanji.opt.po.base.CrossLaneDataHistPoExtend
;
...
...
@@ -84,6 +86,8 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
AnalysisReportCrossOptimizeDetailMapper
analysisReportCrossOptimizeDetailMapper
;
@Resource
HoloEventMapper
holoEventMapper
;
@Resource
AiOptimizeStatisticMapper
aiOptimizeStatisticMapper
;
/**
...
...
@@ -204,8 +208,8 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
Date
nowDate
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
date
();
Date
beginOfDay
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
beginOfDay
(
nowDate
);
//.lastWeek();//
//
beginOfDay = cn.hutool.core.date.DateUtil.lastWeek();
//
beginOfDay = cn.hutool.core.date.DateUtil.beginOfWeek(beginOfDay);
beginOfDay
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
lastWeek
();
beginOfDay
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
beginOfWeek
(
beginOfDay
);
Date
endOfDay
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
endOfDay
(
nowDate
);
//DateUtil.endOfDay(DateUtil.date());
...
...
@@ -246,7 +250,7 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
}
}
long
et1
=
System
.
currentTimeMillis
();
log
.
info
(
"查询策略优化记录耗时:{}ms,参数:{}"
,
et1
-
st1
,
queryWrapper
.
toString
());
log
.
info
(
"查询策略优化记录耗时:{}ms,参数:{}"
,
et1
-
st1
,
queryWrapper
.
toString
());
//==========================================================================================================//
List
<
AnalysisReportCrossOptimizeDetail
>
optimizeList
=
new
ArrayList
<>();
...
...
@@ -256,14 +260,14 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
String
crossId
=
sps
[
0
];
String
strategy
=
sps
[
1
];
String
eventType
=
null
;
if
(
Objects
.
equals
(
"1"
,
strategy
))
{
eventType
=
"701"
;
}
else
if
(
Objects
.
equals
(
"2"
,
strategy
))
{
eventType
=
"702"
;
}
else
if
(
Objects
.
equals
(
"3"
,
strategy
))
{
eventType
=
"703"
;
}
else
if
(
Objects
.
equals
(
"4"
,
strategy
))
{
eventType
=
"704"
;
if
(
Objects
.
equals
(
"1"
,
strategy
))
{
eventType
=
"701"
;
}
else
if
(
Objects
.
equals
(
"2"
,
strategy
))
{
eventType
=
"702"
;
}
else
if
(
Objects
.
equals
(
"3"
,
strategy
))
{
eventType
=
"703"
;
}
else
if
(
Objects
.
equals
(
"4"
,
strategy
))
{
eventType
=
"704"
;
}
List
<
StrategyCrossResultEntity
>
value
=
entry
.
getValue
();
...
...
@@ -312,7 +316,7 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
detail
.
setYearWeek
(
Integer
.
parseInt
(
issueTime
.
getYear
()
+
""
+
issueTime
.
getWeekOfWeekyear
()));
detail
.
setWeekDay
(
issueTime
.
getDayOfWeek
()
+
1
);
detail
.
setWeekStartTime
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
beginOfWeek
(
minTime
.
getIssueTime
()).
toLocalDateTime
());
;
detail
.
setWeekEndTime
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
endOfWeek
(
minTime
.
getIssueTime
()).
toLocalDateTime
());
detail
.
setOptimizeCount
((
int
)
count
);
detail
.
setOptimizeDuration
(
duration
);
...
...
@@ -342,14 +346,32 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
//===========================================================================//
params
.
clear
();
params
.
put
(
"crossId"
,
crossId
);
params
.
put
(
"dt"
,
DateUtil
.
formatDate
(
minTime
.
getIssueTime
(),
"yyyyMMdd"
));
params
.
put
(
"eventType"
,
eventType
);
params
.
put
(
"dt"
,
DateUtil
.
formatDate
(
minTime
.
getIssueTime
(),
"yyyyMMdd"
));
params
.
put
(
"eventType"
,
eventType
);
EventStatisticPo
countPo
=
holoEventMapper
.
findCrossEventCount
(
params
);
if
(
countPo
!=
null
)
{
detail
.
setProblemCount
(
countPo
.
getEventCount
());
}
params
.
put
(
"dt"
,
DateUtil
.
formatDate
(
lastWeekDateStartTime
.
toDate
(),
"yyyyMMdd"
));
//===========================================================================//
EventStatisticPo
lastCountPo
=
holoEventMapper
.
findCrossEventCount
(
params
);
if
(
lastCountPo
!=
null
)
{
detail
.
setLastWeekOptimizeCount
(
lastCountPo
.
getEventCount
());
}
//===========================================================================//
AiOptimizeStatistic
param
=
new
AiOptimizeStatistic
();
param
.
setCrossId
(
crossId
);
param
.
setStatisticTime
(
Integer
.
valueOf
(
DateUtil
.
formatDate
(
lastWeekDateStartTime
.
toDate
(),
"yyyyMMdd"
)));
param
.
setStrategy
(
Integer
.
valueOf
(
strategy
));
List
<
AiOptimizeStatistic
>
lastOptList
=
aiOptimizeStatisticMapper
.
findAiOptimizeStatisticByCondition
(
param
);
if
(!
lastOptList
.
isEmpty
())
{
detail
.
setLastWeekOptimizeDuration
(
lastOptList
.
get
(
0
).
getOptimizeDuration
());
detail
.
setLastWeekOptimizeCount
(
lastOptList
.
get
(
0
).
getOptimizeCount
());
}
//===========================================================================//
optimizeList
.
add
(
detail
);
if
(
optimizeList
.
size
()
%
100
==
0
)
{
analysisReportCrossOptimizeDetailMapper
.
insertBatch
(
optimizeList
);
optimizeList
.
clear
();
...
...
signal-optimize-data-compute/src/main/resources/mapper/judgeanalysis/AiOptimizeStatisticMapper.xml
View file @
2368b703
...
...
@@ -5,7 +5,7 @@
<!-- 通用设置 -->
<!-- 通用查询列 -->
<sql
id=
"Base_Column_List"
>
cross_id, strategy, optimize_count, optimize_duration, statistic_time,
gmt_create, gmt_modified,
type
cross_id, strategy, optimize_count, optimize_duration, statistic_time, type
</sql>
<!-- 通用条件列 -->
...
...
signal-optimize-data-compute/src/main/resources/mapper/report/AnalysisReportCrossOptimizeDetailMapper.xml
View file @
2368b703
...
...
@@ -263,7 +263,7 @@
)
</insert>
<!-- 批量插入 -->
<insert
id=
"insertBatch"
parameterType=
"net.wanji.opt.entity.report.Analysis
GreenWaveOptimizeWeek
"
>
<insert
id=
"insertBatch"
parameterType=
"net.wanji.opt.entity.report.Analysis
ReportCrossOptimizeDetail
"
>
INSERT INTO t_analysis_report_cross_optimize_detail (
cross_id,
week_day,
...
...
@@ -287,7 +287,10 @@
last_week_speed,
last_week_congest_index,
dirs,
problem_count
problem_count,
last_week_optimize_count,
last_week_optimize_duration,
last_week_problem_count
) VALUES
<foreach
collection=
"list"
item=
"entity"
separator=
","
>
(
...
...
@@ -314,6 +317,9 @@
,#{entity.lastWeekCongestIndex}
,#{entity.dirs}
,#{entity.problemCount}
,#{entity.lastWeekOptimizeCount}
,#{entity.lastWeekOptimizeDuration}
,#{entity.lastWeekProblemCount}
)
</foreach>
ON DUPLICATE KEY UPDATE
...
...
@@ -339,6 +345,9 @@
last_week_speed = VALUES(last_week_speed),
last_week_congest_index = VALUES(last_week_congest_index),
dirs = VALUES(dirs),
problem_count = VALUES(problem_count)
problem_count = VALUES(problem_count),
last_week_optimize_count = VALUES(last_week_optimize_count),
last_week_optimize_duration = VALUES(last_week_optimize_duration),
last_week_problem_count = VALUES(last_week_problem_count)
</insert>
</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