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
990fb7b6
Commit
990fb7b6
authored
Feb 07, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[udpate] 辖区分组逻辑优化
parent
d2925aa3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
62 additions
and
30 deletions
+62
-30
SituationDetectionController.java
...et/wanji/web/controller/SituationDetectionController.java
+3
-4
TBaseAreaInfoMapper.java
...c/main/java/net/wanji/web/mapper/TBaseAreaInfoMapper.java
+0
-2
SituationDetectionService.java
...java/net/wanji/web/service/SituationDetectionService.java
+1
-3
SituationDetectionServiceImpl.java
...wanji/web/service/impl/SituationDetectionServiceImpl.java
+35
-16
JurisdictionAreaVO.java
...t/wanji/web/vo/situationDetection/JurisdictionAreaVO.java
+23
-0
TBaseAreaInfoMapper.xml
...service/src/main/resources/mapper/TBaseAreaInfoMapper.xml
+0
-5
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/SituationDetectionController.java
View file @
990fb7b6
...
...
@@ -4,7 +4,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.entity.TDeviceStatusLog
;
import
net.wanji.web.po.AreaTreePO
;
import
net.wanji.web.service.SituationDetectionService
;
import
net.wanji.web.vo.situationDetection.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -170,10 +169,10 @@ public class SituationDetectionController extends BaseController {
@ApiOperation
(
value
=
"辖区分组"
,
notes
=
"辖区分组"
)
@GetMapping
(
"/jurisdictionTree"
)
public
JsonViewObject
jurisdictionTree
()
{
List
<
AreaTreePO
>
areaTreePOS
=
situationDetectionService
.
jurisdictionTree
(
);
public
JsonViewObject
jurisdictionTree
(
Integer
areaId
)
{
List
<
JurisdictionAreaVO
>
result
=
situationDetectionService
.
jurisdictionTree
(
areaId
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
areaTreePOS
);
return
jsonViewObject
.
success
(
result
);
}
@ApiOperation
(
value
=
"查询区域列表"
,
notes
=
"查询区域列表"
)
...
...
signal-control-service/src/main/java/net/wanji/web/mapper/TBaseAreaInfoMapper.java
View file @
990fb7b6
...
...
@@ -34,6 +34,4 @@ public interface TBaseAreaInfoMapper extends BaseMapper<TBaseAreaInfo> {
List
<
AreaTreePO
>
selectAreaTree
();
List
<
AreaTreePO
>
selectJurisdictionArea
();
}
signal-control-service/src/main/java/net/wanji/web/service/SituationDetectionService.java
View file @
990fb7b6
package
net
.
wanji
.
web
.
service
;
import
net.wanji.web.vo.situationDetection.SignalOperationModeVO
;
import
net.wanji.web.entity.TBaseCrossInfo
;
import
net.wanji.web.entity.TDeviceStatusLog
;
import
net.wanji.web.po.AreaTreePO
;
import
net.wanji.web.vo.situationDetection.*
;
import
java.text.ParseException
;
...
...
@@ -38,7 +36,7 @@ public interface SituationDetectionService {
TBaseCrossInfo
selectCrossInfoById
(
String
signalId
);
List
<
AreaTreePO
>
jurisdictionTree
(
);
List
<
JurisdictionAreaVO
>
jurisdictionTree
(
Integer
areaId
);
List
<
AreaListVO
>
selectAreaList
(
Integer
areaId
);
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/SituationDetectionServiceImpl.java
View file @
990fb7b6
...
...
@@ -402,26 +402,45 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
}
@Override
public
List
<
AreaTreePO
>
jurisdictionTree
()
{
// 行政列表
List
<
AreaTreePO
>
areaTreePOS
=
tBaseCrossInfoService
.
areaTree
();
List
<
AreaTreePO
>
resultList
=
areaTreePOS
.
stream
().
filter
(
areaTreePO
->
areaTreePO
.
getChildren
()
!=
null
).
collect
(
Collectors
.
toList
());
public
List
<
JurisdictionAreaVO
>
jurisdictionTree
(
Integer
areaId
)
{
List
<
JurisdictionAreaVO
>
resultList
=
new
ArrayList
<>();
// 辖区构建
List
<
AreaTreePO
>
jurisdictionAreaList
=
tBaseAreaInfoMapper
.
selectJurisdictionArea
();
jurisdictionAreaList
.
forEach
(
areaTreePO
->
areaTreePO
.
setLevel
(
3
));
Map
<
Integer
,
List
<
AreaTreePO
>>
parentCodeListMap
=
jurisdictionAreaList
.
stream
().
collect
(
Collectors
.
groupingBy
(
AreaTreePO:
:
getParentCode
));
for
(
AreaTreePO
areaTreePO
:
resultList
)
{
areaTreePO
.
setLevel
(
1
);
List
<
AreaTreePO
>
childrenList
=
areaTreePO
.
getChildren
();
for
(
AreaTreePO
child
:
childrenList
)
{
Integer
areaCode
=
child
.
getAreaCode
();
child
.
setLevel
(
2
);
if
(!
parentCodeListMap
.
isEmpty
()
&&
parentCodeListMap
.
containsKey
(
areaCode
))
{
child
.
setChildren
(
parentCodeListMap
.
get
(
areaCode
));
LambdaQueryWrapper
<
TBaseAreaInfo
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
TBaseAreaInfo:
:
getType
,
2
);
List
<
TBaseAreaInfo
>
tBaseAreaInfos
=
tBaseAreaInfoMapper
.
selectList
(
queryWrapper
);
LambdaQueryWrapper
<
TBaseAreaCross
>
crossQuery
=
new
LambdaQueryWrapper
<>();
List
<
TBaseAreaCross
>
tBaseAreaCrosses
=
tBaseAreaCrossMapper
.
selectList
(
crossQuery
);
LambdaQueryWrapper
<
TBaseCrossInfo
>
crossInfoQuery
=
new
LambdaQueryWrapper
<>();
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
crossInfoQuery
);
Map
<
Integer
,
List
<
TBaseAreaCross
>>
areaIdMap
=
tBaseAreaCrosses
.
stream
().
collect
(
Collectors
.
groupingBy
(
TBaseAreaCross:
:
getAreaId
));
for
(
TBaseAreaInfo
tBaseAreaInfo
:
tBaseAreaInfos
)
{
JurisdictionAreaVO
jurisdictionAreaVO
=
new
JurisdictionAreaVO
();
Integer
currentAreaId
=
tBaseAreaInfo
.
getCode
();
jurisdictionAreaVO
.
setAreaId
(
currentAreaId
);
jurisdictionAreaVO
.
setAreaName
(
tBaseAreaInfo
.
getName
());
List
<
TBaseCrossInfo
>
crossInfoList
=
new
ArrayList
<>();
if
(!
areaIdMap
.
isEmpty
())
{
List
<
TBaseAreaCross
>
areaCrossList
=
areaIdMap
.
get
(
currentAreaId
);
if
(!
CollectionUtils
.
isEmpty
(
areaCrossList
))
{
List
<
String
>
crossList
=
areaCrossList
.
stream
().
map
(
TBaseAreaCross:
:
getCrossId
).
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
tBaseCrossInfos
))
{
for
(
TBaseCrossInfo
tBaseCrossInfo
:
tBaseCrossInfos
)
{
if
(
crossList
.
contains
(
tBaseCrossInfo
.
getId
()))
{
crossInfoList
.
add
(
tBaseCrossInfo
);
}
}
}
}
}
jurisdictionAreaVO
.
setCrossInfoList
(
crossInfoList
);
resultList
.
add
(
jurisdictionAreaVO
);
}
return
resultList
;
}
...
...
signal-control-service/src/main/java/net/wanji/web/vo/situationDetection/JurisdictionAreaVO.java
0 → 100644
View file @
990fb7b6
package
net
.
wanji
.
web
.
vo
.
situationDetection
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.wanji.web.entity.TBaseCrossInfo
;
import
java.util.List
;
/**
* @author duanruiming
* @date 2023/02/07 18:52
*/
@Data
@ApiModel
(
value
=
"辖区实体"
)
public
class
JurisdictionAreaVO
{
@ApiModelProperty
(
value
=
"辖区编号"
)
private
Integer
areaId
;
@ApiModelProperty
(
value
=
"辖区名称"
)
private
String
areaName
;
@ApiModelProperty
(
value
=
"路口信息列表"
)
private
List
<
TBaseCrossInfo
>
crossInfoList
;
}
signal-control-service/src/main/resources/mapper/TBaseAreaInfoMapper.xml
View file @
990fb7b6
...
...
@@ -160,10 +160,5 @@
select id, code areaCode, name areaName, parent_code parentCode
from t_base_area_info where type = 1
</select>
<!-- 查询交警辖区 -->
<select
id=
"selectJurisdictionArea"
resultType=
"net.wanji.web.po.AreaTreePO"
>
select id, code areaCode, name areaName, parent_code parentCode
from t_base_area_info where type = 2
</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