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
f0f150fb
Commit
f0f150fb
authored
Mar 09, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 实时监控->当前运行方案相位参数优化
parent
d72234de
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
31 deletions
+34
-31
CrossDirTurnPhaseCache.java
...main/java/net/wanji/opt/cache/CrossDirTurnPhaseCache.java
+6
-4
CrossOptimizeServiceImpl.java
.../net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
+28
-27
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/cache/CrossDirTurnPhaseCache.java
View file @
f0f150fb
...
@@ -10,6 +10,7 @@ import net.wanji.opt.common.exception.OptServiceException;
...
@@ -10,6 +10,7 @@ import net.wanji.opt.common.exception.OptServiceException;
import
net.wanji.opt.dto.*
;
import
net.wanji.opt.dto.*
;
import
net.wanji.opt.service.CrossSchedulesService
;
import
net.wanji.opt.service.CrossSchedulesService
;
import
net.wanji.opt.service.CrossSchemeService
;
import
net.wanji.opt.service.CrossSchemeService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -104,11 +105,12 @@ public class CrossDirTurnPhaseCache implements CommandLineRunner {
...
@@ -104,11 +105,12 @@ public class CrossDirTurnPhaseCache implements CommandLineRunner {
turnSet
.
addAll
(
Arrays
.
stream
(
turnArr
).
collect
(
Collectors
.
toSet
()));
turnSet
.
addAll
(
Arrays
.
stream
(
turnArr
).
collect
(
Collectors
.
toSet
()));
}
}
for
(
String
turn
:
turnSet
)
{
for
(
String
turn
:
turnSet
)
{
CrossPhaseDTO
crossPhaseDTO
=
new
CrossPhaseDTO
();
BeanUtils
.
copyProperties
(
phase
,
crossPhaseDTO
);
key
=
crossId
+
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
+
dir
+
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
+
turn
;
key
=
crossId
+
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
+
dir
+
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
+
turn
;
phase
.
setDirType
(
dir
);
crossPhaseDTO
.
setDirType
(
dir
);
phase
.
setTurnType
(
turn
);
crossPhaseDTO
.
setTurnType
(
turn
);
phaseMap
.
put
(
key
,
phase
);
phaseMap
.
put
(
key
,
crossPhaseDTO
);
}
}
turnSet
.
clear
();
turnSet
.
clear
();
}
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
View file @
f0f150fb
...
@@ -317,7 +317,6 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -317,7 +317,6 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
}
}
}
}
/**
/**
* 当前路口异常转向列表 element:进口方向
* 当前路口异常转向列表 element:进口方向
*
*
...
@@ -425,6 +424,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -425,6 +424,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
}
else
{
}
else
{
phaseTimeOptResultMap
=
getPhaseTimeOptMap
(
phaseTimeOffset
);
phaseTimeOptResultMap
=
getPhaseTimeOptMap
(
phaseTimeOffset
);
}
}
if
(!
phaseTimeOptResultMap
.
isEmpty
())
{
// 修改原始方案绿灯时间为优化后时间,方案下发
// 修改原始方案绿灯时间为优化后时间,方案下发
SchemeSendVO
schemeSendVO
=
getSchemeSendVO
(
crossId
,
phaseMap
,
phaseTimeOptResultMap
);
SchemeSendVO
schemeSendVO
=
getSchemeSendVO
(
crossId
,
phaseMap
,
phaseTimeOptResultMap
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
schemeSend
(
schemeSendVO
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
schemeSend
(
schemeSendVO
);
...
@@ -439,6 +439,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -439,6 +439,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
// 将优化记录插入方案优化记录表
// 将优化记录插入方案优化记录表
insertCrossSchemeOptLog
(
phaseTimeOptResultMap
,
phaseMap
,
optType
);
insertCrossSchemeOptLog
(
phaseTimeOptResultMap
,
phaseMap
,
optType
);
}
}
}
/**
/**
* 将优化记录数据[按路口相位转向]插入到优化记录表这种
* 将优化记录数据[按路口相位转向]插入到优化记录表这种
...
@@ -454,6 +455,9 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -454,6 +455,9 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
CrossSchemeOptLogPO
crossSchemeOptLogPO
=
new
CrossSchemeOptLogPO
();
CrossSchemeOptLogPO
crossSchemeOptLogPO
=
new
CrossSchemeOptLogPO
();
CrossPhaseDTO
crossPhaseDTO
=
item
.
getValue
();
CrossPhaseDTO
crossPhaseDTO
=
item
.
getValue
();
String
phaseNo
=
crossPhaseDTO
.
getPhaseNo
();
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
phaseTimeOptResultMap
.
entrySet
())
{
if
(
Objects
.
equals
(
phaseNo
,
entry
.
getKey
()))
{
BeanUtils
.
copyProperties
(
crossPhaseDTO
,
crossSchemeOptLogPO
);
BeanUtils
.
copyProperties
(
crossPhaseDTO
,
crossSchemeOptLogPO
);
crossSchemeOptLogPO
.
setSchemeId
(
crossPhaseDTO
.
getSchemeId
());
crossSchemeOptLogPO
.
setSchemeId
(
crossPhaseDTO
.
getSchemeId
());
crossSchemeOptLogPO
.
setPhaseOrderId
(
crossPhaseDTO
.
getSort
());
crossSchemeOptLogPO
.
setPhaseOrderId
(
crossPhaseDTO
.
getSort
());
...
@@ -467,14 +471,11 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -467,14 +471,11 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
// todo 测试数据
// todo 测试数据
crossSchemeOptLogPO
.
setDataExtend
(
"{\"sceneName\": \"测试JSON\",\"strategyName\": \"测试JSON\",\"ideaName\": \"测试JSON\"}"
);
// todo 需要通过场景策略方法
crossSchemeOptLogPO
.
setDataExtend
(
"{\"sceneName\": \"测试JSON\",\"strategyName\": \"测试JSON\",\"ideaName\": \"测试JSON\"}"
);
// todo 需要通过场景策略方法
String
phaseNo
=
crossPhaseDTO
.
getPhaseNo
();
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
phaseTimeOptResultMap
.
entrySet
())
{
if
(
Objects
.
equals
(
phaseNo
,
entry
.
getKey
()))
{
crossSchemeOptLogPO
.
setOptTime
(
entry
.
getValue
());
crossSchemeOptLogPO
.
setOptTime
(
entry
.
getValue
());
crossSchemeOptLogPO
.
setOriGreenTime
(
crossPhaseDTO
.
getGreenTime
());
crossSchemeOptLogPO
.
setOriGreenTime
(
crossPhaseDTO
.
getGreenTime
());
insertList
.
add
(
crossSchemeOptLogPO
);
}
}
}
}
insertList
.
add
(
crossSchemeOptLogPO
);
}
}
crossSchemeOptLogMapper
.
insertBatch
(
insertList
);
crossSchemeOptLogMapper
.
insertBatch
(
insertList
);
}
}
...
@@ -697,7 +698,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -697,7 +698,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
}
}
private
Integer
getRealOptGreenTime
(
Double
passTime
,
CrossPhaseDTO
crossPhaseDTO
)
{
private
Integer
getRealOptGreenTime
(
Double
passTime
,
CrossPhaseDTO
crossPhaseDTO
)
{
int
passTimeInt
=
passTime
==
null
?
0
:
passTime
.
intValue
();
Integer
passTimeInt
=
passTime
==
null
?
0
:
passTime
.
intValue
();
if
(
passTimeInt
<=
crossPhaseDTO
.
getMinGreenTime
())
{
if
(
passTimeInt
<=
crossPhaseDTO
.
getMinGreenTime
())
{
passTimeInt
=
crossPhaseDTO
.
getMinGreenTime
();
passTimeInt
=
crossPhaseDTO
.
getMinGreenTime
();
}
}
...
...
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