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
0303b83b
Commit
0303b83b
authored
Jan 05, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
方案管理-灯组配置,安装位置数类型由数字改为字符串
parent
ef60234e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
95 additions
and
14 deletions
+95
-14
LightsAddressEnum.java
...in/java/net/wanji/web/common/enums/LightsAddressEnum.java
+74
-0
LedConfigListElement.java
...src/main/java/net/wanji/web/dto/LedConfigListElement.java
+1
-1
CrossConfigServiceImpl.java
...wanji/web/service/scheme/impl/CrossConfigServiceImpl.java
+20
-13
No files found.
signal-control-service/src/main/java/net/wanji/web/common/enums/LightsAddressEnum.java
0 → 100644
View file @
0303b83b
package
net
.
wanji
.
web
.
common
.
enums
;
import
java.util.Objects
;
/**
* 灯组位置枚举
*
* @author Kent HAN
* @date 2023/1/5 8:54
*/
public
enum
LightsAddressEnum
{
ONE
(
1
,
"北"
),
TWO
(
2
,
"东北"
),
THREE
(
3
,
"东"
),
FOUR
(
4
,
"东南"
),
FIVE
(
5
,
"南"
),
SIX
(
6
,
"西南"
),
SEVEN
(
7
,
"西"
),
EIGHT
(
8
,
"西北"
),
ONE_ONE
(
11
,
"北一次过街"
),
ONE_TWO_ONE
(
121
,
"北出口二次过街"
),
ONE_TWO_TWO
(
122
,
"北进口二次过街"
),
TWO_ONE
(
21
,
"东北一次过街"
),
TWO_TWO_ONE
(
221
,
"东北出口二次过街"
),
TWO_TWO_TWO
(
222
,
"东北进口二次过街"
),
THREE_ONE
(
31
,
"东一次过街"
),
THREE_TWO_ONE
(
321
,
"东出口二次过街"
),
THREE_TWO_TWO
(
322
,
"东进口二次过街"
),
FOUR_ONE
(
41
,
"东南一次过街"
),
FOUR_TWO_ONE
(
421
,
"东南出口二次过街"
),
FOUR_TWO_TWO
(
422
,
"东南进口二次过街"
),
FIVE_ONE
(
51
,
"南一次过街"
),
FIVE_TWO_ONE
(
521
,
"南出口二次过街"
),
FIVE_TWO_TWO
(
522
,
"南进口二次过街"
),
SIX_ONE
(
61
,
"西南一次过街"
),
SIX_TWO_ONE
(
621
,
"西南出口二次过街"
),
SIX_TWO_TWO
(
622
,
"西南进口二次过街"
),
SEVEN_ONE
(
71
,
"西一次过街"
),
SEVEN_TWO_ONE
(
721
,
"西出口二次过街"
),
SEVEN_TWO_TWO
(
722
,
"西进口二次过街"
),
EIGHT_ONE
(
81
,
"西北一次过街"
),
EIGHT_TWO_ONE
(
821
,
"西北出口二次过街"
),
EIGHT_TWO_TWO
(
822
,
"西北进口二次过街"
);
private
final
int
code
;
private
final
String
msg
;
LightsAddressEnum
(
int
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
static
String
getMsgByCode
(
int
code
)
{
for
(
LightsAddressEnum
value
:
LightsAddressEnum
.
values
())
{
if
(
value
.
code
==
code
)
{
return
value
.
msg
;
}
}
return
null
;
}
public
static
Integer
getCodeByMsg
(
String
msg
)
{
for
(
LightsAddressEnum
value
:
LightsAddressEnum
.
values
())
{
if
(
Objects
.
equals
(
value
.
msg
,
msg
))
{
return
value
.
code
;
}
}
return
null
;
}
public
String
getMsg
()
{
return
msg
;
}
}
signal-control-service/src/main/java/net/wanji/web/dto/LedConfigListElement.java
View file @
0303b83b
...
@@ -18,7 +18,7 @@ public class LedConfigListElement {
...
@@ -18,7 +18,7 @@ public class LedConfigListElement {
@ApiModelProperty
(
value
=
"信号灯类型: 1:圆饼灯,2: 非机动车灯,3: 左转灯,4: 直行灯,5: 右转灯,6: 掉头灯,7: 公交专用灯,8: 行人灯"
,
required
=
true
)
@ApiModelProperty
(
value
=
"信号灯类型: 1:圆饼灯,2: 非机动车灯,3: 左转灯,4: 直行灯,5: 右转灯,6: 掉头灯,7: 公交专用灯,8: 行人灯"
,
required
=
true
)
private
Integer
signalType
;
private
Integer
signalType
;
@ApiModelProperty
(
value
=
"灯组位置:1北;2东北;3东;4东南;5南;6西南;7西;8西北;11北一次过街;121北出口二次过街;122北进口二次过街"
,
required
=
true
)
@ApiModelProperty
(
value
=
"灯组位置:1北;2东北;3东;4东南;5南;6西南;7西;8西北;11北一次过街;121北出口二次过街;122北进口二次过街"
,
required
=
true
)
private
Integer
address
;
private
String
address
;
@ApiModelProperty
(
value
=
"灯组序号"
,
required
=
true
)
@ApiModelProperty
(
value
=
"灯组序号"
,
required
=
true
)
private
Integer
order
;
private
Integer
order
;
}
}
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/CrossConfigServiceImpl.java
View file @
0303b83b
package
net
.
wanji
.
web
.
service
.
scheme
.
impl
;
package
net
.
wanji
.
web
.
service
.
scheme
.
impl
;
import
net.wanji.web.common.enums.LightsAddressEnum
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.DirListElement
;
import
net.wanji.web.dto.DirListElement
;
import
net.wanji.web.dto.LaneListElement
;
import
net.wanji.web.dto.LaneListElement
;
...
@@ -136,8 +137,9 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -136,8 +137,9 @@ public class CrossConfigServiceImpl implements CrossConfigService {
// 灯组类型
// 灯组类型
setType
(
ledConfigListElement
,
crossLightsPO
);
setType
(
ledConfigListElement
,
crossLightsPO
);
// 灯组放行方向
// 灯组放行方向
Integer
address
=
ledConfigListElement
.
getAddress
();
String
address
=
ledConfigListElement
.
getAddress
();
if
(
address
<
10
)
{
// 非行人灯
Integer
addressCode
=
LightsAddressEnum
.
getCodeByMsg
(
address
);
if
(
addressCode
<
10
)
{
// 非行人灯
Integer
dir
=
ADDRESS_DIR_MAP
.
get
(
address
);
Integer
dir
=
ADDRESS_DIR_MAP
.
get
(
address
);
crossLightsPO
.
setDir
(
dir
);
crossLightsPO
.
setDir
(
dir
);
}
else
{
// 行人灯
}
else
{
// 行人灯
...
@@ -155,7 +157,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -155,7 +157,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
private
static
void
setType
(
LedConfigListElement
ledConfigListElement
,
CrossLightsPO
crossLightsPO
)
{
private
static
void
setType
(
LedConfigListElement
ledConfigListElement
,
CrossLightsPO
crossLightsPO
)
{
Integer
type
=
ledConfigListElement
.
getType
();
Integer
type
=
ledConfigListElement
.
getType
();
Integer
signalType
=
ledConfigListElement
.
getSignalType
();
Integer
signalType
=
ledConfigListElement
.
getSignalType
();
Integer
address
=
ledConfigListElement
.
getAddress
();
String
address
=
ledConfigListElement
.
getAddress
();
if
(
type
==
1
)
{
// 机动车灯
if
(
type
==
1
)
{
// 机动车灯
if
(
signalType
==
1
)
{
if
(
signalType
==
1
)
{
// 圆饼灯
// 圆饼灯
...
@@ -182,11 +184,12 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -182,11 +184,12 @@ public class CrossConfigServiceImpl implements CrossConfigService {
crossLightsPO
.
setType
(
30
);
crossLightsPO
.
setType
(
30
);
}
}
}
else
if
(
type
==
4
)
{
// 行人
}
else
if
(
type
==
4
)
{
// 行人
if
(
address
>=
10
&&
address
<=
99
)
{
// 两位数为一次过街
Integer
addressCode
=
LightsAddressEnum
.
getCodeByMsg
(
address
);
if
(
addressCode
>=
10
&&
addressCode
<=
99
)
{
// 两位数为一次过街
crossLightsPO
.
setType
(
20
);
crossLightsPO
.
setType
(
20
);
}
else
if
(
address
>=
100
&&
address
%
10
==
1
)
{
// 三位数为二次过街,个位是1表示出口
}
else
if
(
address
Code
>=
100
&&
addressCode
%
10
==
1
)
{
// 三位数为二次过街,个位是1表示出口
crossLightsPO
.
setType
(
22
);
crossLightsPO
.
setType
(
22
);
}
else
if
(
address
>=
100
&&
address
%
10
==
2
)
{
// 三位数为二次过街,个位是2表示进口
}
else
if
(
address
Code
>=
100
&&
addressCode
%
10
==
2
)
{
// 三位数为二次过街,个位是2表示进口
crossLightsPO
.
setType
(
21
);
crossLightsPO
.
setType
(
21
);
}
}
}
}
...
@@ -272,21 +275,19 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -272,21 +275,19 @@ public class CrossConfigServiceImpl implements CrossConfigService {
}
}
// 灯组放行方向转换为灯组位置
// 灯组放行方向转换为灯组位置
Integer
dir
=
crossLightsPO
.
getDir
();
Integer
dir
=
crossLightsPO
.
getDir
();
Integer
address
=
DIR_ADDRESS_MAP
.
get
(
dir
);
Integer
address
Code
=
DIR_ADDRESS_MAP
.
get
(
dir
);
if
(
type
<
20
||
type
>=
30
)
{
// 非行人灯
if
(
type
<
20
||
type
>=
30
)
{
// 非行人灯
String
address
=
LightsAddressEnum
.
getMsgByCode
(
addressCode
);
ledConfigListElement
.
setAddress
(
address
);
ledConfigListElement
.
setAddress
(
address
);
}
else
if
(
type
==
20
)
{
// 一次过街
}
else
if
(
type
==
20
)
{
// 一次过街
String
s
=
""
+
dir
+
1
;
String
s
=
""
+
dir
+
1
;
int
i
=
Integer
.
parseInt
(
s
);
setLightAddress
(
ledConfigListElement
,
s
);
ledConfigListElement
.
setAddress
(
i
);
}
else
if
(
type
==
22
)
{
// 二次过街-出口
}
else
if
(
type
==
22
)
{
// 二次过街-出口
String
s
=
""
+
dir
+
21
;
String
s
=
""
+
dir
+
21
;
int
i
=
Integer
.
parseInt
(
s
);
setLightAddress
(
ledConfigListElement
,
s
);
ledConfigListElement
.
setAddress
(
i
);
}
else
if
(
type
==
21
)
{
// 二次过街-进口
}
else
if
(
type
==
21
)
{
// 二次过街-进口
String
s
=
""
+
dir
+
22
;
String
s
=
""
+
dir
+
22
;
int
i
=
Integer
.
parseInt
(
s
);
setLightAddress
(
ledConfigListElement
,
s
);
ledConfigListElement
.
setAddress
(
i
);
}
}
ledConfigList
.
add
(
ledConfigListElement
);
ledConfigList
.
add
(
ledConfigListElement
);
}
}
...
@@ -294,6 +295,12 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -294,6 +295,12 @@ public class CrossConfigServiceImpl implements CrossConfigService {
ledConfigList
.
sort
(
Comparator
.
comparing
(
LedConfigListElement:
:
getOrder
));
ledConfigList
.
sort
(
Comparator
.
comparing
(
LedConfigListElement:
:
getOrder
));
}
}
private
static
void
setLightAddress
(
LedConfigListElement
ledConfigListElement
,
String
s
)
{
int
i
=
Integer
.
parseInt
(
s
);
String
address
=
LightsAddressEnum
.
getMsgByCode
(
i
);
ledConfigListElement
.
setAddress
(
address
);
}
private
void
buildDirList
(
String
crossId
,
SaveLaneInfoDTO
saveLaneInfoDTO
)
{
private
void
buildDirList
(
String
crossId
,
SaveLaneInfoDTO
saveLaneInfoDTO
)
{
saveLaneInfoDTO
.
setDirList
(
new
ArrayList
<>());
saveLaneInfoDTO
.
setDirList
(
new
ArrayList
<>());
List
<
LaneInfoPO
>
laneInfoPOList
=
laneInfoMapper
.
selectBycrossId
(
crossId
);
List
<
LaneInfoPO
>
laneInfoPOList
=
laneInfoMapper
.
selectBycrossId
(
crossId
);
...
...
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