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
jinan
traffic-signal-platform
Commits
f0c7f6c2
Commit
f0c7f6c2
authored
Apr 16, 2025
by
guoliang.dong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mock signal data
parent
aaf7b3d6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
7 deletions
+44
-7
DiagnoServiceImpl.java
...in/java/net/wanji/opt/service/impl/DiagnoServiceImpl.java
+44
-7
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/DiagnoServiceImpl.java
View file @
f0c7f6c2
...
...
@@ -13,6 +13,7 @@ import net.wanji.common.enums.LightsAddressEnum;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.common.utils.tool.JacksonUtils
;
import
net.wanji.common.utils.tool.RandomUtil
;
import
net.wanji.databus.bo.CrossIdAndSchemeIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.databus.dao.entity.*
;
...
...
@@ -42,6 +43,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.time.LocalTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -281,15 +283,16 @@ public class DiagnoServiceImpl implements DiagnoService {
CrossPhasePO
crossPhasePO
=
phasePOList
.
get
(
i
);
SchemeOptVO
.
PhaseOptTime
phaseOptTime
=
new
SchemeOptVO
.
PhaseOptTime
();
phaseOptTime
.
setPhaseNo
(
crossPhasePO
.
getPhaseNo
());
//1相位替换为“南北直行”,2相位替换为“北口左转”,3相位替换为“东口左转”
// switch (crossPhasePO.getPhaseNo()) {
// case "1":
// phaseOptTime.setPhaseNo("
北
");
// phaseOptTime.setPhaseNo("
南北直行
");
// break;
// case "2":
// phaseOptTime.setPhaseNo("
东
");
// phaseOptTime.setPhaseNo("
北口左转
");
// break;
// case "3":
// phaseOptTime.setPhaseNo("
南
");
// phaseOptTime.setPhaseNo("
东口左转
");
// break;
// case "4":
// phaseOptTime.setPhaseNo("西");
...
...
@@ -298,11 +301,45 @@ public class DiagnoServiceImpl implements DiagnoService {
// phaseOptTime.setPhaseNo("-");
// break;
// }
if
(
i
==
0
)
{
phaseOptTime
.
setOriGreenTime
(
crossPhasePO
.
getPhaseTime
()-
5
);
// 获取当前时间
LocalTime
currentTime
=
LocalTime
.
now
();
Random
random
=
new
Random
();
// 定义开始时间和结束时间
LocalTime
startTime
=
LocalTime
.
of
(
7
,
0
);
LocalTime
endTime
=
LocalTime
.
of
(
18
,
0
);
if
(
currentTime
.
isAfter
(
startTime
)
&&
currentTime
.
isBefore
(
endTime
))
{
System
.
out
.
println
(
"当前时间在7点和18点之间,判定失衡"
);
int
randomNumber
=
random
.
nextInt
(
9
)
+
3
;
if
(
i
==
0
)
{
phaseOptTime
.
setOriGreenTime
(
35
);
phaseOptTime
.
setOptGreenTime
(
crossPhasePO
.
getPhaseTime
()-
randomNumber
);
}
if
(
i
==
1
)
{
phaseOptTime
.
setOriGreenTime
(
30
);
phaseOptTime
.
setOptGreenTime
(
crossPhasePO
.
getPhaseTime
());
}
if
(
i
==
2
)
{
phaseOptTime
.
setOriGreenTime
(
27
);
phaseOptTime
.
setOptGreenTime
(
crossPhasePO
.
getPhaseTime
()+
randomNumber
);
}
}
else
{
System
.
out
.
println
(
"当前时间不在7点和18点之间,判定空放"
);
int
randomNumber
=
random
.
nextInt
(
6
)
+
5
;
if
(
i
==
0
)
{
phaseOptTime
.
setOriGreenTime
(
35
);
phaseOptTime
.
setOptGreenTime
(
crossPhasePO
.
getPhaseTime
()-
randomNumber
);
}
if
(
i
==
1
){
phaseOptTime
.
setOriGreenTime
(
30
);
phaseOptTime
.
setOptGreenTime
(
30
);
}
if
(
i
==
2
)
{
phaseOptTime
.
setOriGreenTime
(
27
);
phaseOptTime
.
setOptGreenTime
(
crossPhasePO
.
getPhaseTime
()
+
randomNumber
);
}
}
phaseOptTime
.
setOriGreenTime
(
crossPhasePO
.
getPhaseTime
()-
3
);
phaseOptTime
.
setOptGreenTime
(
crossPhasePO
.
getPhaseTime
());
// phaseOptTime.setOptGreenTime(crossPhasePO.getPhaseTime());
phaseOptTime
.
setOptTime
(
0
);
phaseOptTimeList
.
add
(
phaseOptTime
);
}
...
...
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