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
c9d68dbc
Commit
c9d68dbc
authored
Apr 03, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 辖区分组优化
parent
25e48b25
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
29 deletions
+20
-29
SituationDetectionController.java
...et/wanji/web/controller/SituationDetectionController.java
+2
-2
SituationDetectionService.java
...java/net/wanji/web/service/SituationDetectionService.java
+1
-1
SituationDetectionServiceImpl.java
...wanji/web/service/impl/SituationDetectionServiceImpl.java
+9
-20
SignalStatusTask.java
...ce/src/main/java/net/wanji/web/task/SignalStatusTask.java
+8
-6
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/SituationDetectionController.java
View file @
c9d68dbc
...
...
@@ -173,8 +173,8 @@ public class SituationDetectionController extends BaseController {
@AspectLog
(
description
=
"辖区分组"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"辖区分组"
,
notes
=
"辖区分组"
)
@GetMapping
(
"/jurisdictionTree"
)
public
JsonViewObject
jurisdictionTree
(
Integer
areaId
)
throws
Exception
{
List
<
JurisdictionAreaTreeVO
>
result
=
situationDetectionService
.
jurisdictionTree
(
areaId
);
public
JsonViewObject
jurisdictionTree
(
Integer
areaId
,
Integer
type
)
throws
Exception
{
List
<
JurisdictionAreaTreeVO
>
result
=
situationDetectionService
.
jurisdictionTree
(
areaId
,
type
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
result
);
}
...
...
signal-control-service/src/main/java/net/wanji/web/service/SituationDetectionService.java
View file @
c9d68dbc
...
...
@@ -36,7 +36,7 @@ public interface SituationDetectionService {
CrossInfoPO
selectCrossInfoById
(
String
signalId
);
List
<
JurisdictionAreaTreeVO
>
jurisdictionTree
(
Integer
areaId
)
throws
Exception
;
List
<
JurisdictionAreaTreeVO
>
jurisdictionTree
(
Integer
areaId
,
Integer
type
)
throws
Exception
;
List
<
AreaListVO
>
selectAreaList
(
Integer
areaId
);
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/SituationDetectionServiceImpl.java
View file @
c9d68dbc
...
...
@@ -408,25 +408,24 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
}
@Override
public
List
<
JurisdictionAreaTreeVO
>
jurisdictionTree
(
Integer
areaId
)
throws
Exception
{
public
List
<
JurisdictionAreaTreeVO
>
jurisdictionTree
(
Integer
areaId
,
Integer
type
)
throws
Exception
{
List
<
JurisdictionAreaTreeVO
>
resultList
=
new
ArrayList
<>();
// 辖区构建
LambdaQueryWrapper
<
TBaseAreaInfo
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
TBaseAreaInfo:
:
getType
,
2
);
queryWrapper
.
eq
(
TBaseAreaInfo:
:
getType
,
type
);
if
(
Objects
.
nonNull
(
areaId
))
{
queryWrapper
.
eq
(
TBaseAreaInfo:
:
getCode
,
areaId
);
}
List
<
TBaseAreaInfo
>
tBaseAreaInfos
=
tBaseAreaInfoMapper
.
selectList
(
queryWrapper
);
List
<
Integer
>
areadCodeList
=
tBaseAreaInfos
.
stream
().
map
(
TBaseAreaInfo:
:
getCode
).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
TBaseAreaCross
>
crossQuery
=
new
LambdaQueryWrapper
<>();
crossQuery
.
in
(
TBaseAreaCross:
:
getAreaId
,
areadCodeList
);
List
<
TBaseAreaCross
>
tBaseAreaCrosses
=
tBaseAreaCrossMapper
.
selectList
(
crossQuery
);
LambdaQueryWrapper
<
TBaseCrossInfo
>
crossInfoQuery
=
new
LambdaQueryWrapper
<>();
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
crossInfoQuery
);
List
<
CrossInfoOutVo
>
crossInfoOutVoList
=
getCrossInfoOutVoList
(
new
CrossInfoPageVO
());
getJurisdictionAreaTreeVO
(
resultList
,
tBaseAreaInfos
,
tBaseAreaCrosses
,
tBaseCrossInfos
,
crossInfoOutVoList
);
getJurisdictionAreaTreeVO
(
resultList
,
tBaseAreaInfos
,
tBaseAreaCrosses
,
tBaseCrossInfos
);
// 构建树结构
Map
<
String
,
List
<
JurisdictionAreaTreeVO
>>
map
=
resultList
.
stream
().
collect
(
Collectors
.
groupingBy
(
JurisdictionAreaTreeVO:
:
getParentCode
));
...
...
@@ -453,8 +452,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
* @param tBaseCrossInfos
*/
private
static
void
getJurisdictionAreaTreeVO
(
List
<
JurisdictionAreaTreeVO
>
resultList
,
List
<
TBaseAreaInfo
>
tBaseAreaInfos
,
List
<
TBaseAreaCross
>
tBaseAreaCrosses
,
List
<
TBaseCrossInfo
>
tBaseCrossInfos
,
List
<
CrossInfoOutVo
>
crossInfoOutVoList
)
{
List
<
TBaseAreaCross
>
tBaseAreaCrosses
,
List
<
TBaseCrossInfo
>
tBaseCrossInfos
)
{
// 构建辖区实体
for
(
TBaseAreaInfo
parent
:
tBaseAreaInfos
)
{
JurisdictionAreaTreeVO
jurisdictionAreaVO
=
new
JurisdictionAreaTreeVO
();
...
...
@@ -475,18 +473,8 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
jurisdictionAreaVO
.
setId
(
String
.
valueOf
(
crossInfo
.
getId
()));
jurisdictionAreaVO
.
setName
(
crossInfo
.
getName
());
jurisdictionAreaVO
.
setType
(
"2"
);
String
name
=
null
;
String
location
=
null
;
for
(
TBaseCrossInfo
tBaseCrossInfo
:
tBaseCrossInfos
)
{
if
(
StringUtils
.
equals
(
tBaseCrossInfo
.
getId
(),
crossInfo
.
getId
()))
{
name
=
tBaseCrossInfo
.
getName
();
location
=
tBaseCrossInfo
.
getLocation
();
if
(
location
.
contains
(
"POINT"
))
{
location
=
location
.
replace
(
"POINT("
,
""
).
replace
(
" "
,
","
).
replace
(
")"
,
""
);
}
}
}
jurisdictionAreaVO
.
setName
(
name
);
String
location
=
crossInfo
.
getLocation
().
replace
(
"POINT("
,
""
).
replace
(
" "
,
","
).
replace
(
")"
,
""
);
jurisdictionAreaVO
.
setName
(
crossInfo
.
getName
());
jurisdictionAreaVO
.
setPoint
(
location
);
jurisdictionAreaVO
.
setLevel
(
0
);
jurisdictionAreaVO
.
setParentCode
(
"0"
);
...
...
@@ -510,6 +498,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
if
(
location
.
contains
(
"POINT"
))
{
location
=
location
.
replace
(
"POINT("
,
""
).
replace
(
" "
,
","
).
replace
(
")"
,
""
);
}
break
;
}
}
signalAreaVO
.
setName
(
name
);
...
...
signal-control-service/src/main/java/net/wanji/web/task/SignalStatusTask.java
View file @
c9d68dbc
...
...
@@ -19,11 +19,9 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -52,11 +50,15 @@ public class SignalStatusTask {
List
<
Map
<
String
,
Object
>>
source
=
(
List
<
Map
<
String
,
Object
>>)
jsonViewObject
.
getContent
();
List
<
SignalStatusVO
>
content
=
BeanMapUtils
.
mapsToObjects
(
source
,
SignalStatusVO
.
class
);
List
<
String
>
crossIdList
=
content
.
stream
().
map
(
SignalStatusVO:
:
getCrossId
).
collect
(
Collectors
.
toList
());
List
<
CrossInfoPO
>
crossInfoPOList
=
crossInfoMapper
.
selectByCrossIds
(
crossIdList
);
List
<
CrossInfoPO
>
crossInfoPOList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
crossIdList
))
{
crossInfoPOList
=
crossInfoMapper
.
selectByCrossIds
(
crossIdList
);
}
List
<
CrossInfoPO
>
finalCrossInfoPOList
=
crossInfoPOList
;
content
.
forEach
(
signalStatusVO
->
{
String
crossId
=
signalStatusVO
.
getCrossId
();
String
name
=
null
;
for
(
CrossInfoPO
crossInfoPO
:
c
rossInfoPOList
)
{
for
(
CrossInfoPO
crossInfoPO
:
finalC
rossInfoPOList
)
{
if
(
StringUtils
.
equals
(
crossId
,
crossInfoPO
.
getId
()))
{
name
=
crossInfoPO
.
getName
();
break
;
...
...
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