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
a1f2138e
Commit
a1f2138e
authored
Oct 24, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 优化干线方案评价接口性能
parent
2f9fc26e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
15 deletions
+29
-15
MainlineEvaluateServiceImpl.java
...t/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
+20
-15
CrossDirDataHistMapper.java
.../net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
+1
-0
CrossDirDataHistMapper.xml
...abus/src/main/resources/mapper/CrossDirDataHistMapper.xml
+8
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/MainlineEvaluateServiceImpl.java
View file @
a1f2138e
...
...
@@ -698,14 +698,14 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
private
void
fillLineSchemeBuffer
(
List
<
GreenwaveHistPO
>
filteredList
,
Map
<
String
,
LineSchemeDTO
>
lineSchemeBuffer
)
throws
ParseException
{
List
<
GreenwaveCrossPO
>
greenwaveCrossPOList
=
greenwaveCrossMapper
.
selectAll
();
List
<
CrossSectionPO
>
baseCrossSectionPOList
=
baseCrossSectionMapper
.
selectAll
();
List
<
BaseCrossPlanPO
>
baseCrossPlanPOList
=
baseCrossPlanMapper
.
selectAll
();
for
(
GreenwaveHistPO
greenwaveHistPO
:
filteredList
)
{
Integer
histGreenwaveId
=
greenwaveHistPO
.
getId
();
Date
histGreenwaveGmtModified
=
greenwaveHistPO
.
getGmtModified
();
List
<
GreenwaveCrossPO
>
greenwaveCrossPOList
=
greenwaveCrossMapper
.
selectAll
();
List
<
CrossSectionPO
>
baseCrossSectionPOList
=
baseCrossSectionMapper
.
selectAll
();
List
<
BaseCrossPlanPO
>
baseCrossPlanPOList
=
baseCrossPlanMapper
.
selectAll
();
for
(
GreenwaveCrossPO
greenwaveCrossPO
:
greenwaveCrossPOList
)
{
Integer
sectionId
=
greenwaveCrossPO
.
getSectionId
();
// 判断绿波历史发生时间是否在时段内
...
...
@@ -1089,9 +1089,12 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
String
dirStr
=
split
[
0
];
Integer
dir
=
BaseEnum
.
SignalDirectionEnum
.
getCodeByName
(
dirStr
);
List
<
CrossDirDataHistPO
>
totalCrossDirDataHistPOList
=
new
ArrayList
<>();
String
boStartDayStr
=
dayFormat
.
format
(
boStartTime
);
String
boEndDayStr
=
dayFormat
.
format
(
boEndTime
);
List
<
CrossDirDataHistPO
>
poInSectionList
=
crossDirDataHistMapper
.
selectByTimeSection
(
boStartDayStr
,
boEndDayStr
,
startHourMinuteStr
,
endHourMinuteStr
);
for
(
GreenwaveCrossPO
greenwaveCrossPO
:
greenwaveCrossPOList
)
{
buildTotalCrossDirHistList
(
boStartTime
,
boEndTime
,
startHourMinuteStr
,
endHourMinuteStr
,
dirStr
,
dir
,
totalCrossDirDataHistPOList
,
greenwaveCrossPO
);
buildTotalCrossDirHistList
(
dirStr
,
dir
,
totalCrossDirDataHistPOList
,
greenwaveCrossPO
,
poInSectionList
);
}
// 获取协调方向评价指标
...
...
@@ -1104,8 +1107,8 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
Integer
dir1
=
BaseEnum
.
SignalDirectionEnum
.
getCodeByName
(
s
);
List
<
CrossDirDataHistPO
>
totalCrossDirDataHistPOList1
=
new
ArrayList
<>();
for
(
GreenwaveCrossPO
greenwaveCrossPO
:
greenwaveCrossPOList
)
{
buildTotalCrossDirHistList
(
boStartTime
,
boEndTime
,
startHourMinuteStr
,
endHourMinuteStr
,
dirStr1
,
dir
1
,
totalCrossDirDataHistPOList1
,
greenwaveCrossPO
);
buildTotalCrossDirHistList
(
dirStr1
,
dir1
,
totalCrossDirDataHistPOList
1
,
greenwaveCrossPO
,
poInSectionList
);
coordSpeed
=
(
int
)
(
totalCrossDirDataHistPOList1
.
stream
()
.
mapToDouble
(
CrossDirDataHistPO:
:
getSpeed
)
...
...
@@ -1406,17 +1409,19 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
}
private
void
buildTotalCrossDirHistList
(
Date
boStartTime
,
Date
boEndTime
,
String
startHourMinuteStr
,
String
endHourMinuteStr
,
String
dirStr
,
Integer
dir
,
List
<
CrossDirDataHistPO
>
totalCrossDirDataHistPOList
,
GreenwaveCrossPO
greenwaveCrossPO
)
{
String
dirStr
,
Integer
dir
,
List
<
CrossDirDataHistPO
>
totalCrossDirDataHistPOList
,
GreenwaveCrossPO
greenwaveCrossPO
,
List
<
CrossDirDataHistPO
>
poInSectionList
)
{
String
crossId
=
greenwaveCrossPO
.
getCrossId
();
Integer
dirCode
=
dir
;
dirCode
=
convertDirCode
(
dirStr
,
crossId
,
dirCode
);
String
boStartDayStr
=
dayFormat
.
format
(
boStartTime
);
String
boEndDayStr
=
dayFormat
.
format
(
boEndTime
);
List
<
CrossDirDataHistPO
>
crossDirDataHistPOList
=
crossDirDataHistMapper
.
selectByCrossDirAndTimeSection
(
crossId
,
dirCode
,
boStartDayStr
,
boEndDayStr
,
startHourMinuteStr
,
endHourMinuteStr
);
totalCrossDirDataHistPOList
.
addAll
(
crossDirDataHistPOList
);
Integer
finalDirCode
=
dirCode
;
List
<
CrossDirDataHistPO
>
filteredList
=
poInSectionList
.
stream
()
.
filter
(
po
->
po
.
getCrossId
().
equals
(
crossId
)
&&
po
.
getDirType
().
equals
(
finalDirCode
))
.
collect
(
Collectors
.
toList
());
totalCrossDirDataHistPOList
.
addAll
(
filteredList
);
}
private
Integer
convertDirCode
(
String
dirStr
,
String
crossId
,
Integer
dirCode
)
{
...
...
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossDirDataHistMapper.java
View file @
a1f2138e
...
...
@@ -72,4 +72,5 @@ public interface CrossDirDataHistMapper extends BaseMapper<CrossDirDataHistPO> {
@Param
(
"endHourMinuteStr"
)
String
endHourMinuteStr
);
List
<
CrossDirDataHistPO
>
selectByTimeSection
(
String
boStartDayStr
,
String
boEndDayStr
,
String
startHourMinuteStr
,
String
endHourMinuteStr
);
}
wj-databus/src/main/resources/mapper/CrossDirDataHistMapper.xml
View file @
a1f2138e
...
...
@@ -245,4 +245,12 @@
AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr}
</select>
<select
id=
"selectByTimeSection"
resultType=
"net.wanji.databus.po.CrossDirDataHistPO"
>
SELECT
<include
refid=
"Base_Column_List"
></include>
FROM t_cross_dir_data_hist
WHERE in_out_type = 1
AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr}
AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr}
</select>
</mapper>
\ No newline at end of file
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