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
8fc62e94
Commit
8fc62e94
authored
May 26, 2025
by
duwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加注释
parent
eb220b3d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
2 deletions
+21
-2
PlanSendServiceImpl.java
.../java/net/wanji/web/service/impl/PlanSendServiceImpl.java
+21
-2
No files found.
signal-control-service/src/main/java/net/wanji/web/service/impl/PlanSendServiceImpl.java
View file @
8fc62e94
...
@@ -577,6 +577,12 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -577,6 +577,12 @@ public class PlanSendServiceImpl implements PlanSendService {
}
}
}
}
/**
* 根据给定的路口 ID 和时间,查询该路口在该时间点所应执行的信号控制方案
* (PhaseScheme),并封装成一个 PhaseListByTimeVO 返回。
* @param crossIdAndTimeDTO 路口ID 和时间
* @return
*/
@Override
@Override
public
PhaseListByTimeVO
phaseListByTime
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
public
PhaseListByTimeVO
phaseListByTime
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
PhaseListByTimeVO
phaseListByTimeVO
=
new
PhaseListByTimeVO
();
PhaseListByTimeVO
phaseListByTimeVO
=
new
PhaseListByTimeVO
();
...
@@ -585,15 +591,22 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -585,15 +591,22 @@ public class PlanSendServiceImpl implements PlanSendService {
String
dateStr
=
sdf
.
format
(
datetime
);
String
dateStr
=
sdf
.
format
(
datetime
);
CrossIdBO
crossIdBO
=
new
CrossIdBO
();
CrossIdBO
crossIdBO
=
new
CrossIdBO
();
crossIdBO
.
setCrossId
(
crossId
);
crossIdBO
.
setCrossId
(
crossId
);
// 获取所有计划
// 获取该路口的所有运行计划信息
RunningPlanDTO
runningPlanDTO
=
runningPlanServiceImpl
.
listRunningPlan
(
crossIdBO
);
RunningPlanDTO
runningPlanDTO
=
runningPlanServiceImpl
.
listRunningPlan
(
crossIdBO
);
// 运行计划列表
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
schedulesPlanList
=
runningPlanDTO
.
getSchedulesPlanList
();
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
schedulesPlanList
=
runningPlanDTO
.
getSchedulesPlanList
();
// 遍历运行计划列表
for
(
RunningPlanDTO
.
SchedulesPlanListElement
schedulesPlan
:
schedulesPlanList
)
{
for
(
RunningPlanDTO
.
SchedulesPlanListElement
schedulesPlan
:
schedulesPlanList
)
{
//执行的日计划列表
List
<
RunningPlanDTO
.
ExecListElement
>
execList
=
schedulesPlan
.
getExecList
();
List
<
RunningPlanDTO
.
ExecListElement
>
execList
=
schedulesPlan
.
getExecList
();
// 遍历执行日计划列表(每天)
for
(
RunningPlanDTO
.
ExecListElement
execListElement
:
execList
)
{
for
(
RunningPlanDTO
.
ExecListElement
execListElement
:
execList
)
{
// 先查询特殊日期,再查询星期
// 先查询特殊日期,再查询星期
List
<
String
>
specialDateList
=
execListElement
.
getSpecialDateList
();
List
<
String
>
specialDateList
=
execListElement
.
getSpecialDateList
();
List
<
Integer
>
week
=
execListElement
.
getWeek
();
List
<
Integer
>
week
=
execListElement
.
getWeek
();
if
(
CollectionUtil
.
isNotEmpty
(
specialDateList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
specialDateList
))
{
for
(
String
specialDate
:
specialDateList
)
{
for
(
String
specialDate
:
specialDateList
)
{
String
substring
=
specialDate
.
substring
(
0
,
10
);
String
substring
=
specialDate
.
substring
(
0
,
10
);
...
@@ -622,10 +635,16 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -622,10 +635,16 @@ public class PlanSendServiceImpl implements PlanSendService {
return
phaseListByTimeVO
;
return
phaseListByTimeVO
;
}
}
/**
* 从一个信号控制方案中提取特定时间点所对应的相位列表(Phase List),
* 并且只取第一个“环(Ring)”中的所有相位信息。最终返回的是一个扁平化的相位列表。
* @param crossIdAndTimeDTO
* @return
*/
@Override
@Override
public
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTimeSingleRing
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
public
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTimeSingleRing
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTime
=
new
ArrayList
<>();
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTime
=
new
ArrayList
<>();
//1.
PhaseListByTimeVO
phaseListByTimeVO
=
phaseListByTime
(
crossIdAndTimeDTO
);
PhaseListByTimeVO
phaseListByTimeVO
=
phaseListByTime
(
crossIdAndTimeDTO
);
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
=
phaseListByTimeVO
.
getPhaseScheme
();
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
=
phaseListByTimeVO
.
getPhaseScheme
();
if
(
phaseScheme
!=
null
)
{
if
(
phaseScheme
!=
null
)
{
...
...
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