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
6d8bedef
Commit
6d8bedef
authored
Oct 08, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 绿波评价-干线方案分析,修改干线列表
parent
c29ea989
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
107 additions
and
12 deletions
+107
-12
MainlineEvaluateController.java
.../net/wanji/opt/controller/MainlineEvaluateController.java
+2
-2
MainlineEvaluateService.java
...n/java/net/wanji/opt/service/MainlineEvaluateService.java
+2
-2
MainlineEvaluateServiceImpl.java
...t/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
+76
-8
MainlineListVO.java
...ervice/src/main/java/net/wanji/opt/vo/MainlineListVO.java
+27
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controller/MainlineEvaluateController.java
View file @
6d8bedef
...
@@ -12,13 +12,13 @@ import net.wanji.opt.bo.BottomMenuBO;
...
@@ -12,13 +12,13 @@ import net.wanji.opt.bo.BottomMenuBO;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
import
net.wanji.opt.service.impl.MainlineEvaluateServiceImpl
;
import
net.wanji.opt.service.impl.MainlineEvaluateServiceImpl
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineListVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.ws.rs.core.MediaType
;
import
javax.ws.rs.core.MediaType
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
@Api
(
value
=
"MainlineEvaluateController"
,
description
=
"干线评价"
)
@Api
(
value
=
"MainlineEvaluateController"
,
description
=
"干线评价"
)
@RequestMapping
(
"/mainlineEvaluate"
)
@RequestMapping
(
"/mainlineEvaluate"
)
...
@@ -59,7 +59,7 @@ public class MainlineEvaluateController {
...
@@ -59,7 +59,7 @@ public class MainlineEvaluateController {
@ApiOperation
(
value
=
"干线列表"
,
notes
=
"干线列表"
)
@ApiOperation
(
value
=
"干线列表"
,
notes
=
"干线列表"
)
@GetMapping
(
"/mainlineList"
)
@GetMapping
(
"/mainlineList"
)
public
JsonViewObject
mainlineList
()
{
public
JsonViewObject
mainlineList
()
{
Set
<
String
>
res
=
mainlineEvaluateService
.
mainlineList
();
List
<
MainlineListVO
>
res
=
mainlineEvaluateService
.
mainlineList
();
return
JsonViewObject
.
newInstance
().
success
(
res
);
return
JsonViewObject
.
newInstance
().
success
(
res
);
}
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/MainlineEvaluateService.java
View file @
6d8bedef
...
@@ -4,11 +4,11 @@ import net.wanji.opt.bo.BottomCurveBO;
...
@@ -4,11 +4,11 @@ import net.wanji.opt.bo.BottomCurveBO;
import
net.wanji.opt.bo.BottomMenuBO
;
import
net.wanji.opt.bo.BottomMenuBO
;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineListVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
public
interface
MainlineEvaluateService
{
public
interface
MainlineEvaluateService
{
...
@@ -16,7 +16,7 @@ public interface MainlineEvaluateService {
...
@@ -16,7 +16,7 @@ public interface MainlineEvaluateService {
List
<
MainlineEvaluateBottomCurveVO
>
bottomCurve
(
BottomCurveBO
bo
)
throws
ParseException
;
List
<
MainlineEvaluateBottomCurveVO
>
bottomCurve
(
BottomCurveBO
bo
)
throws
ParseException
;
Set
<
String
>
mainlineList
();
List
<
MainlineListVO
>
mainlineList
();
MainlineSchemeAnalysisVO
mainlineSchemeAnalysis
(
MainlineSchemeAnalysisBO
bo
);
MainlineSchemeAnalysisVO
mainlineSchemeAnalysis
(
MainlineSchemeAnalysisBO
bo
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
View file @
6d8bedef
...
@@ -7,6 +7,7 @@ import net.wanji.common.enums.TurnConvertEnum;
...
@@ -7,6 +7,7 @@ import net.wanji.common.enums.TurnConvertEnum;
import
net.wanji.databus.dao.entity.*
;
import
net.wanji.databus.dao.entity.*
;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.po.*
;
import
net.wanji.databus.po.*
;
import
net.wanji.databus.vo.CrossIdAndNameVO
;
import
net.wanji.opt.bo.BottomCurveBO
;
import
net.wanji.opt.bo.BottomCurveBO
;
import
net.wanji.opt.bo.BottomMenuBO
;
import
net.wanji.opt.bo.BottomMenuBO
;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
import
net.wanji.opt.bo.MainlineSchemeAnalysisBO
;
...
@@ -17,6 +18,7 @@ import net.wanji.opt.po.strategy.SceneStrategyPO;
...
@@ -17,6 +18,7 @@ import net.wanji.opt.po.strategy.SceneStrategyPO;
import
net.wanji.opt.po.strategy.StrategyPO
;
import
net.wanji.opt.po.strategy.StrategyPO
;
import
net.wanji.opt.service.MainlineEvaluateService
;
import
net.wanji.opt.service.MainlineEvaluateService
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineEvaluateBottomCurveVO
;
import
net.wanji.opt.vo.MainlineListVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
net.wanji.opt.vo.MainlineSchemeAnalysisVO
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -48,6 +50,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -48,6 +50,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
private
final
SceneStrategyMapper
sceneStrategyMapper
;
private
final
SceneStrategyMapper
sceneStrategyMapper
;
private
final
StrategyMapper
strategyMapper
;
private
final
StrategyMapper
strategyMapper
;
private
final
BaseCrossSectionMapper
baseCrossSectionMapper
;
private
final
BaseCrossSectionMapper
baseCrossSectionMapper
;
private
final
RidInfoMapper
ridInfoMapper
;
SimpleDateFormat
hourMinuteFormat
=
new
SimpleDateFormat
(
"HH:mm"
);
SimpleDateFormat
hourMinuteFormat
=
new
SimpleDateFormat
(
"HH:mm"
);
SimpleDateFormat
dateHourMinuteFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
SimpleDateFormat
dateHourMinuteFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
...
@@ -57,7 +60,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -57,7 +60,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
@Qualifier
(
"baseCrossTurnInfoMapper"
)
BaseCrossTurnInfoMapper
baseCrossTurnInfoMapper
,
@Qualifier
(
"baseCrossTurnInfoMapper"
)
BaseCrossTurnInfoMapper
baseCrossTurnInfoMapper
,
CrossBaseLaneInfoMapper
crossBaseLaneInfoMapper
,
CrossBaseLaneInfoMapper
crossBaseLaneInfoMapper
,
@Qualifier
(
"laneInfoMapper"
)
LaneInfoMapper
laneInfoMapper
,
@Qualifier
(
"laneInfoMapper"
)
LaneInfoMapper
laneInfoMapper
,
CrossDirDataHistMapper
crossDirDataHistMapper
,
CrossDataHistMapper
crossDataHistMapper
,
CrossTurnDataHistMapper
crossTurnDataHistMapper
,
CrossLaneDataHistMapper
crossLaneDataHistMapper
,
@Qualifier
(
"greenwaveInfoMapper"
)
GreenwaveInfoMapper
greenwaveInfoMapper
,
@Qualifier
(
"greenwaveHistMapper"
)
GreenwaveHistMapper
greenwaveHistMapper
,
@Qualifier
(
"greenwaveCrossMapper"
)
GreenwaveCrossMapper
greenwaveCrossMapper
,
@Qualifier
(
"baseCrossInfoMapper"
)
BaseCrossInfoMapper
baseCrossInfoMapper
,
@Qualifier
(
"greenwaveSceneMapper"
)
GreenwaveSceneMapper
greenwaveSceneMapper
,
@Qualifier
(
"sceneStrategyMapper"
)
SceneStrategyMapper
sceneStrategyMapper
,
@Qualifier
(
"strategyMapper"
)
StrategyMapper
strategyMapper
,
@Qualifier
(
"baseCrossSectionMapper"
)
BaseCrossSectionMapper
baseCrossSectionMapper
)
{
CrossDirDataHistMapper
crossDirDataHistMapper
,
CrossDataHistMapper
crossDataHistMapper
,
CrossTurnDataHistMapper
crossTurnDataHistMapper
,
CrossLaneDataHistMapper
crossLaneDataHistMapper
,
@Qualifier
(
"greenwaveInfoMapper"
)
GreenwaveInfoMapper
greenwaveInfoMapper
,
@Qualifier
(
"greenwaveHistMapper"
)
GreenwaveHistMapper
greenwaveHistMapper
,
@Qualifier
(
"greenwaveCrossMapper"
)
GreenwaveCrossMapper
greenwaveCrossMapper
,
@Qualifier
(
"baseCrossInfoMapper"
)
BaseCrossInfoMapper
baseCrossInfoMapper
,
@Qualifier
(
"greenwaveSceneMapper"
)
GreenwaveSceneMapper
greenwaveSceneMapper
,
@Qualifier
(
"sceneStrategyMapper"
)
SceneStrategyMapper
sceneStrategyMapper
,
@Qualifier
(
"strategyMapper"
)
StrategyMapper
strategyMapper
,
@Qualifier
(
"baseCrossSectionMapper"
)
BaseCrossSectionMapper
baseCrossSectionMapper
,
@Qualifier
(
"ridInfoMapper"
)
RidInfoMapper
ridInfoMapper
)
{
this
.
baseCrossDirInfoMapper
=
baseCrossDirInfoMapper
;
this
.
baseCrossDirInfoMapper
=
baseCrossDirInfoMapper
;
this
.
baseCrossTurnInfoMapper
=
baseCrossTurnInfoMapper
;
this
.
baseCrossTurnInfoMapper
=
baseCrossTurnInfoMapper
;
this
.
laneInfoMapper
=
laneInfoMapper
;
this
.
laneInfoMapper
=
laneInfoMapper
;
...
@@ -73,6 +76,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -73,6 +76,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
this
.
sceneStrategyMapper
=
sceneStrategyMapper
;
this
.
sceneStrategyMapper
=
sceneStrategyMapper
;
this
.
strategyMapper
=
strategyMapper
;
this
.
strategyMapper
=
strategyMapper
;
this
.
baseCrossSectionMapper
=
baseCrossSectionMapper
;
this
.
baseCrossSectionMapper
=
baseCrossSectionMapper
;
this
.
ridInfoMapper
=
ridInfoMapper
;
}
}
@Override
@Override
...
@@ -495,17 +499,78 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -495,17 +499,78 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
}
}
@Override
@Override
public
Set
<
String
>
mainlineList
()
{
public
List
<
MainlineListVO
>
mainlineList
()
{
List
<
MainlineListVO
>
res
=
new
ArrayList
<>();
// 按干线名称过滤数据
List
<
GreenwaveInfoPO
>
poList
=
greenwaveInfoMapper
.
selectAll
();
List
<
GreenwaveInfoPO
>
poList
=
greenwaveInfoMapper
.
selectAll
();
Set
<
String
>
res
=
new
HashSet
<>();
List
<
GreenwaveInfoPO
>
filteredList
=
poList
.
stream
()
for
(
GreenwaveInfoPO
greenwaveInfoPO
:
poList
)
{
.
collect
(
Collectors
.
groupingBy
(
po
->
getPrefix
(
po
.
getName
())))
String
name
=
greenwaveInfoPO
.
getName
();
// 例:旅游路:转山西路至霞景路路段双向绿波1
.
values
()
String
[]
split
=
name
.
split
(
":"
);
.
stream
()
res
.
add
(
split
[
0
]);
.
filter
(
list
->
list
.
size
()
>
1
)
.
map
(
list
->
list
.
get
(
0
))
.
collect
(
Collectors
.
toList
());
for
(
GreenwaveInfoPO
greenwaveInfoPO
:
filteredList
)
{
MainlineListVO
mainlineListVO
=
new
MainlineListVO
();
String
name
=
greenwaveInfoPO
.
getName
();
// 例:旅游路-转山西路至霞景路路段:双向绿波1
String
prefix
=
getPrefix
(
name
);
mainlineListVO
.
setMainlineName
(
prefix
);
Integer
greenwaveId
=
greenwaveInfoPO
.
getId
();
setCrossListAndwkt
(
mainlineListVO
,
greenwaveId
);
res
.
add
(
mainlineListVO
);
}
}
return
res
;
return
res
;
}
}
private
void
setCrossListAndwkt
(
MainlineListVO
mainlineListVO
,
Integer
greenwaveId
)
{
List
<
GreenwaveCrossPO
>
greenwaveCrossPOList
=
greenwaveCrossMapper
.
selectByGreenwaveId
(
greenwaveId
);
List
<
CrossIdAndNameVO
>
crossIdAndNameVOList
=
new
ArrayList
<>();
StringBuilder
wkt
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
greenwaveCrossPOList
.
size
()
-
1
;
i
++)
{
GreenwaveCrossPO
preCross
=
greenwaveCrossPOList
.
get
(
i
);
GreenwaveCrossPO
nextCross
=
greenwaveCrossPOList
.
get
(
i
+
1
);
// 构造路口列表
String
crossId
=
preCross
.
getCrossId
();
BaseCrossInfoPO
baseCrossInfoPO
=
baseCrossInfoMapper
.
selectById
(
crossId
);
CrossIdAndNameVO
crossIdAndNameVO
=
new
CrossIdAndNameVO
();
crossIdAndNameVO
.
setCrossId
(
crossId
);
crossIdAndNameVO
.
setCrossName
(
baseCrossInfoPO
.
getName
());
crossIdAndNameVOList
.
add
(
crossIdAndNameVO
);
if
(
i
==
greenwaveCrossPOList
.
size
()
-
2
)
{
String
crossId1
=
nextCross
.
getCrossId
();
BaseCrossInfoPO
baseCrossInfoPO1
=
baseCrossInfoMapper
.
selectById
(
crossId1
);
CrossIdAndNameVO
crossIdAndNameVO1
=
new
CrossIdAndNameVO
();
crossIdAndNameVO1
.
setCrossId
(
crossId1
);
crossIdAndNameVO1
.
setCrossName
(
baseCrossInfoPO1
.
getName
());
crossIdAndNameVOList
.
add
(
crossIdAndNameVO1
);
}
// 构造wkt
RidInfoEntity
ridInfo
=
ridInfoMapper
.
selectByStartEnd
(
preCross
.
getCrossId
(),
nextCross
.
getCrossId
());
if
(
i
==
0
)
{
wkt
.
append
(
ridInfo
.
getWkt
());
}
else
{
wkt
.
append
(
";"
).
append
(
ridInfo
.
getWkt
());
}
}
mainlineListVO
.
setCrossList
(
crossIdAndNameVOList
);
mainlineListVO
.
setWkt
(
wkt
.
toString
());
}
private
String
getPrefix
(
String
name
)
{
int
index
=
name
.
indexOf
(
':'
);
return
index
!=
-
1
?
name
.
substring
(
0
,
index
).
trim
()
:
name
;
}
@Override
@Override
public
MainlineSchemeAnalysisVO
mainlineSchemeAnalysis
(
MainlineSchemeAnalysisBO
bo
)
{
public
MainlineSchemeAnalysisVO
mainlineSchemeAnalysis
(
MainlineSchemeAnalysisBO
bo
)
{
String
mainlineName
=
bo
.
getName
();
String
mainlineName
=
bo
.
getName
();
...
@@ -533,9 +598,12 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
...
@@ -533,9 +598,12 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
res
.
setSceneData
(
calcSceneData
(
filteredList
));
res
.
setSceneData
(
calcSceneData
(
filteredList
));
res
.
setCrossData
(
calcCrossData
(
filteredList
));
res
.
setCrossData
(
calcCrossData
(
filteredList
));
res
.
setEvaluateData
(
calcEvaluateData
(
filteredList
));
res
.
setEvaluateData
(
calcEvaluateData
(
filteredList
));
res
.
setGreenwaveData
(
new
ArrayList
<>(
));
res
.
setGreenwaveData
(
buildGreenwaveData
(
filteredList
));
return
res
;
}
private
List
<
MainlineSchemeAnalysisVO
.
GreenwaveData
>
buildGreenwaveData
(
List
<
GreenwaveHistPO
>
filteredList
)
{
return
null
;
return
null
;
}
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/MainlineListVO.java
0 → 100644
View file @
6d8bedef
package
net
.
wanji
.
opt
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
net.wanji.databus.vo.CrossIdAndNameVO
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2023/2/9 8:38
*/
@Data
@NoArgsConstructor
@ApiModel
(
value
=
"MainlineListVO"
,
description
=
"干线列表"
)
public
class
MainlineListVO
{
@ApiModelProperty
(
value
=
"干线名称"
)
private
String
mainlineName
;
@ApiModelProperty
(
value
=
"路口列表"
)
private
List
<
CrossIdAndNameVO
>
crossList
;
@ApiModelProperty
(
value
=
"干线坐标"
)
private
String
wkt
;
}
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