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
a9ca0b81
Commit
a9ca0b81
authored
Feb 08, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[udpate] 动态检测-信号机故障与区域查询列表优化
parent
78f1410b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
59 additions
and
6 deletions
+59
-6
SituationDetectionController.java
...et/wanji/web/controller/SituationDetectionController.java
+10
-2
CrossIdNameDTO.java
...rvice/src/main/java/net/wanji/web/dto/CrossIdNameDTO.java
+18
-0
SituationDetectionServiceImpl.java
...wanji/web/service/impl/SituationDetectionServiceImpl.java
+13
-3
AreaListVO.java
.../java/net/wanji/web/vo/situationDetection/AreaListVO.java
+5
-1
SignalFaultInfoVO.java
...et/wanji/web/vo/situationDetection/SignalFaultInfoVO.java
+13
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/SituationDetectionController.java
View file @
a9ca0b81
...
@@ -6,6 +6,7 @@ import net.wanji.feign.pojo.result.JsonViewObject;
...
@@ -6,6 +6,7 @@ import net.wanji.feign.pojo.result.JsonViewObject;
import
net.wanji.web.entity.TDeviceStatusLog
;
import
net.wanji.web.entity.TDeviceStatusLog
;
import
net.wanji.web.service.SituationDetectionService
;
import
net.wanji.web.service.SituationDetectionService
;
import
net.wanji.web.vo.situationDetection.*
;
import
net.wanji.web.vo.situationDetection.*
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -187,8 +188,15 @@ public class SituationDetectionController extends BaseController {
...
@@ -187,8 +188,15 @@ public class SituationDetectionController extends BaseController {
@GetMapping
(
"/listSignalFaultInfos"
)
@GetMapping
(
"/listSignalFaultInfos"
)
public
JsonViewObject
listSignalFaultInfos
()
{
public
JsonViewObject
listSignalFaultInfos
()
{
List
<
TDeviceStatusLog
>
tDeviceStatusInfos
=
situationDetectionService
.
listSignalFaultInfos
();
List
<
TDeviceStatusLog
>
tDeviceStatusInfos
=
situationDetectionService
.
listSignalFaultInfos
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
List
<
SignalFaultInfoVO
>
signalFaultInfoVOS
=
new
ArrayList
<>(
tDeviceStatusInfos
.
size
());
return
jsonViewObject
.
success
(
tDeviceStatusInfos
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
tDeviceStatusInfos
.
forEach
(
tDeviceStatusLog
->
{
SignalFaultInfoVO
signalFaultInfoVO
=
new
SignalFaultInfoVO
();
BeanUtils
.
copyProperties
(
tDeviceStatusLog
,
signalFaultInfoVO
);
signalFaultInfoVO
.
setStartTime
(
tDeviceStatusLog
.
getGmtCreate
().
toString
().
substring
(
11
,
19
));
signalFaultInfoVOS
.
add
(
signalFaultInfoVO
);
});
return
jsonViewObject
.
success
(
signalFaultInfoVOS
);
}
}
@ApiOperation
(
value
=
"信号机故障统计"
,
notes
=
"信号机故障统计"
)
@ApiOperation
(
value
=
"信号机故障统计"
,
notes
=
"信号机故障统计"
)
...
...
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdNameDTO.java
0 → 100644
View file @
a9ca0b81
package
net
.
wanji
.
web
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author duanruiming
* @date 2023/02/08 9:03
*/
@Data
@ApiModel
(
value
=
"路口名称实体"
,
description
=
"路口名称实体"
)
public
class
CrossIdNameDTO
{
@ApiModelProperty
(
value
=
"路口编号"
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"路口名称"
)
private
String
crossName
;
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/service/impl/SituationDetectionServiceImpl.java
View file @
a9ca0b81
...
@@ -16,6 +16,7 @@ import net.wanji.feign.service.UtcFeignClients;
...
@@ -16,6 +16,7 @@ import net.wanji.feign.service.UtcFeignClients;
import
net.wanji.web.common.enums.*
;
import
net.wanji.web.common.enums.*
;
import
net.wanji.web.common.util.CrossUtil
;
import
net.wanji.web.common.util.CrossUtil
;
import
net.wanji.web.common.util.StringUtils
;
import
net.wanji.web.common.util.StringUtils
;
import
net.wanji.web.dto.CrossIdNameDTO
;
import
net.wanji.web.entity.*
;
import
net.wanji.web.entity.*
;
import
net.wanji.web.mapper.*
;
import
net.wanji.web.mapper.*
;
import
net.wanji.web.po.*
;
import
net.wanji.web.po.*
;
...
@@ -457,6 +458,9 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -457,6 +458,9 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
// key:辖区编号 value:路口列表
// key:辖区编号 value:路口列表
Map
<
Integer
,
List
<
TBaseAreaCross
>>
areaIdMap
=
entityList
.
stream
().
collect
(
Collectors
.
groupingBy
(
TBaseAreaCross:
:
getAreaId
));
Map
<
Integer
,
List
<
TBaseAreaCross
>>
areaIdMap
=
entityList
.
stream
().
collect
(
Collectors
.
groupingBy
(
TBaseAreaCross:
:
getAreaId
));
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<>());
Map
<
String
,
String
>
crossIdNameMap
=
tBaseCrossInfos
.
stream
().
collect
(
Collectors
.
toMap
(
TBaseCrossInfo:
:
getId
,
TBaseCrossInfo:
:
getName
));
// 辖区列表
// 辖区列表
LambdaQueryWrapper
<
TBaseAreaInfo
>
tBaseAreaInfoLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
TBaseAreaInfo
>
tBaseAreaInfoLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
tBaseAreaInfoLambdaQueryWrapper
.
eq
(
TBaseAreaInfo:
:
getType
,
2
);
tBaseAreaInfoLambdaQueryWrapper
.
eq
(
TBaseAreaInfo:
:
getType
,
2
);
...
@@ -465,19 +469,25 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -465,19 +469,25 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
// 构建区域返回列表
// 构建区域返回列表
for
(
Map
.
Entry
<
Integer
,
List
<
TBaseAreaCross
>>
entry
:
areaIdMap
.
entrySet
())
{
for
(
Map
.
Entry
<
Integer
,
List
<
TBaseAreaCross
>>
entry
:
areaIdMap
.
entrySet
())
{
AreaListVO
areaListVO
=
new
AreaListVO
();
AreaListVO
areaListVO
=
new
AreaListVO
();
Set
<
String
>
crossIds
=
new
HashSet
<>();
Set
<
CrossIdNameDTO
>
crossSet
=
new
HashSet
<>();
Set
<
String
>
ployLines
=
new
HashSet
<>();
Set
<
String
>
ployLines
=
new
HashSet
<>();
List
<
TBaseAreaCross
>
crosseList
=
entry
.
getValue
();
List
<
TBaseAreaCross
>
crosseList
=
entry
.
getValue
();
String
areaName
=
null
;
for
(
TBaseAreaCross
tBaseAreaCross
:
crosseList
)
{
for
(
TBaseAreaCross
tBaseAreaCross
:
crosseList
)
{
for
(
TBaseAreaInfo
tBaseAreaInfo
:
jurisdictionAreaList
)
{
for
(
TBaseAreaInfo
tBaseAreaInfo
:
jurisdictionAreaList
)
{
if
(
Objects
.
equals
(
tBaseAreaCross
.
getAreaId
(),
tBaseAreaInfo
.
getCode
()))
{
if
(
Objects
.
equals
(
tBaseAreaCross
.
getAreaId
(),
tBaseAreaInfo
.
getCode
()))
{
crossIds
.
add
(
tBaseAreaCross
.
getCrossId
());
areaName
=
tBaseAreaInfo
.
getName
();
CrossIdNameDTO
crossIdNameDTO
=
new
CrossIdNameDTO
();
crossIdNameDTO
.
setCrossId
(
tBaseAreaCross
.
getCrossId
());
crossIdNameDTO
.
setCrossName
(
crossIdNameMap
.
get
(
tBaseAreaCross
.
getCrossId
()));
crossSet
.
add
(
crossIdNameDTO
);
ployLines
.
add
(
tBaseAreaInfo
.
getPolylines
());
ployLines
.
add
(
tBaseAreaInfo
.
getPolylines
());
}
}
}
}
}
}
areaListVO
.
setCrossI
ds
(
crossIds
);
areaListVO
.
setCrossI
nfos
(
crossSet
);
areaListVO
.
setPloyLines
(
ployLines
);
areaListVO
.
setPloyLines
(
ployLines
);
areaListVO
.
setAreaName
(
areaName
);
results
.
add
(
areaListVO
);
results
.
add
(
areaListVO
);
}
}
...
...
signal-control-service/src/main/java/net/wanji/web/vo/situationDetection/AreaListVO.java
View file @
a9ca0b81
...
@@ -3,6 +3,7 @@ package net.wanji.web.vo.situationDetection;
...
@@ -3,6 +3,7 @@ package net.wanji.web.vo.situationDetection;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
net.wanji.web.dto.CrossIdNameDTO
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -14,8 +15,11 @@ import java.util.Set;
...
@@ -14,8 +15,11 @@ import java.util.Set;
@ApiModel
(
value
=
"区域列表实体"
,
description
=
"区域列表实体"
)
@ApiModel
(
value
=
"区域列表实体"
,
description
=
"区域列表实体"
)
public
class
AreaListVO
{
public
class
AreaListVO
{
@ApiModelProperty
(
value
=
"区域路口编号列表"
)
@ApiModelProperty
(
value
=
"区域路口编号列表"
)
private
Set
<
String
>
crossId
s
;
private
Set
<
CrossIdNameDTO
>
crossInfo
s
;
@ApiModelProperty
(
value
=
"区域点列表"
)
@ApiModelProperty
(
value
=
"区域点列表"
)
private
Set
<
String
>
ployLines
;
private
Set
<
String
>
ployLines
;
@ApiModelProperty
(
value
=
"区域名称"
)
private
String
areaName
;
}
}
signal-control-service/src/main/java/net/wanji/web/vo/situationDetection/SignalFaultInfoVO.java
0 → 100644
View file @
a9ca0b81
package
net
.
wanji
.
web
.
vo
.
situationDetection
;
import
lombok.Data
;
import
net.wanji.web.entity.TDeviceStatusInfo
;
/**
* @author duanruiming
* @date 2023/02/08 9:45
*/
@Data
public
class
SignalFaultInfoVO
extends
TDeviceStatusInfo
{
private
String
startTime
;
}
\ No newline at end of file
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