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
910b05da
Commit
910b05da
authored
Sep 04, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 优化海信获取灯态
parent
8d012997
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
68 deletions
+7
-68
SignalStatusServiceImpl.java
...nji/utc/hisense/service/impl/SignalStatusServiceImpl.java
+7
-68
No files found.
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/SignalStatusServiceImpl.java
View file @
910b05da
...
...
@@ -7,14 +7,14 @@ import net.wanji.common.utils.tool.JacksonUtils;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.SignalStatusLogPO
;
import
net.wanji.databus.vo.LightsStatusVO
;
import
net.wanji.utc.hisense.cache.ComplexCrossCache
;
import
net.wanji.utc.hisense.cache.CrossInfoCache
;
import
net.wanji.utc.hisense.cache.SignalDataCache
;
import
net.wanji.utc.hisense.common.enums.*
;
import
net.wanji.utc.hisense.common.enums.DataBrainControlModeEnum
;
import
net.wanji.utc.hisense.common.enums.DataBrainDirEnum
;
import
net.wanji.utc.hisense.common.enums.DataBrainLampStatusEnum
;
import
net.wanji.utc.hisense.common.enums.DataBrainTurnEnum
;
import
net.wanji.utc.hisense.pojo.convert.HisenseLightStatusPojo
;
import
net.wanji.utc.hisense.pojo.convert.RunningLightsStatusPojo
;
import
net.wanji.utc.hisense.service.SignalStatusService
;
import
net.wanji.utc.hisense.util.CommonUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -38,69 +38,8 @@ public class SignalStatusServiceImpl implements SignalStatusService {
@Override
public
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
)
{
List
<
LightsStatusVO
>
lightsStatusVOS
=
new
ArrayList
<>();
Map
<
String
,
RunningLightsStatusPojo
>
runningStateInfoCache
=
SignalDataCache
.
runningStateInfoCache
;
log
.
error
(
"============>当前海信灯态缓存为空"
);
if
(!
runningStateInfoCache
.
isEmpty
())
{
RunningLightsStatusPojo
runningLightsStatusPojo
=
runningStateInfoCache
.
get
(
crossId
);
LightsStatusVO
lightsStatusVO
=
new
LightsStatusVO
();
lightsStatusVO
.
setCrossId
(
crossId
);
String
runMode
=
String
.
valueOf
(
ControlModelEnum
.
getWjControlMode
(
runningLightsStatusPojo
.
getCCT
()));
lightsStatusVO
.
setRunMode
(
runMode
);
lightsStatusVO
.
setCycleLen
(
runningLightsStatusPojo
.
getCC
());
// 相位剩余时长
List
<
RunningLightsStatusPojo
.
Phase
>
phaseList
=
runningLightsStatusPojo
.
getPHASE
();
Integer
phaseId
=
0
;
Integer
phaseCountDown
=
0
;
for
(
RunningLightsStatusPojo
.
Phase
phase
:
phaseList
)
{
Integer
ls
=
phase
.
getLS
();
if
(
Objects
.
equals
(
ls
,
1
))
{
// 当前相位绿灯
phaseId
=
phase
.
getPHN
();
phaseCountDown
=
phase
.
getPCD
();
}
}
lightsStatusVO
.
setCycleCountDown
(
phaseCountDown
);
lightsStatusVO
.
setPhaseId
(
String
.
valueOf
(
phaseId
));
lightsStatusVO
.
setSchemeId
(
String
.
valueOf
(
runningLightsStatusPojo
.
getPLN
()));
RunningLightsStatusPojo
.
Channel
channel
=
runningLightsStatusPojo
.
getCHANNEL
();
Map
<
String
,
Object
>
dirLampGroupMap
=
new
HashMap
<>();
List
<
Integer
>
scs
=
channel
.
getSCS
();
if
(!
CollectionUtils
.
isEmpty
(
scs
))
{
for
(
int
i
=
0
;
i
<
scs
.
size
();
i
++)
{
Map
<
Integer
,
String
>
turnColorMap
=
new
HashMap
<>();
String
lightsColor
=
String
.
valueOf
(
scs
.
get
(
i
));
String
wjLightColor
=
PhaseLightColorEnum
.
getWjLightColor
(
lightsColor
);
Integer
turn
=
null
;
turn
=
CommonUtils
.
getTurnByLightsId
(
i
);
// 复杂路口处理
Map
<
String
,
Map
<
Integer
,
Integer
>>
turnCacheMap
=
ComplexCrossCache
.
getTurnCacheMap
();
if
(
turnCacheMap
.
containsKey
(
crossId
))
{
Map
<
Integer
,
Integer
>
innerMap
=
turnCacheMap
.
get
(
crossId
);
turn
=
innerMap
.
get
(
i
);
}
turnColorMap
.
put
(
turn
,
wjLightColor
);
String
dir
=
String
.
valueOf
(
CommonUtils
.
getDirByLightsId
(
i
));
// 复杂路口处理
Map
<
String
,
Map
<
Integer
,
Integer
>>
dirCacheMap
=
ComplexCrossCache
.
getDirCacheMap
();
if
(
dirCacheMap
.
containsKey
(
crossId
))
{
Map
<
Integer
,
Integer
>
innerMap
=
dirCacheMap
.
get
(
crossId
);
dir
=
String
.
valueOf
(
innerMap
.
get
(
i
));
}
if
(
dirLampGroupMap
.
isEmpty
()
||
Objects
.
isNull
(
dirLampGroupMap
.
get
(
dir
)))
{
dirLampGroupMap
.
put
(
dir
,
turnColorMap
);
}
else
{
Map
<
Integer
,
String
>
currentTurnColorMap
=
(
Map
<
Integer
,
String
>)
dirLampGroupMap
.
get
(
dir
);
currentTurnColorMap
.
put
(
turn
,
wjLightColor
);
dirLampGroupMap
.
put
(
dir
,
currentTurnColorMap
);
}
}
}
lightsStatusVO
.
setDirLampGroupMap
(
dirLampGroupMap
);
lightsStatusVOS
.
add
(
lightsStatusVO
);
}
LightsStatusVO
lightsStatusVO
=
SignalDataCache
.
runningStateInfoCache4DataBrain
.
get
(
crossId
);
lightsStatusVOS
.
add
(
lightsStatusVO
);
return
lightsStatusVOS
;
}
...
...
@@ -154,8 +93,8 @@ public class SignalStatusServiceImpl implements SignalStatusService {
dirMap
.
put
(
String
.
valueOf
(
DataBrainDirEnum
.
getWjLightsDir
(
roadDirection
)),
turnMap
);
}
lightsStatusVO
.
setDirLampGroupMap
(
dirMap
);
log
.
error
(
" ========== {}"
,
lightsStatusVO
);
SignalDataCache
.
runningStateInfoCache4DataBrain
.
put
(
crossId
,
lightsStatusVO
);
log
.
error
(
"接收滴滴数据大脑后缓存路口灯态:{}"
,
SignalDataCache
.
runningStateInfoCache4DataBrain
);
}
}
}
...
...
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