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
3ae9452f
Commit
3ae9452f
authored
Jan 31, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 优化相位红灯灯色,忽略行人灯组
parent
5259a162
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
8 deletions
+26
-8
HisensePhaseCountDownTask.java
...net/wanji/utc/hisense/task/HisensePhaseCountDownTask.java
+13
-4
SignalStatus4StaticSchemeTask.java
...ava/net/wanji/utc/task/SignalStatus4StaticSchemeTask.java
+13
-4
No files found.
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/task/HisensePhaseCountDownTask.java
View file @
3ae9452f
...
@@ -305,6 +305,8 @@ public class HisensePhaseCountDownTask {
...
@@ -305,6 +305,8 @@ public class HisensePhaseCountDownTask {
String
schemeNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getSchemeNo
());
String
schemeNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getSchemeNo
());
String
phaseNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getPhaseNo
());
String
phaseNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getPhaseNo
());
if
(
StringUtils
.
equalsIgnoreCase
(
schemeNo
,
currentSchemeNo
))
{
if
(
StringUtils
.
equalsIgnoreCase
(
schemeNo
,
currentSchemeNo
))
{
// 判断圆饼灯代表123,还是23
List
<
CrossLightsPO
>
crossLightsPOS
=
crossLightsMapper
.
selectByCrossId
(
crossId
);
if
(!
StringUtils
.
equalsIgnoreCase
(
currentPhaseNo
,
String
.
valueOf
(
phaseNo
)))
{
if
(!
StringUtils
.
equalsIgnoreCase
(
currentPhaseNo
,
String
.
valueOf
(
phaseNo
)))
{
// 相位红灯
// 相位红灯
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
...
@@ -321,15 +323,24 @@ public class HisensePhaseCountDownTask {
...
@@ -321,15 +323,24 @@ public class HisensePhaseCountDownTask {
int
type
=
1
;
int
type
=
1
;
for
(
CrossLightsPO
crossLightsPO
:
value
)
{
//todo 需要处理,路口方向级别,灯组圆饼灯要区分,有没有左转,crossd dir级别,有几个转向
for
(
CrossLightsPO
crossLightsPO
:
value
)
{
//todo 需要处理,路口方向级别,灯组圆饼灯要区分,有没有左转,crossd dir级别,有几个转向
Integer
turn
=
crossLightsPO
.
getTurn
();
Integer
turn
=
crossLightsPO
.
getTurn
();
type
=
crossLightsPO
.
getType
();
if
(
crossLightsPO
.
getType
()
!=
3
)
{
// 设置灯色时不处理行人
type
=
crossLightsPO
.
getType
();
}
// 搭接相位跳过绿灯变红灯
// 搭接相位跳过绿灯变红灯
if
(
turnColor
.
containsKey
(
turn
)
&&
turnColor
.
get
(
turn
).
equals
(
"green"
))
{
if
(
turnColor
.
containsKey
(
turn
)
&&
turnColor
.
get
(
turn
).
equals
(
"green"
))
{
continue
;
continue
;
}
}
turnColor
.
put
(
turn
,
"red"
);
turnColor
.
put
(
turn
,
"red"
);
}
}
List
<
CrossLightsPO
>
dirAllLights
=
crossLightsPOS
.
stream
()
.
filter
(
po
->
Objects
.
equals
(
po
.
getDir
(),
entry
.
getKey
())
&&
!
Objects
.
equals
(
po
.
getType
(),
3
))
.
collect
(
Collectors
.
toList
());
if
(
type
==
2
)
{
if
(
type
==
2
)
{
setAllTurnColor
(
turnColor
,
"red"
);
//红灯时,圆饼灯操作
if
(
dirAllLights
.
size
()
==
1
)
{
setAllTurnColor
(
turnColor
,
"red"
);
//红灯时,圆饼灯操作
}
else
{
turnColor
.
put
(
2
,
"red"
);
}
}
}
turnColor
.
put
(
3
,
"green"
);
turnColor
.
put
(
3
,
"green"
);
dirLampGroupMap
.
put
(
dir
,
turnColor
);
dirLampGroupMap
.
put
(
dir
,
turnColor
);
...
@@ -344,8 +355,6 @@ public class HisensePhaseCountDownTask {
...
@@ -344,8 +355,6 @@ public class HisensePhaseCountDownTask {
Integer
yellowTime
=
phaseCountDownDTO
.
getYellowTime
();
Integer
yellowTime
=
phaseCountDownDTO
.
getYellowTime
();
Integer
redTime
=
phaseCountDownDTO
.
getRedTime
();
Integer
redTime
=
phaseCountDownDTO
.
getRedTime
();
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
// 判断圆饼灯代表123,还是23
List
<
CrossLightsPO
>
crossLightsPOS
=
crossLightsMapper
.
selectByCrossId
(
crossId
);
if
(!
dirTurnMap
.
isEmpty
())
{
if
(!
dirTurnMap
.
isEmpty
())
{
setDirTurnColor
(
cyclePhaseCountDown
,
dirLampGroupMap
,
yellowTime
,
redTime
,
dirTurnMap
,
crossLightsPOS
);
setDirTurnColor
(
cyclePhaseCountDown
,
dirLampGroupMap
,
yellowTime
,
redTime
,
dirTurnMap
,
crossLightsPOS
);
}
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/task/SignalStatus4StaticSchemeTask.java
View file @
3ae9452f
...
@@ -498,6 +498,8 @@ public class SignalStatus4StaticSchemeTask {
...
@@ -498,6 +498,8 @@ public class SignalStatus4StaticSchemeTask {
String
schemeNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getSchemeNo
());
String
schemeNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getSchemeNo
());
String
phaseNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getPhaseNo
());
String
phaseNo
=
String
.
valueOf
(
phaseDirTurnPojo
.
getPhaseNo
());
if
(
StringUtils
.
equalsIgnoreCase
(
schemeNo
,
currentSchemeNo
))
{
if
(
StringUtils
.
equalsIgnoreCase
(
schemeNo
,
currentSchemeNo
))
{
// 判断圆饼灯代表123,还是23
List
<
CrossLightsPO
>
crossLightsPOS
=
crossLightsMapper
.
selectByCrossId
(
crossId
);
if
(!
StringUtils
.
equalsIgnoreCase
(
currentPhaseNo
,
String
.
valueOf
(
phaseNo
)))
{
if
(!
StringUtils
.
equalsIgnoreCase
(
currentPhaseNo
,
String
.
valueOf
(
phaseNo
)))
{
// 相位红灯
// 相位红灯
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
...
@@ -514,15 +516,24 @@ public class SignalStatus4StaticSchemeTask {
...
@@ -514,15 +516,24 @@ public class SignalStatus4StaticSchemeTask {
int
type
=
1
;
int
type
=
1
;
for
(
CrossLightsPO
crossLightsPO
:
value
)
{
//todo 需要处理,路口方向级别,灯组圆饼灯要区分,有没有左转,crossd dir级别,有几个转向
for
(
CrossLightsPO
crossLightsPO
:
value
)
{
//todo 需要处理,路口方向级别,灯组圆饼灯要区分,有没有左转,crossd dir级别,有几个转向
Integer
turn
=
crossLightsPO
.
getTurn
();
Integer
turn
=
crossLightsPO
.
getTurn
();
type
=
crossLightsPO
.
getType
();
if
(
crossLightsPO
.
getType
()
!=
3
)
{
// 设置灯色时不处理行人
type
=
crossLightsPO
.
getType
();
}
// 搭接相位跳过绿灯变红灯
// 搭接相位跳过绿灯变红灯
if
(
turnColor
.
containsKey
(
turn
)
&&
turnColor
.
get
(
turn
).
equals
(
"green"
))
{
if
(
turnColor
.
containsKey
(
turn
)
&&
turnColor
.
get
(
turn
).
equals
(
"green"
))
{
continue
;
continue
;
}
}
turnColor
.
put
(
turn
,
"red"
);
turnColor
.
put
(
turn
,
"red"
);
}
}
List
<
CrossLightsPO
>
dirAllLights
=
crossLightsPOS
.
stream
()
.
filter
(
po
->
Objects
.
equals
(
po
.
getDir
(),
entry
.
getKey
())
&&
!
Objects
.
equals
(
po
.
getType
(),
3
))
.
collect
(
Collectors
.
toList
());
if
(
type
==
2
)
{
if
(
type
==
2
)
{
setAllTurnColor
(
turnColor
,
"red"
);
//红灯时,圆饼灯操作
if
(
dirAllLights
.
size
()
==
1
)
{
setAllTurnColor
(
turnColor
,
"red"
);
//红灯时,圆饼灯操作
}
else
{
turnColor
.
put
(
2
,
"red"
);
}
}
}
turnColor
.
put
(
3
,
"green"
);
turnColor
.
put
(
3
,
"green"
);
dirLampGroupMap
.
put
(
dir
,
turnColor
);
dirLampGroupMap
.
put
(
dir
,
turnColor
);
...
@@ -537,8 +548,6 @@ public class SignalStatus4StaticSchemeTask {
...
@@ -537,8 +548,6 @@ public class SignalStatus4StaticSchemeTask {
Integer
yellowTime
=
phaseCountDownDTO
.
getYellowTime
();
Integer
yellowTime
=
phaseCountDownDTO
.
getYellowTime
();
Integer
redTime
=
phaseCountDownDTO
.
getRedTime
();
Integer
redTime
=
phaseCountDownDTO
.
getRedTime
();
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
Map
<
Integer
,
List
<
CrossLightsPO
>>
dirTurnMap
=
phaseDirTurnPojo
.
getDirTurnMap
();
// 判断圆饼灯代表123,还是23
List
<
CrossLightsPO
>
crossLightsPOS
=
crossLightsMapper
.
selectByCrossId
(
crossId
);
if
(
Objects
.
nonNull
(
dirTurnMap
)
&&
!
dirTurnMap
.
isEmpty
())
{
if
(
Objects
.
nonNull
(
dirTurnMap
)
&&
!
dirTurnMap
.
isEmpty
())
{
setDirTurnColor
(
cyclePhaseCountDown
,
dirLampGroupMap
,
yellowTime
,
redTime
,
dirTurnMap
,
crossLightsPOS
);
setDirTurnColor
(
cyclePhaseCountDown
,
dirLampGroupMap
,
yellowTime
,
redTime
,
dirTurnMap
,
crossLightsPOS
);
}
}
...
...
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