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
5b13fa8f
Commit
5b13fa8f
authored
Nov 16, 2024
by
zhouleilei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
计划数据-计划信息、时段信息 静态数据查询
parent
0a82502a
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
14 deletions
+19
-14
StaticInfoServiceImpl.java
...wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
+19
-14
No files found.
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
View file @
5b13fa8f
...
@@ -157,7 +157,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -157,7 +157,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
//16 个相位的最大绿时间(单位秒),中间用空格隔开,不存在的相位置 0。
//16 个相位的最大绿时间(单位秒),中间用空格隔开,不存在的相位置 0。
String
[]
maxGTime
=
phase
.
getMaxGTime
().
split
(
" "
);
String
[]
maxGTime
=
phase
.
getMaxGTime
().
split
(
" "
);
//封装环和环上相位数据
//封装环和环上相位数据
Map
<
Integer
,
List
<
RingPhaseDTO
>>
ringPhasesMap
=
getRingPhasesMap
(
ringCount
,
cycleJSONObject
,
redTime
,
greenTime
,
yellowTime
,
minGTime
,
maxGTime
);
Map
<
Integer
,
List
<
RingPhaseDTO
>>
ringPhasesMap
=
getRingPhasesMap
(
ringCount
,
cycleJSONObject
,
redTime
,
greenTime
,
yellowTime
,
minGTime
,
maxGTime
);
//16 个相位的放行方向,每个相位由 8 字节整型值存储(最多支持 7 个放行方向),每个字节表示一个放行方向,
//16 个相位的放行方向,每个相位由 8 字节整型值存储(最多支持 7 个放行方向),每个字节表示一个放行方向,
String
[]
channelDim
=
phase
.
getChannelDim
().
split
(
" "
);
String
[]
channelDim
=
phase
.
getChannelDim
().
split
(
" "
);
//数据处理
//数据处理
...
@@ -180,7 +180,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -180,7 +180,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
* @Param greenTime 绿
* @Param greenTime 绿
* @Param yellowTime 黄
* @Param yellowTime 黄
**/
**/
private
Map
<
Integer
,
List
<
RingPhaseDTO
>>
getRingPhasesMap
(
int
ringCount
,
JSONObject
cycleJSONObject
,
String
[]
redTime
,
String
[]
greenTime
,
String
[]
yellowTime
,
String
[]
minGTime
,
String
[]
maxGTime
)
{
private
Map
<
Integer
,
List
<
RingPhaseDTO
>>
getRingPhasesMap
(
int
ringCount
,
JSONObject
cycleJSONObject
,
String
[]
redTime
,
String
[]
greenTime
,
String
[]
yellowTime
,
String
[]
minGTime
,
String
[]
maxGTime
)
{
Map
<
Integer
,
List
<
RingPhaseDTO
>>
map
=
new
HashMap
<>();
Map
<
Integer
,
List
<
RingPhaseDTO
>>
map
=
new
HashMap
<>();
for
(
int
i
=
1
;
i
<=
ringCount
;
i
++)
{
for
(
int
i
=
1
;
i
<=
ringCount
;
i
++)
{
//取出环中的数据,并去掉空格和_,得到相位
//取出环中的数据,并去掉空格和_,得到相位
...
@@ -380,7 +380,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -380,7 +380,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
for
(
RingPhaseDTO
phaseDTO
:
ringPhaseList
)
{
for
(
RingPhaseDTO
phaseDTO
:
ringPhaseList
)
{
Integer
phaseId
=
phaseDTO
.
getPhaseId
();
Integer
phaseId
=
phaseDTO
.
getPhaseId
();
long
channe
=
Long
.
valueOf
(
channelDim
[
phaseId
-
1
]);
long
channe
=
Long
.
valueOf
(
channelDim
[
phaseId
-
1
]);
String
binaryString
=
Long
.
toBinaryString
(
channe
);
String
binaryString
=
Long
.
toBinaryString
(
channe
);
//获取方向转向分组
//获取方向转向分组
List
<
String
>
binaryList
=
CommonUtils
.
groupStringFromRight
(
binaryString
);
List
<
String
>
binaryList
=
CommonUtils
.
groupStringFromRight
(
binaryString
);
...
@@ -393,10 +393,13 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -393,10 +393,13 @@ public class StaticInfoServiceImpl implements StaticInfoService {
//灯组
//灯组
CrossLightsPO
crossLightsPO
=
new
CrossLightsPO
();
CrossLightsPO
crossLightsPO
=
new
CrossLightsPO
();
lightNum
.
getAndIncrement
();
lightNum
.
getAndIncrement
();
crossLightsPO
.
setLightsNo
(
lightNum
.
get
()
+
""
);
crossLightsPO
.
setLightsNo
(
lightNum
.
get
()
+
""
);
crossLightsPO
.
setName
(
"灯组"
+
lightNum
.
get
());
crossLightsPO
.
setName
(
"灯组"
+
lightNum
.
get
());
//默认0
//默认0
crossLightsPO
.
setType
(
0
);
crossLightsPO
.
setType
(
0
);
if
(
wjPerson
!=
0
)
{
crossLightsPO
.
setType
(
3
);
}
crossLightsPO
.
setDir
(
wjLightsDir
);
crossLightsPO
.
setDir
(
wjLightsDir
);
crossLightsPO
.
setTurn
(
wjLightsTurn
);
crossLightsPO
.
setTurn
(
wjLightsTurn
);
crossLightsPO
.
setCrossId
(
crossId
);
crossLightsPO
.
setCrossId
(
crossId
);
...
@@ -440,8 +443,8 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -440,8 +443,8 @@ public class StaticInfoServiceImpl implements StaticInfoService {
String
turn
=
dirTurn
.
substring
(
3
);
// 低五位 转向
String
turn
=
dirTurn
.
substring
(
3
);
// 低五位 转向
Integer
wjLightsDir
=
HiseseDirEnum
.
getWjLightsDir
(
Integer
.
parseInt
(
dir
,
2
));
Integer
wjLightsDir
=
HiseseDirEnum
.
getWjLightsDir
(
Integer
.
parseInt
(
dir
,
2
));
Integer
wjLightsTurn
=
HisenseTurnEnum
.
getWjLightsTurn
(
Integer
.
parseInt
(
turn
,
2
));
Integer
wjLightsTurn
=
HisenseTurnEnum
.
getWjLightsTurn
(
Integer
.
parseInt
(
turn
,
2
));
System
.
out
.
println
(
"wjLightsDir "
+
wjLightsDir
);
System
.
out
.
println
(
"wjLightsDir "
+
wjLightsDir
);
System
.
out
.
println
(
"wjLightsTurn "
+
wjLightsTurn
);
System
.
out
.
println
(
"wjLightsTurn "
+
wjLightsTurn
);
}
}
}
}
...
@@ -478,21 +481,23 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -478,21 +481,23 @@ public class StaticInfoServiceImpl implements StaticInfoService {
List
<
PlanSectionVO
>
list
=
new
ArrayList
<>();
List
<
PlanSectionVO
>
list
=
new
ArrayList
<>();
//根据时段表号分组
//根据时段表号分组
Map
<
Integer
,
List
<
VNtcipTimeBaseDayplanDTO
>>
collect
=
vNtcipTimeBaseDayplanDTOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
VNtcipTimeBaseDayplanDTO:
:
getNDayPlanNumber
));
Map
<
Integer
,
List
<
VNtcipTimeBaseDayplanDTO
>>
collect
=
vNtcipTimeBaseDayplanDTOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
VNtcipTimeBaseDayplanDTO:
:
getNDayPlanNumber
));
List
<
CrossPlanPO
>
crossPlanPOList
=
new
ArrayList
<>();
CrossPlanPO
crossPlan
=
new
CrossPlanPO
();
crossPlan
.
setCrossId
(
crossId
);
//计划号-取的是时段表号
crossPlan
.
setPlanNo
(
String
.
valueOf
(
planSectionDTO
.
getPlanNo
()));
crossPlan
.
setName
(
"海信信号机-时段表号:"
+
String
.
valueOf
(
planSectionDTO
.
getPlanNo
()));
crossPlanPOList
.
add
(
crossPlan
);
Set
<
Integer
>
keySet
=
collect
.
keySet
();
Set
<
Integer
>
keySet
=
collect
.
keySet
();
for
(
Integer
i
:
keySet
)
{
for
(
Integer
i
:
keySet
)
{
PlanSectionVO
planSectionVO
=
new
PlanSectionVO
();
PlanSectionVO
planSectionVO
=
new
PlanSectionVO
();
List
<
CrossPlanPO
>
crossPlanPOList
=
new
ArrayList
<>();
List
<
CrossSectionPO
>
crossSectionPOList
=
new
ArrayList
<>();
List
<
CrossSectionPO
>
crossSectionPOList
=
new
ArrayList
<>();
//时段数据
//时段数据
List
<
VNtcipTimeBaseDayplanDTO
>
dayplanDTOS
=
collect
.
get
(
i
);
List
<
VNtcipTimeBaseDayplanDTO
>
dayplanDTOS
=
collect
.
get
(
i
);
for
(
int
i1
=
0
;
i1
<
dayplanDTOS
.
size
();
i1
++)
{
for
(
int
i1
=
0
;
i1
<
dayplanDTOS
.
size
();
i1
++)
{
VNtcipTimeBaseDayplanDTO
dayplanDTO
=
dayplanDTOS
.
get
(
i1
);
VNtcipTimeBaseDayplanDTO
dayplanDTO
=
dayplanDTOS
.
get
(
i1
);
CrossPlanPO
crossPlan
=
new
CrossPlanPO
();
CrossSectionPO
crossSectionPO
=
new
CrossSectionPO
();
CrossSectionPO
crossSectionPO
=
new
CrossSectionPO
();
crossPlan
.
setCrossId
(
crossId
);
//计划号-取的是时段表号
crossPlan
.
setPlanNo
(
dayplanDTO
.
getNDayPlanNumber
()
+
""
);
crossPlan
.
setName
(
"海信信号机-时段表号:"
+
dayplanDTO
.
getNDayPlanNumber
());
crossSectionPO
.
setCrossId
(
crossId
);
crossSectionPO
.
setCrossId
(
crossId
);
//时段号 - 取的是时段序号
//时段号 - 取的是时段序号
...
@@ -522,7 +527,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -522,7 +527,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
//创建时间
//创建时间
crossSectionPO
.
setGmtModified
(
null
);
crossSectionPO
.
setGmtModified
(
null
);
crossPlanPOList
.
add
(
crossPlan
);
crossSectionPOList
.
add
(
crossSectionPO
);
crossSectionPOList
.
add
(
crossSectionPO
);
}
}
...
...
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