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
7030a8b5
Commit
7030a8b5
authored
Apr 24, 2025
by
zhoushiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
路口评价优化记录查询、研判优化记录查询分开
parent
39647f79
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
147 additions
and
35 deletions
+147
-35
AiOptimizeStatisticMapper.java
...t/dao/mapper/judgeanalysis/AiOptimizeStatisticMapper.java
+1
-1
AiOptimizeStatisticServiceImpl.java
...v2/judgeanalysis/impl/AiOptimizeStatisticServiceImpl.java
+2
-2
AiOptimizeStatisticMapper.xml
...ources/mapper/judgeanalysis/AiOptimizeStatisticMapper.xml
+2
-2
TEventOptimizeInfoMapper.java
...pt/dao/mapper/eventoptimize/TEventOptimizeInfoMapper.java
+15
-0
AiOptimizeStatisticMapper.java
...t/dao/mapper/judgeanalysis/AiOptimizeStatisticMapper.java
+3
-1
TEventOptimizeInfoVO.java
.../wanji/opt/entity/eventoptimize/TEventOptimizeInfoVO.java
+3
-0
ReportHistory.java
.../main/java/net/wanji/opt/entity/report/ReportHistory.java
+42
-0
TEventOptimizeInfoServiceImpl.java
...ev2/eventoptimize/impl/TEventOptimizeInfoServiceImpl.java
+16
-9
AiOptimizeStatisticServiceImpl.java
...v2/judgeanalysis/impl/AiOptimizeStatisticServiceImpl.java
+3
-1
TEventOptimizeInfoMapper.xml
...sources/mapper/eventoptimize/TEventOptimizeInfoMapper.xml
+32
-10
AiOptimizeStatisticMapper.xml
...ources/mapper/judgeanalysis/AiOptimizeStatisticMapper.xml
+28
-9
No files found.
signal-optimize-data-compute/src/main/java/net/wanji/opt/dao/mapper/judgeanalysis/AiOptimizeStatisticMapper.java
View file @
7030a8b5
...
...
@@ -42,6 +42,6 @@ public interface AiOptimizeStatisticMapper extends BaseMapper<AiOptimizeStatisti
*/
Integer
addAiOptimizeStatistic
(
AiOptimizeStatistic
aiOptimizeStatistic
);
List
<
AiOptimizeStatistic
>
greenOptimizeByTimeTrend
(
String
greenId
,
Integer
startTime
,
Integer
endTime
);
//
List<AiOptimizeStatistic> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime);
}
signal-optimize-data-compute/src/main/java/net/wanji/opt/servicev2/judgeanalysis/impl/AiOptimizeStatisticServiceImpl.java
View file @
7030a8b5
...
...
@@ -87,9 +87,9 @@ import java.util.Map;
@Override
public
Map
<
String
,
Object
>
greenOptimizeByTimeTrend
(
String
greenId
,
Integer
startTime
,
Integer
endTime
)
{
List
<
AiOptimizeStatistic
>
list
=
aiOptimizeStatisticMapper
.
greenOptimizeByTimeTrend
(
greenId
,
startTime
,
endTime
);
//
List<AiOptimizeStatistic> list=aiOptimizeStatisticMapper.greenOptimizeByTimeTrend(greenId,startTime,endTime);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"dataList"
,
list
);
//
jsonObject.put("dataList",list);
return
jsonObject
;
}
}
signal-optimize-data-compute/src/main/resources/mapper/judgeanalysis/AiOptimizeStatisticMapper.xml
View file @
7030a8b5
...
...
@@ -136,7 +136,7 @@
,#{type}
)
</insert>
<select
id=
"greenOptimizeByTimeTrend"
parameterType=
"map"
resultMap=
"AiOptimizeStatisticMap"
>
<
!--<
select id="greenOptimizeByTimeTrend" parameterType="map" resultMap="AiOptimizeStatisticMap">
SELECT sum(optimize_count) as optimize_count
FROM t_ai_optimize_statistic t1
WHERE
...
...
@@ -147,5 +147,5 @@
<if test="greenId!=null and greenId!=''">
AND t1.cross_id= #{greenId}
</if>
</select>
</select>
-->
</mapper>
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/eventoptimize/TEventOptimizeInfoMapper.java
View file @
7030a8b5
...
...
@@ -58,4 +58,19 @@ public interface TEventOptimizeInfoMapper extends BaseMapper<TEventOptimizeInfo>
@Param
(
"startTime"
)
String
startTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"crossIds"
)
List
<
String
>
crossIds
);
/**
* 路口优化记录查询
* @param page
* @param startTime
* @param endTime
* @param crossId
* @param greenId
* @return
*/
Page
<
TEventOptimizeInfo
>
selectCrossOptimize
(
@Param
(
"page"
)
Page
<
TEventOptimizeInfo
>
page
,
@Param
(
"startTime"
)
String
startTime
,
@Param
(
"endTime"
)
String
endTime
,
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"greenId"
)
Integer
greenId
);
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/judgeanalysis/AiOptimizeStatisticMapper.java
View file @
7030a8b5
package
net
.
wanji
.
opt
.
dao
.
mapper
.
judgeanalysis
;
import
net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo
;
import
net.wanji.opt.entity.judgeanalysis.AiOptimizeStatistic
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -42,6 +43,7 @@ public interface AiOptimizeStatisticMapper extends BaseMapper<AiOptimizeStatisti
*/
Integer
addAiOptimizeStatistic
(
AiOptimizeStatistic
aiOptimizeStatistic
);
List
<
AiOptimizeStatistic
>
greenOptimizeByTimeTrend
(
String
greenId
,
Integer
startTime
,
Integer
endTime
);
// List<AiOptimizeStatistic> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime);
List
<
TEventOptimizeInfo
>
greenOptimizeByTimeTrend
(
String
greenId
,
Integer
startTime
,
Integer
endTime
);
}
signal-optimize-service/src/main/java/net/wanji/opt/entity/eventoptimize/TEventOptimizeInfoVO.java
View file @
7030a8b5
...
...
@@ -39,4 +39,7 @@ public class TEventOptimizeInfoVO {
@ApiModelProperty
(
value
=
"干线ID"
)
private
Integer
greenId
;
@ApiModelProperty
(
value
=
"时间数量"
)
private
Integer
eventNumber
;
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/entity/report/ReportHistory.java
0 → 100644
View file @
7030a8b5
package
net
.
wanji
.
opt
.
entity
.
report
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
net.wanji.common.framework.domain.TrackableEntity
;
import
java.util.Date
;
import
java.math.BigDecimal
;
/**
* <p>
* 调控集锦
* </p>
*
* @Author fengyi
* @Date 2025-04-22
*/
@Data
@ApiModel
(
value
=
"ReportHistory对象"
,
description
=
"调控集锦"
)
public
class
ReportHistory
extends
TrackableEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"报告名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"文件地址"
)
private
String
fileUrl
;
@ApiModelProperty
(
value
=
"插入时间"
)
private
Date
insertTime
;
@ApiModelProperty
(
value
=
"修改时间"
)
private
Date
modifyTime
;
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/eventoptimize/impl/TEventOptimizeInfoServiceImpl.java
View file @
7030a8b5
...
...
@@ -39,26 +39,33 @@ public class TEventOptimizeInfoServiceImpl extends ServiceImpl<TEventOptimizeInf
@Override
public
Page
<
TEventOptimizeInfoVO
>
selectPageWithCrossIdAndGreenId
(
int
currentPage
,
int
pageSize
,
String
startTime
,
String
endTime
,
String
crossId
,
Integer
greenId
)
{
if
(
ObjectUtil
.
isNotEmpty
(
greenId
)){
List
<
String
>
crossIds
=
tEventOptimizeInfoMapper
.
getCrossIdList
(
greenId
);
if
(
ObjectUtil
.
isNotEmpty
(
greenId
))
{
//研判分析-绿波干线问题优化记录仍从t_event_optimize_info表查询
Page
<
TEventOptimizeInfo
>
page
=
new
Page
<>(
currentPage
,
pageSize
);
Page
<
TEventOptimizeInfo
>
tEventOptimizeInfoPage
=
baseMapper
.
selectPageWithCrossId
s
(
page
,
startTime
,
endTime
,
crossIds
);
Page
<
TEventOptimizeInfo
>
tEventOptimizeInfoPage
=
baseMapper
.
selectPageWithCrossId
AndGreenId
(
page
,
startTime
,
endTime
,
crossId
,
greenId
);
List
<
TEventOptimizeInfoVO
>
collect
=
tEventOptimizeInfoPage
.
getRecords
().
stream
().
map
(
x
->
{
TEventOptimizeInfoVO
tEventOptimizeInfoVO
=
new
TEventOptimizeInfoVO
();
BeanUtils
.
copyProperties
(
x
,
tEventOptimizeInfoVO
);
tEventOptimizeInfoVO
.
setEventLabal
(
getEventLabel1
(
x
.
getEventType
()));
tEventOptimizeInfoVO
.
setOptStatus
(
1
);
tEventOptimizeInfoVO
.
setGreenId
(
greenId
);
tEventOptimizeInfoVO
.
setEventLabal
(
getEventLabel
(
x
.
getEventType
()));
return
tEventOptimizeInfoVO
;
}).
collect
(
Collectors
.
toList
());
List
<
TEventOptimizeInfoVO
>
list
=
new
ArrayList
<>();
Map
<
String
,
List
<
TEventOptimizeInfoVO
>>
groupByDate
=
collect
.
stream
().
collect
(
Collectors
.
groupingBy
(
o
->
o
.
getOptStartTime
().
toString
()+
"_"
+
o
.
getOptEndTime
()));
groupByDate
.
forEach
((
k
,
v
)->{
TEventOptimizeInfoVO
vo
=
v
.
stream
().
distinct
().
findAny
().
get
();
vo
.
setEventNumber
(
v
.
size
());
list
.
add
(
vo
);
});
Page
<
TEventOptimizeInfoVO
>
pageVO
=
new
Page
<>(
currentPage
,
pageSize
);
pageVO
.
setTotal
(
page
.
getTotal
());
pageVO
.
setRecords
(
collec
t
);
pageVO
.
setRecords
(
lis
t
);
return
pageVO
;
}
else
{
}
else
{
//路口优化记录从t_strategy_cross_result表查询【兼顾信号评价路口当日优化记录查询】
Page
<
TEventOptimizeInfo
>
page
=
new
Page
<>(
currentPage
,
pageSize
);
Page
<
TEventOptimizeInfo
>
tEventOptimizeInfoPage
=
baseMapper
.
select
PageWithCrossIdAndGreenId
(
page
,
startTime
,
endTime
,
crossId
,
greenId
);
Page
<
TEventOptimizeInfo
>
tEventOptimizeInfoPage
=
baseMapper
.
select
CrossOptimize
(
page
,
startTime
,
endTime
,
crossId
,
greenId
);
List
<
TEventOptimizeInfoVO
>
collect
=
tEventOptimizeInfoPage
.
getRecords
().
stream
().
map
(
x
->
{
TEventOptimizeInfoVO
tEventOptimizeInfoVO
=
new
TEventOptimizeInfoVO
();
BeanUtils
.
copyProperties
(
x
,
tEventOptimizeInfoVO
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/judgeanalysis/impl/AiOptimizeStatisticServiceImpl.java
View file @
7030a8b5
package
net
.
wanji
.
opt
.
servicev2
.
judgeanalysis
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo
;
import
net.wanji.opt.entity.judgeanalysis.AiOptimizeStatistic
;
import
net.wanji.opt.dao.mapper.judgeanalysis.AiOptimizeStatisticMapper
;
import
net.wanji.opt.servicev2.judgeanalysis.AiOptimizeStatisticService
;
...
...
@@ -87,8 +88,9 @@ import java.util.Map;
@Override
public
Map
<
String
,
Object
>
greenOptimizeByTimeTrend
(
String
greenId
,
Integer
startTime
,
Integer
endTime
)
{
List
<
AiOptimizeStatistic
>
list
=
aiOptimizeStatisticMapper
.
greenOptimizeByTimeTrend
(
greenId
,
startTime
,
endTime
);
List
<
TEventOptimizeInfo
>
list
=
aiOptimizeStatisticMapper
.
greenOptimizeByTimeTrend
(
greenId
,
startTime
,
endTime
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"optimizeCount"
,
list
.
size
());
jsonObject
.
put
(
"dataList"
,
list
);
return
jsonObject
;
}
...
...
signal-optimize-service/src/main/resources/mapper/eventoptimize/TEventOptimizeInfoMapper.xml
View file @
7030a8b5
...
...
@@ -36,7 +36,8 @@
</if>
ORDER BY happen_start_time desc
</select>
<select
id=
"selectPageWithCrossIdAndGreenId"
parameterType=
"map"
resultType=
"net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo"
>
<!-- 用于方案信号评价-路口优化记录查询(包含当日数据) -->
<select
id=
"selectCrossOptimize"
parameterType=
"map"
resultType=
"net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo"
>
SELECT
cross_id,
current_algo AS event_type,
...
...
@@ -56,15 +57,16 @@
</if>
AND response_code = 200
</select>
<!-- <select id="selectPageWithCrossIdAndGreenId" parameterType="map" resultType="net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo">-->
<!-- SELECT *-->
<!-- FROM t_event_optimize_info-->
<!-- WHERE (#{startTime} IS NULL OR happen_start_time >= #{startTime})-->
<!-- AND (#{endTime} IS NULL OR happen_end_time <= #{endTime})-->
<!-- AND (#{crossId} IS NULL OR cross_id = #{crossId})-->
<!-- AND (#{greenId} IS NULL OR green_id = #{greenId})-->
<!-- AND opt_status != 0-->
<!-- </select>-->
<!-- 用于绿波干线研判-报警优化记录查询,t_event_optimize_info不包含当日数据 -->
<select
id=
"selectPageWithCrossIdAndGreenId"
parameterType=
"map"
resultType=
"net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo"
>
SELECT *
FROM t_event_optimize_info
WHERE (#{startTime} IS NULL OR happen_start_time >= #{startTime})
AND (#{endTime} IS NULL OR happen_end_time
<
= #{endTime})
AND (#{crossId} IS NULL OR cross_id = #{crossId})
AND (#{greenId} IS NULL OR green_id = #{greenId})
AND opt_status != 0
</select>
<select
id=
"getCrossOptimizeDistribute"
parameterType=
"map"
resultType=
"java.util.Map"
>
SELECT
...
...
@@ -169,4 +171,24 @@
</if>
AND response_code = 200
</select>
<!-- 绿波干线优化记录查询 -->
<select
id=
"selectPageWithGreenId"
resultType=
"net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo"
>
SELECT a.green_id,
a.type as event_type,
a.control_time AS opt_start_time,
a.control_duration AS opt_duration,
DATE_ADD( control_time, INTERVAL control_duration SECOND ) AS opt_end_time
FROM t_strategy_green_opt_hist a
WHERE
1=1
<if
test=
"greenId != null"
>
AND green_id = #{greenId}
</if>
<if
test=
"startTime != null and endTime != null"
>
AND control_time >= #{startTime}
AND control_time
<
#{endTime}
</if>
and control_method in (-1, 1)
</select>
</mapper>
\ No newline at end of file
signal-optimize-service/src/main/resources/mapper/judgeanalysis/AiOptimizeStatisticMapper.xml
View file @
7030a8b5
...
...
@@ -136,16 +136,35 @@
,#{type}
)
</insert>
<select
id=
"greenOptimizeByTimeTrend"
parameterType=
"map"
resultMap=
"AiOptimizeStatisticMap"
>
SELECT sum(optimize_count) as optimize_count
FROM t_ai_optimize_statistic t1
WHERE
1=1
<if
test=
"startTime != null and startTime != '' and endTime != null and endTime != ''"
>
AND t1.statistic_time>=#{startTime} AND t1.statistic_time
<
=#{endTime}
</if>
<!-- <select id="greenOptimizeByTimeTrend" parameterType="map" resultMap="AiOptimizeStatisticMap">-->
<!-- SELECT sum(optimize_count) as optimize_count-->
<!-- FROM t_ai_optimize_statistic t1-->
<!-- WHERE-->
<!-- 1=1-->
<!-- <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">-->
<!-- AND t1.statistic_time>=#{startTime} AND t1.statistic_time <=#{endTime}-->
<!-- </if>-->
<!-- <if test="greenId!=null and greenId!=''">-->
<!-- AND t1.cross_id= #{greenId}-->
<!-- </if>-->
<!-- </select>-->
<select
id=
"greenOptimizeByTimeTrend"
parameterType=
"map"
resultType=
"net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo"
>
SELECT green_id,
control_time as opt_start_time,
DATE_ADD(control_time,INTERVAL control_duration SECOND) as opt_end_time,
control_duration as opt_duration
from t_strategy_green_opt_hist
where 1=1
<if
test=
"greenId!=null and greenId!=''"
>
AND t1.cross_id= #{greenId}
AND green_id= #{greenId}
</if>
<if
test=
"startTime != null and startTime != '' and endTime != null and endTime != ''"
>
and control_time >= DATE_FORMAT(STR_TO_DATE(#{startTime},'%Y%m%d'),'%Y%m%d000000')
and control_time
<
DATE_FORMAT(STR_TO_DATE(#{endTime},'%Y%m%d'),'%Y%m%d235959')
</if>
and control_method=1
GROUP BY green_id, control_time, control_duration, control_method
order by control_time
</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