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
8650e8f3
Commit
8650e8f3
authored
May 25, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 快速特勤,添加特勤路线只有2个路口时bug修复
parent
ec3bfc58
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
23 deletions
+40
-23
SpecialServiceServiceImpl.java
...net/wanji/web/service/impl/SpecialServiceServiceImpl.java
+40
-23
No files found.
signal-control-service/src/main/java/net/wanji/web/service/impl/SpecialServiceServiceImpl.java
View file @
8650e8f3
...
@@ -137,16 +137,23 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
...
@@ -137,16 +137,23 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
SpecialServiceCrossPO
specialServiceCrossPO
=
new
SpecialServiceCrossPO
();
SpecialServiceCrossPO
specialServiceCrossPO
=
new
SpecialServiceCrossPO
();
specialServiceCrossPO
.
setSpecialServiceId
(
specialServiceIdGenerated
);
specialServiceCrossPO
.
setSpecialServiceId
(
specialServiceIdGenerated
);
specialServiceCrossPO
.
setCrossId
(
startCrossId
);
specialServiceCrossPO
.
setCrossId
(
startCrossId
);
// 获取上一个路段
RouteElementVO
preRoute
=
route
.
get
(
i
-
1
);
RidInfoEntity
preRid
=
null
;
String
preStartName
=
preRoute
.
getStartName
();
if
(
route
.
size
()
==
1
)
{
// 如果只有两个路口
BaseCrossInfoPO
preStartCross
=
baseCrossInfoMapper
.
selectByName
(
preStartName
);
preRid
=
ridInfoEntity
;
String
preStartCrossId
=
preStartCross
.
getId
();
}
else
{
// 获取上一个路段
String
preEndName
=
preRoute
.
getEndName
();
RouteElementVO
preRoute
=
route
.
get
(
i
-
1
);
BaseCrossInfoPO
preEndCross
=
baseCrossInfoMapper
.
selectByName
(
preEndName
);
String
preStartName
=
preRoute
.
getStartName
();
String
preEndCrossId
=
preEndCross
.
getId
();
BaseCrossInfoPO
preStartCross
=
baseCrossInfoMapper
.
selectByName
(
preStartName
);
RidInfoEntity
preRid
=
ridInfoMapper
.
selectByStartEnd
(
preStartCrossId
,
preEndCrossId
);
String
preStartCrossId
=
preStartCross
.
getId
();
String
preEndName
=
preRoute
.
getEndName
();
BaseCrossInfoPO
preEndCross
=
baseCrossInfoMapper
.
selectByName
(
preEndName
);
String
preEndCrossId
=
preEndCross
.
getId
();
preRid
=
ridInfoMapper
.
selectByStartEnd
(
preStartCrossId
,
preEndCrossId
);
}
// 当前路口驶入方向
// 当前路口驶入方向
Integer
inDir
=
preRid
.
getInDir
();
Integer
inDir
=
preRid
.
getInDir
();
// 当前路口使出方向
// 当前路口使出方向
...
@@ -231,16 +238,23 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
...
@@ -231,16 +238,23 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
SpecialServiceCrossPO
specialServiceCrossPO
=
new
SpecialServiceCrossPO
();
SpecialServiceCrossPO
specialServiceCrossPO
=
new
SpecialServiceCrossPO
();
specialServiceCrossPO
.
setSpecialServiceId
(
specialServiceId
);
specialServiceCrossPO
.
setSpecialServiceId
(
specialServiceId
);
specialServiceCrossPO
.
setCrossId
(
startCrossId
);
specialServiceCrossPO
.
setCrossId
(
startCrossId
);
// 获取上一个路段
RouteElementVO
preRoute
=
route
.
get
(
i
-
1
);
RidInfoEntity
preRid
=
null
;
String
preStartName
=
preRoute
.
getStartName
();
if
(
route
.
size
()
==
1
)
{
// 如果只有两个路口
BaseCrossInfoPO
preStartCross
=
baseCrossInfoMapper
.
selectByName
(
preStartName
);
preRid
=
ridInfoEntity
;
String
preStartCrossId
=
preStartCross
.
getId
();
}
else
{
// 获取上一个路段
String
preEndName
=
preRoute
.
getEndName
();
RouteElementVO
preRoute
=
route
.
get
(
i
-
1
);
BaseCrossInfoPO
preEndCross
=
baseCrossInfoMapper
.
selectByName
(
preEndName
);
String
preStartName
=
preRoute
.
getStartName
();
String
preEndCrossId
=
preEndCross
.
getId
();
BaseCrossInfoPO
preStartCross
=
baseCrossInfoMapper
.
selectByName
(
preStartName
);
RidInfoEntity
preRid
=
ridInfoMapper
.
selectByStartEnd
(
preStartCrossId
,
preEndCrossId
);
String
preStartCrossId
=
preStartCross
.
getId
();
String
preEndName
=
preRoute
.
getEndName
();
BaseCrossInfoPO
preEndCross
=
baseCrossInfoMapper
.
selectByName
(
preEndName
);
String
preEndCrossId
=
preEndCross
.
getId
();
preRid
=
ridInfoMapper
.
selectByStartEnd
(
preStartCrossId
,
preEndCrossId
);
}
// 当前路口驶入方向
// 当前路口驶入方向
Integer
inDir
=
preRid
.
getInDir
();
Integer
inDir
=
preRid
.
getInDir
();
// 当前路口使出方向
// 当前路口使出方向
...
@@ -408,7 +422,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
...
@@ -408,7 +422,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
}
}
List
<
BaseCrossInfoPO
>
routeList2
=
new
ArrayList
<>();
List
<
BaseCrossInfoPO
>
routeList2
=
new
ArrayList
<>();
routeList2
.
add
(
startCross
);
routeList2
.
add
(
startCross
);
getSecondRouteList
(
secondStartCross
,
endCross
,
routeList2
);
getSecondRouteList
(
s
tartCross
,
s
econdStartCross
,
endCross
,
routeList2
);
List
<
RouteElementVO
>
route2
=
buildRoute
(
routeList2
);
List
<
RouteElementVO
>
route2
=
buildRoute
(
routeList2
);
res
.
add
(
route1
);
res
.
add
(
route1
);
...
@@ -418,8 +432,8 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
...
@@ -418,8 +432,8 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
return
null
;
return
null
;
}
}
private
void
getSecondRouteList
(
BaseCrossInfoPO
s
econdStartCross
,
BaseCrossInfoPO
end
Cross
,
private
void
getSecondRouteList
(
BaseCrossInfoPO
s
tartCross
,
BaseCrossInfoPO
secondStart
Cross
,
List
<
BaseCrossInfoPO
>
routeList2
)
{
BaseCrossInfoPO
endCross
,
List
<
BaseCrossInfoPO
>
routeList2
)
{
String
endCrossLonLatStr
=
getCrossLonLatStr
(
endCross
);
String
endCrossLonLatStr
=
getCrossLonLatStr
(
endCross
);
// 获取上游路口到终点距离最近的
// 获取上游路口到终点距离最近的
BaseCrossInfoPO
nextStartCross
=
secondStartCross
;
BaseCrossInfoPO
nextStartCross
=
secondStartCross
;
...
@@ -429,6 +443,9 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
...
@@ -429,6 +443,9 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
List
<
RidInfoEntity
>
ridUpCrossList
=
ridInfoMapper
.
selectUpCross
(
nextStartCross
.
getId
());
List
<
RidInfoEntity
>
ridUpCrossList
=
ridInfoMapper
.
selectUpCross
(
nextStartCross
.
getId
());
for
(
RidInfoEntity
ridUpCross
:
ridUpCrossList
)
{
for
(
RidInfoEntity
ridUpCross
:
ridUpCrossList
)
{
String
upCrossId
=
ridUpCross
.
getStartCrossId
();
String
upCrossId
=
ridUpCross
.
getStartCrossId
();
if
(
StrUtil
.
equals
(
upCrossId
,
startCross
.
getId
())){
continue
;
}
BaseCrossInfoPO
upCross
=
baseCrossInfoMapper
.
selectById
(
upCrossId
);
BaseCrossInfoPO
upCross
=
baseCrossInfoMapper
.
selectById
(
upCrossId
);
String
upCrossLonLatStr
=
getCrossLonLatStr
(
upCross
);
String
upCrossLonLatStr
=
getCrossLonLatStr
(
upCross
);
double
distance
=
gtsService
.
distance
(
endCrossLonLatStr
,
upCrossLonLatStr
);
double
distance
=
gtsService
.
distance
(
endCrossLonLatStr
,
upCrossLonLatStr
);
...
...
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