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
d72ac13f
Commit
d72ac13f
authored
Mar 21, 2025
by
Zheng Yi Fan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 新增路口报警优化分析接口
parent
5588df8d
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
274 additions
and
206 deletions
+274
-206
AnalysisProblemCrossDayController.java
...erv2/judgeanalysis/AnalysisProblemCrossDayController.java
+25
-14
AnalysisProblemCrossDayMapper.java
...o/mapper/judgeanalysis/AnalysisProblemCrossDayMapper.java
+8
-6
TrunkLineImpl.java
...in/java/net/wanji/opt/servicev2/implv2/TrunkLineImpl.java
+1
-2
AnalysisProblemCrossDayService.java
...rvicev2/judgeanalysis/AnalysisProblemCrossDayService.java
+9
-5
AnalysisProblemCrossDayServiceImpl.java
...udgeanalysis/impl/AnalysisProblemCrossDayServiceImpl.java
+190
-179
CrossOptAnalysisEntity.java
.../net/wanji/opt/synthesis/pojo/CrossOptAnalysisEntity.java
+9
-0
CrossOptAnalysisVO.java
...e/src/main/java/net/wanji/opt/vo2/CrossOptAnalysisVO.java
+16
-0
AnalysisProblemCrossDayMapper.xml
...es/mapper/judgeanalysis/AnalysisProblemCrossDayMapper.xml
+16
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/judgeanalysis/AnalysisProblemCrossDayController.java
View file @
d72ac13f
package
net
.
wanji
.
opt
.
controllerv2
.
judgeanalysis
;
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.*
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.i18n.I18nResourceBundle
;
import
net.wanji.common.framework.rest.JsonViewObject
;
...
...
@@ -16,11 +11,12 @@ import net.wanji.opt.controllerv2.judgeanalysis.design.response.crossproblem.Cro
import
net.wanji.opt.controllerv2.judgeanalysis.design.response.crossproblem.CrossProblemTimeDirReasonResult
;
import
net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay
;
import
net.wanji.opt.servicev2.judgeanalysis.AnalysisProblemCrossDayService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
net.wanji.opt.vo2.CrossOptAnalysisVO
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.ws.rs.core.MediaType
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -38,15 +34,9 @@ import java.util.Map;
@RequestMapping
(
"/analysis-problem-cross-day"
)
@Slf4j
public
class
AnalysisProblemCrossDayController
{
@Autowired
@Resource
private
AnalysisProblemCrossDayService
analysisProblemCrossDayService
;
@ApiOperation
(
value
=
"单路口-问题数量总览"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiImplicitParams
({
...
...
@@ -133,5 +123,26 @@ public class AnalysisProblemCrossDayController {
return
JsonViewObject
.
newInstance
().
success
(
null
);
}
@ApiOperation
(
value
=
"路口报警优化分析"
,
notes
=
"路口报警优化分析"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossID"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"date"
,
value
=
"日期"
,
required
=
true
,
dataType
=
"String"
),
})
@GetMapping
(
value
=
"/getCrossOptAnalysis"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CrossOptAnalysisVO
.
class
),
})
public
JsonViewObject
getCrossOptAnalysis
(
String
crossID
,
String
date
)
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
try
{
CrossOptAnalysisVO
info
=
analysisProblemCrossDayService
.
getCrossOptAnalysis
(
crossID
,
date
);
return
jsonViewObject
.
success
(
info
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取路口优化分析失败"
,
e
);
return
jsonViewObject
.
fail
(
"获取路口优化分析失败"
);
}
}
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/judgeanalysis/AnalysisProblemCrossDayMapper.java
View file @
d72ac13f
package
net
.
wanji
.
opt
.
dao
.
mapper
.
judgeanalysis
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay
;
import
net.wanji.opt.entity.judgeanalysis.CrossPoint
;
import
net.wanji.opt.synthesis.pojo.CrossOptAnalysisEntity
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
net.wanji.opt.entity.judgeanalysis.CrossPoint
;
import
org.apache.ibatis.annotations.Param
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
public
interface
AnalysisProblemCrossDayMapper
extends
BaseMapper
<
AnalysisProblemCrossDay
>{
/**
...
...
@@ -108,6 +107,9 @@ public interface AnalysisProblemCrossDayMapper extends BaseMapper<AnalysisProble
List
<
AnalysisProblemCrossDay
>
selectSingerByProblemTrend
(
Map
<
String
,
Object
>
map
);
/**
* 获取路口优化数据
*/
List
<
CrossOptAnalysisEntity
>
getCrossOptAnalysis
(
@Param
(
"crossID"
)
String
crossID
,
@Param
(
"date"
)
String
date
);
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/implv2/TrunkLineImpl.java
View file @
d72ac13f
...
...
@@ -7,7 +7,6 @@ import net.wanji.opt.synthesis.pojo.CrossRealTimeAlarmEntity;
import
net.wanji.opt.synthesis.pojo.TrunkLineCrossProblemEntity
;
import
net.wanji.opt.synthesis.pojo.TrunkLineProblemDescribeEntity
;
import
net.wanji.opt.synthesis.pojo.vo.CrossOrGreenWaveTypeEntity
;
import
net.wanji.opt.vo2.CrossRealTimeAlarmVO
;
import
net.wanji.opt.vo2.TrunkLineCrossProblemVO
;
import
org.springframework.stereotype.Service
;
...
...
@@ -144,7 +143,7 @@ public class TrunkLineImpl implements TrunkLineService {
* @param status 状态
* @return 方向状态数组[方向1, 状态1, 方向2, 状态2]
*/
p
ublic
String
[]
getDirStatus
(
Integer
inDir
,
Integer
outDir
,
String
[]
dirs
,
Integer
status
)
{
p
rivate
String
[]
getDirStatus
(
Integer
inDir
,
Integer
outDir
,
String
[]
dirs
,
Integer
status
)
{
Map
<
String
,
String
>
IODirMap
=
getDirName
(
inDir
,
outDir
);
String
[]
result
=
new
String
[
4
];
...
...
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/judgeanalysis/AnalysisProblemCrossDayService.java
View file @
d72ac13f
package
net
.
wanji
.
opt
.
servicev2
.
judgeanalysis
;
import
net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay
;
import
net.wanji.opt.vo2.CrossOptAnalysisVO
;
import
java.text.ParseException
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
/**
* <p>
...
...
@@ -69,5 +67,11 @@ public interface AnalysisProblemCrossDayService extends IService<AnalysisProblem
Map
<
String
,
Object
>
selectSingerByProblemTrend
(
String
crossId
,
Integer
startTime
,
Integer
endTime
)
throws
ParseException
;
/**
* 路口优化信息
*
* @param crossID 路口ID
* @param date 日期
*/
CrossOptAnalysisVO
getCrossOptAnalysis
(
String
crossID
,
String
date
);
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/judgeanalysis/impl/AnalysisProblemCrossDayServiceImpl.java
View file @
d72ac13f
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/pojo/CrossOptAnalysisEntity.java
0 → 100644
View file @
d72ac13f
package
net
.
wanji
.
opt
.
synthesis
.
pojo
;
import
lombok.Data
;
@Data
public
class
CrossOptAnalysisEntity
{
private
String
status
;
private
Integer
num
;
}
signal-optimize-service/src/main/java/net/wanji/opt/vo2/CrossOptAnalysisVO.java
0 → 100644
View file @
d72ac13f
package
net
.
wanji
.
opt
.
vo2
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"CrossOptAnalysisVO"
,
description
=
"优化分析-路口报警优化分析"
)
public
class
CrossOptAnalysisVO
{
@ApiModelProperty
(
value
=
"优化总数"
)
private
Integer
total
=
0
;
@ApiModelProperty
(
value
=
"已优化"
)
private
Integer
optimized
=
0
;
@ApiModelProperty
(
value
=
"未优化"
)
private
Integer
unoptimized
=
0
;
}
signal-optimize-service/src/main/resources/mapper/judgeanalysis/AnalysisProblemCrossDayMapper.xml
View file @
d72ac13f
...
...
@@ -338,6 +338,22 @@
GROUP BY dt, t1.event_type
ORDER BY dt
</select>
<select
id=
"getCrossOptAnalysis"
parameterType=
"map"
resultType=
"net.wanji.opt.synthesis.pojo.CrossOptAnalysisEntity"
>
select (
case
t.opt_status
when 0 then '未优化'
when 1 then '已优化'
end
) status,
count(0) num
from t_event_optimize_info t
where 1 = 1
and t.cross_id = #{crossID}
and t.dt = #{date}
group by status
</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