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
1d458ba7
Commit
1d458ba7
authored
May 06, 2025
by
duwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
转向级查询代码优化
parent
f0fbb621
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
62 additions
and
19 deletions
+62
-19
Condition.java
...ze-service/src/main/java/net/wanji/opt/dto/Condition.java
+19
-0
TrendServiceImpl.java
...ain/java/net/wanji/opt/service/impl/TrendServiceImpl.java
+15
-6
CrossTurnDataHistMapper.java
...net/wanji/databus/dao/mapper/CrossTurnDataHistMapper.java
+3
-1
Condition.java
wj-databus/src/main/java/net/wanji/databus/vo/Condition.java
+19
-0
CrossTurnDataHistMapper.xml
...bus/src/main/resources/mapper/CrossTurnDataHistMapper.xml
+6
-12
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/dto/Condition.java
0 → 100644
View file @
1d458ba7
//package net.wanji.opt.dto;
//
//import lombok.Data;
//
///**
// * 交通指标车道级查询条件
// */
//@Data
//public class Condition {
// //方向
// private Integer inDir;
// //转向
// private String turnType;
//
// public Condition(Integer inDir, String turnType) {
// this.inDir = inDir;
// this.turnType = turnType;
// }
//}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/TrendServiceImpl.java
View file @
1d458ba7
...
...
@@ -34,10 +34,7 @@ import net.wanji.opt.dao.mapper.strategy.SceneStrategyMapper;
import
net.wanji.opt.dao.mapper.strategy.StrategyMapper
;
import
net.wanji.opt.dao.mapper.trend.AnalysisRidTurnIndicatorsMapper
;
import
net.wanji.opt.dao.mapper.trend.EventAlarmMapper
;
import
net.wanji.opt.dto.CrossEventDTO
;
import
net.wanji.opt.dto.CrossLaneSnapshotDataDTO
;
import
net.wanji.opt.dto.LineCongestion
;
import
net.wanji.opt.dto.LineSchemeDTO
;
import
net.wanji.opt.dto.*
;
import
net.wanji.opt.dto.export.CrossMapping
;
import
net.wanji.opt.dto.export.DirMapping
;
import
net.wanji.opt.dto.export.LaneMapping
;
...
...
@@ -2711,6 +2708,11 @@ public class TrendServiceImpl implements TrendService {
if
(!
StringUtils
.
isBlank
(
inDir
))
{
inDirList
=
Arrays
.
stream
(
inDir
.
split
(
","
)).
map
(
Integer:
:
parseInt
).
collect
(
Collectors
.
toList
());
}
//方向、转向条件
List
<
Condition
>
conditionList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
turnTypeList
.
size
();
i
++)
{
conditionList
.
add
(
new
Condition
(
inDirList
.
get
(
i
),
turnTypeList
.
get
(
i
)));
}
//分析粒度【5m:五分钟 10m:10分钟 30m:30分钟 1h:一小时】
String
granularity
=
turnVO
.
getGranularity
();
...
...
@@ -2721,7 +2723,8 @@ public class TrendServiceImpl implements TrendService {
}
// 查询周期数据
List
<
CrossTurnDataHistVO
>
vo
=
crossTurnDataHistMapper
.
selectByCrossIdTurn
(
crossId
,
startTime
,
endTime
,
granularity
,
turnTypeList
,
inDirList
);
List
<
CrossTurnDataHistVO
>
vo
=
crossTurnDataHistMapper
.
selectByCrossIdTurn
(
crossId
,
startTime
,
endTime
,
granularity
,
turnTypeList
,
inDirList
,
conditionList
);
return
buildCrossingTurnCycleData
(
crossId
,
vo
);
}
catch
(
Exception
e
)
{
log
.
error
(
"全是周期车道数据方向转向查询异常:"
,
e
);
...
...
@@ -3136,6 +3139,11 @@ public class TrendServiceImpl implements TrendService {
if
(!
StringUtils
.
isBlank
(
inDir
))
{
inDirList
=
Arrays
.
stream
(
inDir
.
split
(
","
)).
map
(
Integer:
:
parseInt
).
collect
(
Collectors
.
toList
());
}
//方向、转向条件
List
<
Condition
>
conditionList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
turnTypeList
.
size
();
i
++)
{
conditionList
.
add
(
new
Condition
(
inDirList
.
get
(
i
),
turnTypeList
.
get
(
i
)));
}
//分析粒度【5m:五分钟 10m:10分钟 30m:30分钟 1h:一小时】
String
granularity
=
turnVO
.
getGranularity
();
...
...
@@ -3146,7 +3154,8 @@ public class TrendServiceImpl implements TrendService {
}
// 查询周期数据
List
<
CrossTurnDataHistVO
>
vo
=
crossTurnDataHistMapper
.
selectByCrossIdTurn
(
crossId
,
startTime
,
endTime
,
granularity
,
turnTypeList
,
inDirList
);
List
<
CrossTurnDataHistVO
>
vo
=
crossTurnDataHistMapper
.
selectByCrossIdTurn
(
crossId
,
startTime
,
endTime
,
granularity
,
turnTypeList
,
inDirList
,
conditionList
);
List
<
CrossingTurnQueryVO
.
CycleDataElement
>
result
=
buildCrossingTurnCycleData
(
crossId
,
vo
);
// 判断是否需要导出全部字段
...
...
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossTurnDataHistMapper.java
View file @
1d458ba7
...
...
@@ -4,6 +4,7 @@ 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
net.wanji.databus.vo.Condition
;
import
net.wanji.databus.vo.CrossTurnDataHistVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -34,7 +35,8 @@ public interface CrossTurnDataHistMapper extends BaseMapper<CrossTurnDataHistPO>
* @param inDir
* @return
*/
List
<
CrossTurnDataHistVO
>
selectByCrossIdTurn
(
String
crossId
,
String
startStamp
,
String
endStamp
,
String
granularity
,
List
<
String
>
turnTypeList
,
List
<
Integer
>
inDirList
);
List
<
CrossTurnDataHistVO
>
selectByCrossIdTurn
(
String
crossId
,
String
startStamp
,
String
endStamp
,
String
granularity
,
List
<
String
>
turnTypeList
,
List
<
Integer
>
inDirList
,
List
<
Condition
>
conditionList
);
List
<
MetricHistDTO
>
selectMetricHistDTO
(
String
crossId
,
int
startStamp
,
int
endStamp
,
int
dir
,
String
turn
);
...
...
wj-databus/src/main/java/net/wanji/databus/vo/Condition.java
0 → 100644
View file @
1d458ba7
package
net
.
wanji
.
databus
.
vo
;
import
lombok.Data
;
/**
* 交通指标车道级查询条件
*/
@Data
public
class
Condition
{
//方向
private
Integer
inDir
;
//转向
private
String
turnType
;
public
Condition
(
Integer
inDir
,
String
turnType
)
{
this
.
inDir
=
inDir
;
this
.
turnType
=
turnType
;
}
}
wj-databus/src/main/resources/mapper/CrossTurnDataHistMapper.xml
View file @
1d458ba7
...
...
@@ -124,19 +124,13 @@
<if
test=
"crossId != null"
>
AND t2.cross_id = #{crossId}
</if>
<if
test=
"inDirList != null"
>
AND t2.in_dir IN
<foreach
item=
"inDir"
index=
"index"
collection=
"inDirList"
open=
"("
separator=
","
close=
")"
>
#{inDir}
</foreach>
</if>
<if
test=
"turnTypeList != null"
>
AND t2.turn_type IN
<foreach
item=
"turnType"
index=
"index"
collection=
"turnTypeList"
open=
"("
separator=
","
close=
")"
>
#{turnType}
<if
test=
"conditionList != null and !conditionList.isEmpty()"
>
AND (
<foreach
collection=
"conditionList"
item=
"cond"
separator=
" OR "
>
(t2.in_dir = #{cond.inDir} AND t2.turn_type = #{cond.turnType})
</foreach>
)
</if>
and t2.start_time
<![CDATA[ >= ]]>
#{startStamp}
and t2.start_time
<![CDATA[ <= ]]>
#{endStamp}
...
...
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