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
cab74a3f
Commit
cab74a3f
authored
Feb 08, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[udpate] 辖区分组优化 信号机和辖区组合
parent
4756e4fc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
80 additions
and
26 deletions
+80
-26
SituationDetectionController.java
...et/wanji/web/controller/SituationDetectionController.java
+1
-1
SituationDetectionService.java
...java/net/wanji/web/service/SituationDetectionService.java
+1
-1
SituationDetectionServiceImpl.java
...wanji/web/service/impl/SituationDetectionServiceImpl.java
+46
-24
JurisdictionAreaTreeVO.java
...nji/web/vo/situationDetection/JurisdictionAreaTreeVO.java
+32
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/SituationDetectionController.java
View file @
cab74a3f
...
@@ -169,7 +169,7 @@ public class SituationDetectionController extends BaseController {
...
@@ -169,7 +169,7 @@ public class SituationDetectionController extends BaseController {
@ApiOperation
(
value
=
"辖区分组"
,
notes
=
"辖区分组"
)
@ApiOperation
(
value
=
"辖区分组"
,
notes
=
"辖区分组"
)
@GetMapping
(
"/jurisdictionTree"
)
@GetMapping
(
"/jurisdictionTree"
)
public
JsonViewObject
jurisdictionTree
(
Integer
areaId
)
{
public
JsonViewObject
jurisdictionTree
(
Integer
areaId
)
{
List
<
JurisdictionAreaVO
>
result
=
situationDetectionService
.
jurisdictionTree
(
areaId
);
List
<
JurisdictionArea
Tree
VO
>
result
=
situationDetectionService
.
jurisdictionTree
(
areaId
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
result
);
return
jsonViewObject
.
success
(
result
);
}
}
...
...
signal-control-service/src/main/java/net/wanji/web/service/SituationDetectionService.java
View file @
cab74a3f
...
@@ -35,7 +35,7 @@ public interface SituationDetectionService {
...
@@ -35,7 +35,7 @@ public interface SituationDetectionService {
TBaseCrossInfo
selectCrossInfoById
(
String
signalId
);
TBaseCrossInfo
selectCrossInfoById
(
String
signalId
);
List
<
JurisdictionAreaVO
>
jurisdictionTree
(
Integer
areaId
);
List
<
JurisdictionArea
Tree
VO
>
jurisdictionTree
(
Integer
areaId
);
List
<
AreaListVO
>
selectAreaList
(
Integer
areaId
);
List
<
AreaListVO
>
selectAreaList
(
Integer
areaId
);
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/SituationDetectionServiceImpl.java
View file @
cab74a3f
...
@@ -403,11 +403,14 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -403,11 +403,14 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
}
}
@Override
@Override
public
List
<
JurisdictionAreaVO
>
jurisdictionTree
(
Integer
areaId
)
{
public
List
<
JurisdictionArea
Tree
VO
>
jurisdictionTree
(
Integer
areaId
)
{
List
<
JurisdictionAreaVO
>
resultList
=
new
ArrayList
<>();
List
<
JurisdictionArea
Tree
VO
>
resultList
=
new
ArrayList
<>();
// 辖区构建
// 辖区构建
LambdaQueryWrapper
<
TBaseAreaInfo
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
TBaseAreaInfo
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
TBaseAreaInfo:
:
getType
,
2
);
queryWrapper
.
eq
(
TBaseAreaInfo:
:
getType
,
2
);
if
(
Objects
.
nonNull
(
areaId
))
{
queryWrapper
.
eq
(
TBaseAreaInfo:
:
getCode
,
areaId
);
}
List
<
TBaseAreaInfo
>
tBaseAreaInfos
=
tBaseAreaInfoMapper
.
selectList
(
queryWrapper
);
List
<
TBaseAreaInfo
>
tBaseAreaInfos
=
tBaseAreaInfoMapper
.
selectList
(
queryWrapper
);
LambdaQueryWrapper
<
TBaseAreaCross
>
crossQuery
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
TBaseAreaCross
>
crossQuery
=
new
LambdaQueryWrapper
<>();
...
@@ -416,34 +419,53 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -416,34 +419,53 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
LambdaQueryWrapper
<
TBaseCrossInfo
>
crossInfoQuery
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
TBaseCrossInfo
>
crossInfoQuery
=
new
LambdaQueryWrapper
<>();
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
crossInfoQuery
);
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
crossInfoQuery
);
Map
<
Integer
,
List
<
TBaseAreaCross
>>
areaIdMap
=
tBaseAreaCrosses
.
stream
().
collect
(
Collectors
.
groupingBy
(
TBaseAreaCross:
:
getAreaId
));
for
(
TBaseAreaInfo
parent
:
tBaseAreaInfos
)
{
for
(
TBaseAreaInfo
tBaseAreaInfo
:
tBaseAreaInfos
)
{
JurisdictionAreaTreeVO
jurisdictionAreaVO
=
new
JurisdictionAreaTreeVO
();
JurisdictionAreaVO
jurisdictionAreaVO
=
new
JurisdictionAreaVO
();
jurisdictionAreaVO
.
setId
(
String
.
valueOf
(
parent
.
getCode
()));
Integer
currentAreaId
=
tBaseAreaInfo
.
getCode
();
jurisdictionAreaVO
.
setName
(
parent
.
getName
());
jurisdictionAreaVO
.
setType
(
"1"
);
jurisdictionAreaVO
.
setAreaId
(
currentAreaId
);
jurisdictionAreaVO
.
setPolylines
(
parent
.
getPolylines
());
jurisdictionAreaVO
.
setAreaName
(
tBaseAreaInfo
.
getName
());
jurisdictionAreaVO
.
setLevel
(
parent
.
getParentCode
()
==
0
?
1
:
null
);
jurisdictionAreaVO
.
setPolylines
(
tBaseAreaInfo
.
getPolylines
());
jurisdictionAreaVO
.
setParentCode
(
String
.
valueOf
(
parent
.
getParentCode
()));
List
<
TBaseCrossInfo
>
crossInfoList
=
new
ArrayList
<>();
jurisdictionAreaVO
.
setChlidren
(
null
);
resultList
.
add
(
jurisdictionAreaVO
);
if
(!
areaIdMap
.
isEmpty
())
{
}
List
<
TBaseAreaCross
>
areaCrossList
=
areaIdMap
.
get
(
currentAreaId
);
for
(
TBaseAreaInfo
parent
:
tBaseAreaInfos
)
{
if
(!
CollectionUtils
.
isEmpty
(
areaCrossList
))
{
Integer
parentCode
=
parent
.
getCode
();
List
<
String
>
crossList
=
areaCrossList
.
stream
().
map
(
TBaseAreaCross:
:
getCrossId
).
collect
(
Collectors
.
toList
());
for
(
TBaseAreaCross
tBaseAreaCross
:
tBaseAreaCrosses
)
{
if
(!
CollectionUtils
.
isEmpty
(
tBaseCrossInfos
))
{
if
(
Objects
.
equals
(
parentCode
,
tBaseAreaCross
.
getAreaId
()))
{
for
(
TBaseCrossInfo
tBaseCrossInfo
:
tBaseCrossInfos
)
{
JurisdictionAreaTreeVO
signalAreaVO
=
new
JurisdictionAreaTreeVO
();
if
(
crossList
.
contains
(
tBaseCrossInfo
.
getId
()))
{
signalAreaVO
.
setId
(
tBaseAreaCross
.
getCrossId
());
crossInfoList
.
add
(
tBaseCrossInfo
);
String
name
=
null
;
}
for
(
TBaseCrossInfo
tBaseCrossInfo
:
tBaseCrossInfos
)
{
if
(
StringUtils
.
equals
(
tBaseCrossInfo
.
getId
(),
tBaseAreaCross
.
getCrossId
()))
{
name
=
tBaseCrossInfo
.
getName
();
break
;
}
}
}
}
signalAreaVO
.
setName
(
name
);
signalAreaVO
.
setType
(
"2"
);
signalAreaVO
.
setPolylines
(
""
);
signalAreaVO
.
setParentCode
(
String
.
valueOf
(
parentCode
));
signalAreaVO
.
setChlidren
(
null
);
resultList
.
add
(
signalAreaVO
);
}
}
}
}
jurisdictionAreaVO
.
setCrossInfoList
(
crossInfoList
);
resultList
.
add
(
jurisdictionAreaVO
);
}
}
return
resultList
;
Map
<
String
,
List
<
JurisdictionAreaTreeVO
>>
map
=
resultList
.
stream
().
collect
(
Collectors
.
groupingBy
(
JurisdictionAreaTreeVO:
:
getParentCode
));
for
(
JurisdictionAreaTreeVO
jurisdictionAreaTreeVO
:
resultList
)
{
for
(
Map
.
Entry
<
String
,
List
<
JurisdictionAreaTreeVO
>>
entry
:
map
.
entrySet
())
{
if
(
Objects
.
equals
(
jurisdictionAreaTreeVO
.
getId
(),
entry
.
getKey
()))
{
jurisdictionAreaTreeVO
.
setChlidren
(
entry
.
getValue
());
break
;
}
}
}
List
<
JurisdictionAreaTreeVO
>
collect
=
resultList
.
stream
().
filter
(
jurisdictionAreaTreeVO
->
jurisdictionAreaTreeVO
.
getChlidren
()
!=
null
).
collect
(
Collectors
.
toList
());
return
collect
;
}
}
@Override
@Override
...
...
signal-control-service/src/main/java/net/wanji/web/vo/situationDetection/JurisdictionAreaVO.java
→
signal-control-service/src/main/java/net/wanji/web/vo/situationDetection/JurisdictionArea
Tree
VO.java
View file @
cab74a3f
...
@@ -3,7 +3,6 @@ package net.wanji.web.vo.situationDetection;
...
@@ -3,7 +3,6 @@ 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.entity.TBaseCrossInfo
;
import
java.util.List
;
import
java.util.List
;
...
@@ -13,13 +12,21 @@ import java.util.List;
...
@@ -13,13 +12,21 @@ import java.util.List;
*/
*/
@Data
@Data
@ApiModel
(
value
=
"辖区实体"
)
@ApiModel
(
value
=
"辖区实体"
)
public
class
JurisdictionAreaVO
{
public
class
JurisdictionAreaTreeVO
{
@ApiModelProperty
(
value
=
"辖区编号"
)
@ApiModelProperty
(
value
=
"编号"
)
private
Integer
areaId
;
private
String
Id
;
@ApiModelProperty
(
value
=
"辖区名称"
)
@ApiModelProperty
(
value
=
"名称"
)
private
String
areaName
;
private
String
name
;
@ApiModelProperty
(
value
=
"区域边界"
)
@ApiModelProperty
(
value
=
"类型:1-辖区;2-信号机"
)
private
String
type
;
@ApiModelProperty
(
value
=
"区域边界:辖区:区域边界; 信号机:经纬度"
)
private
String
polylines
;
private
String
polylines
;
@ApiModelProperty
(
value
=
"路口信息列表"
)
@ApiModelProperty
(
value
=
"级别"
)
private
List
<
TBaseCrossInfo
>
crossInfoList
;
private
Integer
level
;
@ApiModelProperty
(
value
=
"区域级别"
)
private
String
parentCode
;
@ApiModelProperty
(
value
=
"信号机状态:0离线; 1在线;2故障"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"子辖区"
)
private
List
<
JurisdictionAreaTreeVO
>
chlidren
;
}
}
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