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
79b138b9
Commit
79b138b9
authored
Dec 07, 2024
by
zhoushiguang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
b42fdf05
73f9652f
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
68 additions
and
46 deletions
+68
-46
CrossDirChangeEnum.java
...n/java/net/wanji/web/common/enums/CrossDirChangeEnum.java
+46
-0
PlanSendServiceImpl.java
.../java/net/wanji/web/service/impl/PlanSendServiceImpl.java
+22
-46
No files found.
signal-control-service/src/main/java/net/wanji/web/common/enums/CrossDirChangeEnum.java
0 → 100644
View file @
79b138b9
package
net
.
wanji
.
web
.
common
.
enums
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @author zhouleilei
* @date 2024/12/7 22:03
*/
public
enum
CrossDirChangeEnum
{
ONE
(
1
,
5
,
"北"
),
TWO
(
2
,
6
,
"东北"
),
THREE
(
3
,
7
,
"东"
),
FOUR
(
4
,
8
,
"东南"
),
FIVE
(
5
,
1
,
"南"
),
SIX
(
6
,
2
,
"西南"
),
SEVEN
(
7
,
3
,
"西"
),
EIGHT
(
8
,
4
,
"西北"
);
@Getter
@Setter
private
final
int
code
;
@Getter
@Setter
private
final
int
dir
;
@Getter
@Setter
private
final
String
msg
;
CrossDirChangeEnum
(
int
code
,
int
dir
,
String
msg
)
{
this
.
code
=
code
;
this
.
dir
=
dir
;
this
.
msg
=
msg
;
}
public
static
CrossDirChangeEnum
getMsgByCode
(
int
code
)
{
for
(
CrossDirChangeEnum
value
:
CrossDirChangeEnum
.
values
())
{
if
(
value
.
code
==
code
)
{
return
value
;
}
}
return
null
;
}
}
signal-control-service/src/main/java/net/wanji/web/service/impl/PlanSendServiceImpl.java
View file @
79b138b9
...
...
@@ -15,10 +15,10 @@ import net.wanji.databus.dao.entity.*;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.dto.*
;
import
net.wanji.databus.po.BaseCrossLightsPO
;
import
net.wanji.databus.po.CrossSchemeInfoPO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.common.enums.CrossDirChangeEnum
;
import
net.wanji.web.dto.*
;
import
net.wanji.web.po.RingPhasePO
;
import
net.wanji.web.service.FeignProxyService
;
...
...
@@ -642,53 +642,29 @@ public class PlanSendServiceImpl implements PlanSendService {
return
ringPhasePO
;
}
int
schemeId
=
Integer
.
valueOf
(
content
.
getSchemeNo
());
List
<
CrossSchemeInfoPO
>
crossSchemeInfoPOS
=
baseCrossSchemeMapper
.
selectSchemeInfoByCrossIdAndSchemeId
(
crossIdAndTimeDTO
.
getCrossId
(),
schemeId
);
if
(
ObjectUtil
.
isNotEmpty
(
crossSchemeInfoPOS
))
{
//根据相位号分组
LinkedHashMap
<
String
,
List
<
CrossSchemeInfoPO
>>
collect
=
crossSchemeInfoPOS
.
stream
().
collect
(
Collectors
.
groupingBy
(
CrossSchemeInfoPO:
:
getPhaseNo
,
LinkedHashMap:
:
new
,
Collectors
.
toList
()));
Set
<
String
>
set
=
collect
.
keySet
();
for
(
String
s
:
set
)
{
List
<
CrossSchemeInfoPO
>
infoPOS
=
collect
.
get
(
s
);
CrossSchemeInfoPO
crossSchemeInfoPO
=
infoPOS
.
get
(
0
);
SaveSchemeConfigDTO
.
PhaseListElement
phaseListElement
=
new
SaveSchemeConfigDTO
.
PhaseListElement
();
phaseListElement
.
setPhaseId
(
Integer
.
valueOf
(
crossSchemeInfoPO
.
getPhaseId
()));
phaseListElement
.
setPhaseNo
(
crossSchemeInfoPO
.
getPhaseNo
());
phaseListElement
.
setGreenTime
(
Integer
.
valueOf
(
crossSchemeInfoPO
.
getGreenTime
()));
phaseListElement
.
setYellowTime
(
Integer
.
valueOf
(
crossSchemeInfoPO
.
getYellowTime
()));
phaseListElement
.
setRedTime
(
Integer
.
valueOf
(
crossSchemeInfoPO
.
getRedTime
()));
List
<
SaveSchemeConfigDTO
.
DirListElement
>
dirListElements
=
new
ArrayList
<>();
Map
<
String
,
List
<
CrossSchemeInfoPO
>>
dircollect
=
infoPOS
.
stream
().
filter
(
x
->
x
.
getDir
()
!=
null
).
collect
(
Collectors
.
groupingBy
(
CrossSchemeInfoPO:
:
getDir
));
if
(
ObjectUtil
.
isNotEmpty
(
dircollect
))
{
Set
<
String
>
dirSet
=
dircollect
.
keySet
();
for
(
String
string
:
dirSet
)
{
List
<
CrossSchemeInfoPO
>
crossSchemeInfoPOS1
=
dircollect
.
get
(
string
);
CrossSchemeInfoPO
po
=
crossSchemeInfoPOS1
.
get
(
0
);
SaveSchemeConfigDTO
.
DirListElement
dirListElement
=
new
SaveSchemeConfigDTO
.
DirListElement
();
dirListElement
.
setDir
(
Integer
.
valueOf
(
po
.
getDir
()));
List
<
SaveSchemeConfigDTO
.
LaneListElement
>
laneList
=
new
ArrayList
<>();
Map
<
String
,
List
<
CrossSchemeInfoPO
>>
laneCollect
=
crossSchemeInfoPOS1
.
stream
().
filter
(
x
->
x
.
getLandId
()
!=
null
).
collect
(
Collectors
.
groupingBy
(
CrossSchemeInfoPO:
:
getLandId
));
if
(
ObjectUtil
.
isNotEmpty
(
laneCollect
))
{
Set
<
String
>
stringSet
=
laneCollect
.
keySet
();
for
(
String
s1
:
stringSet
)
{
List
<
CrossSchemeInfoPO
>
crossSchemeInfoPOS2
=
laneCollect
.
get
(
s1
);
CrossSchemeInfoPO
schemeInfoPO
=
crossSchemeInfoPOS2
.
get
(
0
);
SaveSchemeConfigDTO
.
LaneListElement
laneListElement
=
new
SaveSchemeConfigDTO
.
LaneListElement
();
laneListElement
.
setDirection
(
Integer
.
valueOf
(
schemeInfoPO
.
getDir
()));
laneListElement
.
setLaneType
(
Integer
.
valueOf
(
schemeInfoPO
.
getLaneType
()));
laneListElement
.
setLaneId
(
schemeInfoPO
.
getLandId
());
laneListElement
.
setLightsId
(
Integer
.
valueOf
(
schemeInfoPO
.
getLightsId
()));
laneList
.
add
(
laneListElement
);
}
}
dirListElement
.
setLaneList
(
laneList
);
dirListElements
.
add
(
dirListElement
);
}
}
phaseListElement
.
setDirList
(
dirListElements
);
oriPhaseList
.
add
(
phaseListElement
);
}
CrossIdBO
crossIdBO
=
new
CrossIdBO
();
crossIdBO
.
setCrossId
(
crossIdAndTimeDTO
.
getCrossId
());
SaveSchemeConfigDTO
saveSchemeConfigDTO
=
schemeConfigServiceImpl
.
listSchemeConfig
(
crossIdBO
);
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
saveSchemeConfigDTO
.
getPhaseSchemeList
();
if
(
ObjectUtil
.
isEmpty
(
phaseSchemeList
)){
return
ringPhasePO
;
}
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
collected
=
phaseSchemeList
.
stream
().
filter
(
x
->
x
.
getSchemeNo
().
equals
(
content
.
getSchemeNo
())).
collect
(
Collectors
.
toList
());
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
=
collected
.
get
(
0
);
SaveSchemeConfigDTO
.
RingListElement
ringListElement
=
phaseScheme
.
getRingList
().
get
(
0
);
List
<
SaveSchemeConfigDTO
.
GroupListElement
>
groupList
=
ringListElement
.
getGroupList
();
SaveSchemeConfigDTO
.
GroupListElement
groupListElement
=
groupList
.
get
(
0
);
oriPhaseList
=
groupListElement
.
getPhaseList
();
if
(
ObjectUtil
.
isNotEmpty
(
oriPhaseList
))
{
//修改方向
oriPhaseList
.
forEach
(
x
->
{
List
<
SaveSchemeConfigDTO
.
DirListElement
>
dirList
=
x
.
getDirList
();
if
(
ObjectUtil
.
isNotNull
(
dirList
)){
dirList
.
forEach
(
dir
->
{
dir
.
setDir
(
CrossDirChangeEnum
.
getMsgByCode
(
dir
.
getDir
()).
getDir
());
});
}
});
CrossSchemeRingsDTO
crossSchemeRingsDTO
=
new
CrossSchemeRingsDTO
();
crossSchemeRingsDTO
.
setCrossId
(
crossIdAndTimeDTO
.
getCrossId
());
crossSchemeRingsDTO
.
setPattern
(
String
.
valueOf
(
schemeId
));
...
...
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