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
2d8f61be
Commit
2d8f61be
authored
Dec 06, 2024
by
董国亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修订自动优化绿波下发逻辑
parent
e60f0122
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
29 deletions
+34
-29
InducesMonitorTask.java
.../src/main/java/net/wanji/opt/task/InducesMonitorTask.java
+34
-29
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/task/InducesMonitorTask.java
View file @
2d8f61be
...
@@ -38,6 +38,7 @@ import org.springframework.stereotype.Component;
...
@@ -38,6 +38,7 @@ import org.springframework.stereotype.Component;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.text.ParseException
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalTime
;
import
java.time.LocalTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -171,12 +172,15 @@ public class InducesMonitorTask {
...
@@ -171,12 +172,15 @@ public class InducesMonitorTask {
LambdaQueryWrapper
<
GreenwaveInducesHist
>
greenwaveInducesHistQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
GreenwaveInducesHist
>
greenwaveInducesHistQueryWrapper
=
new
LambdaQueryWrapper
<>();
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getDir
,
getDir
(
greenOptHistEntity
.
getDir
()));
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getDir
,
getDir
(
greenOptHistEntity
.
getDir
()));
GreenwaveInducesHist
greenwaveInducesHist
=
greenwaveInducesHistService
.
getOne
(
greenwaveInducesHistQueryWrapper
);
List
<
GreenwaveInducesHist
>
greenwaveInducesHistList
=
greenwaveInducesHistService
.
list
(
greenwaveInducesHistQueryWrapper
);
if
(
Objects
.
isNull
(
greenwaveInducesHist
))
{
GreenwaveInducesHist
greenwaveInducesHist
=
null
;
if
(
Objects
.
isNull
(
greenwaveInducesHistList
)
||
greenwaveInducesHistList
.
size
()<
1
)
{
greenwaveInducesHist
=
new
GreenwaveInducesHist
();
greenwaveInducesHist
=
new
GreenwaveInducesHist
();
greenwaveInducesHist
.
setCreateTime
(
new
Date
());
greenwaveInducesHist
.
setCreateTime
(
new
Date
());
greenwaveInducesHist
.
setGreenId
(
greenwaveInfoPO
.
getId
());
greenwaveInducesHist
.
setGreenId
(
greenwaveInfoPO
.
getId
());
greenwaveInducesHist
.
setDir
(
getDir
(
greenOptHistEntity
.
getDir
()));
greenwaveInducesHist
.
setDir
(
getDir
(
greenOptHistEntity
.
getDir
()));
}
else
{
greenwaveInducesHist
=
greenwaveInducesHistList
.
get
(
0
);
}
}
greenwaveInducesHist
.
setStrategyId
(
strategyId
.
get
());
greenwaveInducesHist
.
setStrategyId
(
strategyId
.
get
());
greenwaveInducesHist
.
setStrategyName
(
greenwaveInfoPO
.
getName
());
//当前策略名称
greenwaveInducesHist
.
setStrategyName
(
greenwaveInfoPO
.
getName
());
//当前策略名称
...
@@ -186,7 +190,7 @@ public class InducesMonitorTask {
...
@@ -186,7 +190,7 @@ public class InducesMonitorTask {
greenwaveInducesHist
.
setType
(
greenOptHistEntity
.
getType
());
// 执行策略
greenwaveInducesHist
.
setType
(
greenOptHistEntity
.
getType
());
// 执行策略
greenwaveInducesHist
.
setMinSpeed
(
greenOptHistEntity
.
getMinSpeed
());
greenwaveInducesHist
.
setMinSpeed
(
greenOptHistEntity
.
getMinSpeed
());
greenwaveInducesHist
.
setMaxSpeed
(
greenOptHistEntity
.
getMaxSpeed
());
greenwaveInducesHist
.
setMaxSpeed
(
greenOptHistEntity
.
getMaxSpeed
());
greenwaveInducesHist
.
setDir
(
greenOptHistEntity
.
getDirType
());
//
greenwaveInducesHist.setDir(greenOptHistEntity.getDirType());
//5、获取绿波信息,调用上屏服务;发布互联网诱导方案
//5、获取绿波信息,调用上屏服务;发布互联网诱导方案
//[{"crossId":"13MOD0B5SI0","phaseStartTime":32.0,"phaseEndTime":122.0,"greenStartTime":35.0,"speed":"39.71","offset":208.0,"travelTime":57.0,"distance":"628.81"},{"crossId":"13MQJ0B5SI0","phaseStartTime":43.0,"phaseEndTime":158.0,"greenStartTime":0.0,"speed":"35.54","offset":69.0,"travelTime":42.0,"distance":"414.62"},{"crossId":"13MS20B5SI0","phaseStartTime":32.0,"phaseEndTime":142.0,"greenStartTime":8.0,"speed":"22.72","offset":114.0,"travelTime":116.0,"distance":"732.00"},{"crossId":"13MUK0B5SH0","phaseStartTime":0.0,"phaseEndTime":135.0,"greenStartTime":0.0,"speed":"42.33","offset":50.0,"travelTime":45.0,"distance":"529.16"},{"crossId":"13N0F0B5SH0","phaseStartTime":25.0,"phaseEndTime":156.0,"greenStartTime":70.0,"speed":"40.67","offset":0.0,"travelTime":40.0,"distance":"451.89"},{"crossId":"13N200B5SH0","phaseStartTime":23.0,"phaseEndTime":150.0,"greenStartTime":0.0,"speed":"-1.00","offset":112.0,"travelTime":-1.0,"distance":"-1.00"}]
//[{"crossId":"13MOD0B5SI0","phaseStartTime":32.0,"phaseEndTime":122.0,"greenStartTime":35.0,"speed":"39.71","offset":208.0,"travelTime":57.0,"distance":"628.81"},{"crossId":"13MQJ0B5SI0","phaseStartTime":43.0,"phaseEndTime":158.0,"greenStartTime":0.0,"speed":"35.54","offset":69.0,"travelTime":42.0,"distance":"414.62"},{"crossId":"13MS20B5SI0","phaseStartTime":32.0,"phaseEndTime":142.0,"greenStartTime":8.0,"speed":"22.72","offset":114.0,"travelTime":116.0,"distance":"732.00"},{"crossId":"13MUK0B5SH0","phaseStartTime":0.0,"phaseEndTime":135.0,"greenStartTime":0.0,"speed":"42.33","offset":50.0,"travelTime":45.0,"distance":"529.16"},{"crossId":"13N0F0B5SH0","phaseStartTime":25.0,"phaseEndTime":156.0,"greenStartTime":70.0,"speed":"40.67","offset":0.0,"travelTime":40.0,"distance":"451.89"},{"crossId":"13N200B5SH0","phaseStartTime":23.0,"phaseEndTime":150.0,"greenStartTime":0.0,"speed":"-1.00","offset":112.0,"travelTime":-1.0,"distance":"-1.00"}]
// List<GreenBeltInfoVO.CrossGreenDetail> crossGreenDetailList = new ArrayList<>();
// List<GreenBeltInfoVO.CrossGreenDetail> crossGreenDetailList = new ArrayList<>();
...
@@ -195,8 +199,7 @@ public class InducesMonitorTask {
...
@@ -195,8 +199,7 @@ public class InducesMonitorTask {
// } catch (JsonProcessingException e) {
// } catch (JsonProcessingException e) {
// log.error("绿波详情转换失败:" + greenOptHistEntity.getGreenId() + "---" + e.getMessage());
// log.error("绿波详情转换失败:" + greenOptHistEntity.getGreenId() + "---" + e.getMessage());
// }
// }
//greenwaveInducesHistService.saveOrUpdate(greenwaveInducesHist);
greenwaveInducesHistService
.
saveOrUpdate
(
greenwaveInducesHist
);
////自动发送诱导消息
////自动发送诱导消息
MessageParam
messageParam
=
new
MessageParam
();
MessageParam
messageParam
=
new
MessageParam
();
messageParam
.
setFlg
(
1
);
messageParam
.
setFlg
(
1
);
...
@@ -204,7 +207,7 @@ public class InducesMonitorTask {
...
@@ -204,7 +207,7 @@ public class InducesMonitorTask {
messageParam
.
setContents
(
new
String
[]{
greenOptHistEntity
.
getMaxSpeed
()+
"-"
+
greenOptHistEntity
.
getMaxSpeed
()+
"km/h"
});
messageParam
.
setContents
(
new
String
[]{
greenOptHistEntity
.
getMaxSpeed
()+
"-"
+
greenOptHistEntity
.
getMaxSpeed
()+
"km/h"
});
messageParam
.
setType
(
"TFMH"
);
messageParam
.
setType
(
"TFMH"
);
try
{
try
{
if
(
greenwaveInducesHist
.
getStatus
()==
0
||
greenwaveInducesHist
.
getModifyTime
()
!=
greenOptHistEntity
.
getCreateTime
(
))
{
if
(
greenwaveInducesHist
.
getStatus
()==
0
||
greenwaveInducesHist
.
getModifyTime
()
.
before
(
greenOptHistEntity
.
getCreateTime
()
))
{
LambdaQueryWrapper
<
GreenwaveInduces
>
greenwaveInducesQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
GreenwaveInduces
>
greenwaveInducesQueryWrapper
=
new
LambdaQueryWrapper
<>();
greenwaveInducesQueryWrapper
.
eq
(
GreenwaveInduces:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
greenwaveInducesQueryWrapper
.
eq
(
GreenwaveInduces:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
(
greenwaveInducesQueryWrapper
);
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
(
greenwaveInducesQueryWrapper
);
...
@@ -229,16 +232,16 @@ public class InducesMonitorTask {
...
@@ -229,16 +232,16 @@ public class InducesMonitorTask {
}
}
}
}
greenwaveInducesHist
.
setStatus
(
1
);
greenwaveInducesHist
.
setStatus
(
1
);
greenwaveInducesHist
.
setModifyTime
(
greenOptHistEntity
.
getCreateTime
());
greenwaveInducesHistService
.
saveOrUpdate
(
greenwaveInducesHist
);
}
}
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
catch
(
TemplateException
e
)
{
}
catch
(
TemplateException
e
)
{
log
.
info
(
"发送上屏信息异常"
+
e
.
getMessage
());
log
.
info
(
"发送上屏信息异常"
+
e
.
getMessage
());
}
}
greenwaveInducesHist
.
setModifyTime
(
greenOptHistEntity
.
getCreateTime
());
greenwaveInducesHistService
.
saveOrUpdate
(
greenwaveInducesHist
);
synCount
.
getAndIncrement
();
synCount
.
getAndIncrement
();
log
.
info
(
"同步绿波状态信息成功->"
+
greenwaveInfoPO
.
getName
());
log
.
info
(
"同步绿波状态信息成功->"
+
greenwaveInfoPO
.
getName
()
+
greenOptHistEntity
.
getDir
()
);
}
}
}
}
}
}
...
@@ -300,37 +303,39 @@ public class InducesMonitorTask {
...
@@ -300,37 +303,39 @@ public class InducesMonitorTask {
* @return
* @return
*/
*/
private
Integer
getDir
(
String
dirType
)
{
private
Integer
getDir
(
String
dirType
)
{
if
(
dirType
==
"e2w"
)
{
//东
if
(
dirType
.
equals
(
"e2w"
)
)
{
//东
return
4
;
return
4
;
}
else
if
(
dirType
==
"s2n"
)
{
//南
}
else
if
(
dirType
.
equals
(
"s2n"
)
)
{
//南
return
1
;
return
1
;
}
else
if
(
dirType
==
"w2e"
)
{
//西
}
else
if
(
dirType
.
equals
(
"w2e"
)
)
{
//西
return
2
;
return
2
;
}
else
if
(
dirType
==
"n2s"
)
{
//北
}
else
if
(
dirType
.
equals
(
"n2s"
)
)
{
//北
return
3
;
return
3
;
}
}
return
null
;
return
null
;
}
}
public
static
void
main
(
String
[]
args
){
public
static
void
main
(
String
[]
args
)
throws
ParseException
{
// 获取当前时间
// 获取当前时间
LocalTime
now
=
LocalTime
.
now
();
// LocalTime now = LocalTime.now();
List
<
String
>
timesList
=
new
ArrayList
();
// List<String> timesList=new ArrayList();
timesList
.
add
(
"00:00"
);
// timesList.add("00:00");
timesList
.
add
(
"23:59"
);
// timesList.add("23:59");
// 定义时间范围
// // 定义时间范围
LocalTime
startTime
=
LocalTime
.
parse
(
timesList
.
get
(
0
));
// LocalTime startTime = LocalTime.parse(timesList.get(0));
LocalTime
endTime
=
LocalTime
.
parse
(
timesList
.
get
(
1
));
// LocalTime endTime = LocalTime.parse(timesList.get(1));
//
// // 判断当前时间是否在范围内
// if (now.isAfter(startTime) && now.isBefore(endTime)) {
// System.out.println("当前时间在范围内: " + now);
// } else if (now.equals(startTime) || now.equals(endTime)) {
// System.out.println("当前时间恰好在范围边界: " + now);
// } else {
// System.out.println("当前时间不在范围内: " + now);
// }
// 判断当前时间是否在范围内
System
.
out
.
print
(
new
Date
().
before
(
DateUtil
.
parse
(
"2024-12-04"
,
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_DAY
)));
if
(
now
.
isAfter
(
startTime
)
&&
now
.
isBefore
(
endTime
))
{
System
.
out
.
println
(
"当前时间在范围内: "
+
now
);
}
else
if
(
now
.
equals
(
startTime
)
||
now
.
equals
(
endTime
))
{
System
.
out
.
println
(
"当前时间恰好在范围边界: "
+
now
);
}
else
{
System
.
out
.
println
(
"当前时间不在范围内: "
+
now
);
}
}
}
}
}
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