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
634f7dc1
Commit
634f7dc1
authored
Dec 07, 2024
by
董国亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
模板更新
parent
ef86feb1
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
146 additions
and
21 deletions
+146
-21
GreenwaveInducesController.java
...nji/opt/controller/induce/GreenwaveInducesController.java
+0
-2
GreenwaveInducesHistController.java
...opt/controller/induce/GreenwaveInducesHistController.java
+4
-4
InduceSendController.java
...net/wanji/opt/controller/induce/InduceSendController.java
+1
-2
InduceTemplate.java
...ce/src/main/java/net/wanji/opt/entity/InduceTemplate.java
+4
-4
InduceSendServiceImpl.java
.../wanji/opt/service/induce/impl/InduceSendServiceImpl.java
+130
-4
InducesMonitorTask.java
.../src/main/java/net/wanji/opt/task/InducesMonitorTask.java
+7
-5
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controller/induce/GreenwaveInducesController.java
View file @
634f7dc1
...
@@ -101,7 +101,6 @@ public class GreenwaveInducesController {
...
@@ -101,7 +101,6 @@ public class GreenwaveInducesController {
induceDTO
.
setResolutionHeight
(
deviceInduces
.
get
(
0
).
getResolutionHeight
());
induceDTO
.
setResolutionHeight
(
deviceInduces
.
get
(
0
).
getResolutionHeight
());
induceDTO
.
setWkt
(
deviceInduces
.
get
(
0
).
getWkt
());
induceDTO
.
setWkt
(
deviceInduces
.
get
(
0
).
getWkt
());
}
}
//获取上屏状态
//获取上屏状态
induceDTO
.
setStatus
(
o
.
getStatus
());
induceDTO
.
setStatus
(
o
.
getStatus
());
//获取关联绿波信息
//获取关联绿波信息
...
@@ -144,7 +143,6 @@ public class GreenwaveInducesController {
...
@@ -144,7 +143,6 @@ public class GreenwaveInducesController {
return
jsonView
;
return
jsonView
;
}
}
/**
/**
* 根据条件查询记录
* 根据条件查询记录
*
*
...
...
signal-optimize-service/src/main/java/net/wanji/opt/controller/induce/GreenwaveInducesHistController.java
View file @
634f7dc1
...
@@ -183,14 +183,13 @@ public class GreenwaveInducesHistController {
...
@@ -183,14 +183,13 @@ public class GreenwaveInducesHistController {
greenwaveInducesDTO
.
setDesignSpeed
(
x
.
getDesignSpeed
());
greenwaveInducesDTO
.
setDesignSpeed
(
x
.
getDesignSpeed
());
greenwaveInducesDTO
.
setWkt
(
x
.
getWkt
());
greenwaveInducesDTO
.
setWkt
(
x
.
getWkt
());
greenwaveInducesDTO
.
setStatus
(
x
.
getStatus
());
greenwaveInducesDTO
.
setStatus
(
x
.
getStatus
());
AtomicReference
<
Integer
>
equipCount
=
new
AtomicReference
<>(
0
);
AtomicReference
<
Integer
>
equipCount
=
new
AtomicReference
<>(
0
);
List
<
GreenwaveDirDTO
>
dirList
=
new
ArrayList
<>();
List
<
GreenwaveDirDTO
>
dirList
=
new
ArrayList
<>();
greenwaveInducesHistList
.
stream
().
filter
(
o
->
Objects
.
isNull
(
o
.
getGreenId
())
||
o
.
getGreenId
().
equals
(
x
.
getId
())).
forEach
(
o
->
{
// greenwaveInducesList.stream().collect(Collectors.toMap(p -> p.getGreenId() + "_" + p.getDir(), p -> p)).values().stream().distinct().collect(Collectors.toList()).stream().forEach(p->{
greenwaveInducesHistList
.
stream
().
filter
(
o
->
Objects
.
isNull
(
o
.
getGreenId
())
&&
o
.
getGreenId
().
equals
(
x
.
getId
())
&&
o
.
getDir
().
equals
(
p
.
getDir
())).
forEach
(
o
->
{
GreenwaveDirDTO
greenwaveDirDTO
=
new
GreenwaveDirDTO
();
GreenwaveDirDTO
greenwaveDirDTO
=
new
GreenwaveDirDTO
();
//这里从绿波表里获取基本信息
//这里从绿波表里获取基本信息
List
<
GreenwaveInfoPO
>
greenwaveInfoByGreenId
=
greenwaveInfoPOList
.
stream
().
filter
(
n
->
n
.
getId
().
equals
(
o
.
getGreenId
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
// List<GreenwaveInfoPO> greenwaveInfoByGreenId = greenwaveInfoPOList.stream().filter(n -> n.getId().equals(o.getGreenId())).collect(Collectors.toList());// 过滤条件// 收集结果
greenwaveDirDTO
.
setDir
(
o
.
getDir
());
greenwaveDirDTO
.
setDir
(
o
.
getDir
());
greenwaveDirDTO
.
setStrategyId
(
o
.
getStrategyId
());
greenwaveDirDTO
.
setStrategyId
(
o
.
getStrategyId
());
greenwaveDirDTO
.
setStrategyName
(
o
.
getStrategyName
());
greenwaveDirDTO
.
setStrategyName
(
o
.
getStrategyName
());
...
@@ -232,6 +231,7 @@ public class GreenwaveInducesHistController {
...
@@ -232,6 +231,7 @@ public class GreenwaveInducesHistController {
equipCount
.
updateAndGet
(
v
->
v
+
induceDTOList
.
size
());
equipCount
.
updateAndGet
(
v
->
v
+
induceDTOList
.
size
());
dirList
.
add
(
greenwaveDirDTO
);
dirList
.
add
(
greenwaveDirDTO
);
});
});
// });
greenwaveInducesDTO
.
setGreenwaveDirList
(
dirList
);
greenwaveInducesDTO
.
setGreenwaveDirList
(
dirList
);
greenwaveInducesDTO
.
setEquipCount
(
equipCount
.
get
());
greenwaveInducesDTO
.
setEquipCount
(
equipCount
.
get
());
greenwaveInfoList
.
add
(
greenwaveInducesDTO
);
greenwaveInfoList
.
add
(
greenwaveInducesDTO
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/controller/induce/InduceSendController.java
View file @
634f7dc1
...
@@ -125,8 +125,7 @@ public class InduceSendController {
...
@@ -125,8 +125,7 @@ public class InduceSendController {
// 根据 equipCode 获取文件名
// 根据 equipCode 获取文件名
LambdaQueryWrapper
<
InduceHist
>
InduceHistQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
InduceHist
>
InduceHistQueryWrapper
=
new
LambdaQueryWrapper
<>();
InduceHistQueryWrapper
.
eq
(
InduceHist:
:
getEquipCode
,
equipCode
);
InduceHistQueryWrapper
.
eq
(
InduceHist:
:
getEquipCode
,
equipCode
);
InduceHistQueryWrapper
.
orderByAsc
(
InduceHist:
:
getCreateTime
);
InduceHistQueryWrapper
.
orderByDesc
(
InduceHist:
:
getCreateTime
);
// InduceHist pictureFile=this.induceHistService.getOne(InduceHistQueryWrapper);
InduceHist
pictureFile
=
this
.
induceHistService
.
getOne
(
InduceHistQueryWrapper
,
false
);
InduceHist
pictureFile
=
this
.
induceHistService
.
getOne
(
InduceHistQueryWrapper
,
false
);
if
(
Objects
.
isNull
(
pictureFile
)
&&
pictureFile
.
getFilePath
()
==
null
)
{
if
(
Objects
.
isNull
(
pictureFile
)
&&
pictureFile
.
getFilePath
()
==
null
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
...
...
signal-optimize-service/src/main/java/net/wanji/opt/entity/InduceTemplate.java
View file @
634f7dc1
...
@@ -58,14 +58,14 @@ public class InduceTemplate implements Serializable {
...
@@ -58,14 +58,14 @@ public class InduceTemplate implements Serializable {
/**
/**
* 文字左上角X坐标
* 文字左上角X坐标
*/
*/
@TableField
(
"t
ext_x
"
)
@TableField
(
"t
op_left
"
)
private
Integer
textX
;
private
String
topLeft
;
/**
/**
* 文字左上角Y坐标
* 文字左上角Y坐标
*/
*/
@TableField
(
"
text_y
"
)
@TableField
(
"
bottom_right
"
)
private
Integer
textY
;
private
String
bottomRight
;
/**
/**
* 文字大小
* 文字大小
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/induce/impl/InduceSendServiceImpl.java
View file @
634f7dc1
...
@@ -14,8 +14,6 @@ import net.wanji.opt.service.DeviceInducesService;
...
@@ -14,8 +14,6 @@ import net.wanji.opt.service.DeviceInducesService;
import
net.wanji.opt.service.induce.*
;
import
net.wanji.opt.service.induce.*
;
import
org.apache.commons.net.ftp.FTP
;
import
org.apache.commons.net.ftp.FTP
;
import
org.apache.commons.net.ftp.FTPClient
;
import
org.apache.commons.net.ftp.FTPClient
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageProperties
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -103,9 +101,22 @@ public class InduceSendServiceImpl implements InduceSendService {
...
@@ -103,9 +101,22 @@ public class InduceSendServiceImpl implements InduceSendService {
// 将字节数组转换为字节对象
// 将字节数组转换为字节对象
BufferedImage
image
=
ImageIO
.
read
(
new
ByteArrayInputStream
(
imageBytes
));
BufferedImage
image
=
ImageIO
.
read
(
new
ByteArrayInputStream
(
imageBytes
));
// 修改图像中文字
// 修改图像中文字
addTextToImage
(
image
,
param
.
getContents
(),
induceTemplate
.
getTextX
(),
induceTemplate
.
getTextY
(),
induceTemplate
.
getTextSize
(),
induceTemplate
.
getTextSign
());
//addTextToImage(image, param.getContents(), induceTemplate.getTextX(), induceTemplate.getTextY(), induceTemplate.getTextSize(), induceTemplate.getTextSign());
// 定义文字区域四个角的坐标
String
[]
topLeft
=
induceTemplate
.
getTopLeft
().
split
(
","
);
String
[]
bottomRight
=
induceTemplate
.
getBottomRight
().
split
(
","
);
if
(
topLeft
.
length
!=
2
||
bottomRight
.
length
!=
2
)
{
return
;
}
int
topLeftX
=
Integer
.
parseInt
(
topLeft
[
0
]);
int
topLeftY
=
Integer
.
parseInt
(
topLeft
[
1
]);
int
bottomRightX
=
Integer
.
parseInt
(
bottomRight
[
0
]);
int
bottomRightY
=
Integer
.
parseInt
(
bottomRight
[
1
]);
// 图片生成操作
boolean
upDown
=
param
.
getContents
()[
0
].
contains
(
"▲"
)
||
param
.
getContents
()[
0
].
contains
(
"▼"
);
createImageWithText
(
induceTemplate
,
image
,
param
.
getContents
(),
induceTemplate
.
getTextSign
(),
upDown
,
topLeftX
,
topLeftY
,
bottomRightX
,
bottomRightY
);
// 测试阶段保存图片到本地
// 测试阶段保存图片到本地
//
ImageIO.write(image, "bmp", new File("D:\\tmp\\" + induceTemplate.getFileName()));
//
ImageIO.write(image, "bmp", new File("D:\\tmp\\" + induceTemplate.getFileName()));
// 上传文件至ftp
// 上传文件至ftp
if
(
param
.
getFlg
()
==
1
)
{
if
(
param
.
getFlg
()
==
1
)
{
String
dirName
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
));
String
dirName
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
));
...
@@ -271,6 +282,121 @@ public class InduceSendServiceImpl implements InduceSendService {
...
@@ -271,6 +282,121 @@ public class InduceSendServiceImpl implements InduceSendService {
}
}
/**
* 根据绘制的区域,动态调整字体大小,以适应文本区域
*
* @param g2d graphics2d对象
* @param sign 绘制方向标识
* @param text 绘制内容
* @param width 绘制区域宽度
* @param height 绘制区域高度
*/
private
static
FontMetrics
autoFont
(
InduceTemplate
pictureFile
,
Graphics2D
g2d
,
boolean
sign
,
String
[]
text
,
int
width
,
int
height
)
{
// 初始化字体
Font
font
=
new
Font
(
"Arial"
,
Font
.
BOLD
,
1
);
g2d
.
setFont
(
font
);
FontMetrics
metrics
=
g2d
.
getFontMetrics
();
// 字体最大、最小限制
int
minFontSize
=
1
;
int
maxFontSize
=
100
;
// 动态调整字体大小以适应文本区域
for
(
int
fontSize
=
minFontSize
;
fontSize
<=
maxFontSize
;
fontSize
++)
{
font
=
new
Font
(
"Arial"
,
Font
.
BOLD
,
fontSize
);
g2d
.
setFont
(
font
);
metrics
=
g2d
.
getFontMetrics
();
pictureFile
.
setTextSize
(
fontSize
);
// 确保绘制区域能够容纳文本,考虑字体长度和高度
if
(
sign
)
{
// 高度考虑上下边距
if
(
metrics
.
stringWidth
(
text
[
0
])
>
width
||
(
metrics
.
getHeight
()
-
4
)
>
height
)
{
// 设置字体大小
font
=
new
Font
(
"Arial"
,
Font
.
BOLD
,
--
fontSize
);
g2d
.
setFont
(
font
);
metrics
=
g2d
.
getFontMetrics
();
pictureFile
.
setTextSize
(
fontSize
);
return
metrics
;
}
}
else
{
// 高度只考虑上边距
if
(
metrics
.
stringWidth
(
text
[
0
])
>
width
||
(
metrics
.
getHeight
()
-
1
)
*
text
.
length
>
height
)
{
// 设置字体大小
font
=
new
Font
(
"Arial"
,
Font
.
BOLD
,
--
fontSize
);
g2d
.
setFont
(
font
);
metrics
=
g2d
.
getFontMetrics
();
pictureFile
.
setTextSize
(
fontSize
);
return
metrics
;
}
}
}
// 若字体大小超出限制,则返回最小字体
return
metrics
;
}
/**
* 根据图片、文字内容、图片分辨率、绘制方向、区域坐标生成带有文字的图片
*
* @param image 图片
* @param text 内容数组
* @param sign 绘制方向
* @param topLeftX 区域左上角x坐标
* @param topLeftY 区域左上角y坐标
* @param bottomRightX 区域右下角x坐标
* @param bottomRightY 区域右下角y坐标
*/
public
static
void
createImageWithText
(
InduceTemplate
pictureFile
,
BufferedImage
image
,
String
[]
text
,
boolean
sign
,
boolean
updown
,
int
topLeftX
,
int
topLeftY
,
int
bottomRightX
,
int
bottomRightY
)
{
// 创建Graphics2D对象
Graphics2D
g2d
=
image
.
createGraphics
();
// 转换坐标,原始坐标从底部开始,转换为顶部坐标
topLeftY
=
image
.
getHeight
()
-
topLeftY
;
bottomRightY
=
image
.
getHeight
()
-
bottomRightY
;
System
.
out
.
println
(
"转换后坐标:"
+
topLeftY
+
" "
+
bottomRightY
);
// 计算绘制区域总宽度和高度
int
width
=
bottomRightX
-
topLeftX
;
int
height
=
bottomRightY
-
topLeftY
;
// 动态调整字体大小,以适应文本区域
FontMetrics
metrics
=
autoFont
(
pictureFile
,
g2d
,
sign
,
text
,
width
,
height
);
// 绘制坐标点
int
textWidth
;
// 考虑文字绘制方向、文字居中。垂直居中要根据文字高度,水平居中要根据文字宽度。
// int currentX = topLeftX + (width - textWidth) / 2;
int
currentX
;
int
currentY
=
topLeftY
+
metrics
.
getAscent
();
// 设置文字颜色
g2d
.
setColor
(
Color
.
green
);
// 根据方向开始文字绘制
if
(
sign
)
{
// 因文字动态调整的字体大小,所以此处代码不应该被执行
// if (currentX < topLeftX) {
// currentX = topLeftX; // 若超出左边界,调整为左边界
// } else if (currentX + textWidth > topLeftX + width) {
// currentX = topLeftX + width - textWidth; // 若超出右边界,调整为右边界
// }
textWidth
=
metrics
.
stringWidth
(
text
[
0
]);
currentX
=
topLeftX
+
(
width
-
textWidth
)
/
2
;
// 计算居中的y坐标
currentY
=
currentY
+
(
height
-
metrics
.
getHeight
())
/
2
;
if
(
updown
)
{
currentX
-=
33
;
}
g2d
.
drawString
(
text
[
0
],
currentX
,
currentY
);
}
else
{
// 计算每个文本内容的竖向绘制坐标
for
(
String
con
:
text
)
{
// 考虑每个字符的宽度,计算居中X坐标
textWidth
=
metrics
.
stringWidth
(
con
);
currentX
=
topLeftX
+
(
width
-
textWidth
)
/
2
;
if
(
con
.
contains
(
"km/h"
))
{
currentX
=
currentX
+
metrics
.
getDescent
();
}
g2d
.
drawString
(
con
,
currentX
,
currentY
);
// 每绘制一个字符后Y坐标向下移,间距为文字的0.8倍
currentY
+=
(
int
)
(
metrics
.
getHeight
()
*
0.8
);
}
}
// 释放资源
g2d
.
dispose
();
}
/**
/**
* 在指定位置添加文字到图像
* 在指定位置添加文字到图像
*
*
...
...
signal-optimize-service/src/main/java/net/wanji/opt/task/InducesMonitorTask.java
View file @
634f7dc1
...
@@ -91,7 +91,6 @@ public class InducesMonitorTask {
...
@@ -91,7 +91,6 @@ public class InducesMonitorTask {
@Autowired
@Autowired
private
InduceTemplateService
induceTemplateService
;
private
InduceTemplateService
induceTemplateService
;
/**
/**
* #绿波调度计划扫描周期
* #绿波调度计划扫描周期
* 5 分钟 300000
* 5 分钟 300000
...
@@ -183,6 +182,7 @@ public class InducesMonitorTask {
...
@@ -183,6 +182,7 @@ public class InducesMonitorTask {
greenwaveInducesHist
.
setCreateTime
(
greenOptHistEntity
.
getCreateTime
());
greenwaveInducesHist
.
setCreateTime
(
greenOptHistEntity
.
getCreateTime
());
greenwaveInducesHist
.
setGreenId
(
greenwaveInfoPO
.
getId
());
greenwaveInducesHist
.
setGreenId
(
greenwaveInfoPO
.
getId
());
greenwaveInducesHist
.
setDir
(
getDir
(
greenOptHistEntity
.
getDir
()));
greenwaveInducesHist
.
setDir
(
getDir
(
greenOptHistEntity
.
getDir
()));
greenwaveInducesHistService
.
save
(
greenwaveInducesHist
);
}
else
{
}
else
{
greenwaveInducesHist
=
greenwaveInducesHistList
.
get
(
0
);
greenwaveInducesHist
=
greenwaveInducesHistList
.
get
(
0
);
}
}
...
@@ -208,12 +208,13 @@ public class InducesMonitorTask {
...
@@ -208,12 +208,13 @@ public class InducesMonitorTask {
MessageParam
messageParam
=
new
MessageParam
();
MessageParam
messageParam
=
new
MessageParam
();
messageParam
.
setFlg
(
1
);
messageParam
.
setFlg
(
1
);
messageParam
.
setGreenId
(
greenwaveInfoPO
.
getId
());
messageParam
.
setGreenId
(
greenwaveInfoPO
.
getId
());
messageParam
.
setContents
(
new
String
[]{
greenOptHistEntity
.
getMaxSpeed
()+
"-"
+
greenOptHistEntity
.
getMaxSpeed
(
)+
"km/h"
});
messageParam
.
setContents
(
new
String
[]{
(
Objects
.
nonNull
(
greenOptHistEntity
.
getMinSpeed
())?
greenOptHistEntity
.
getMinSpeed
().
intValue
()+
"-"
:
""
)+(
Objects
.
nonNull
(
greenOptHistEntity
.
getMaxSpeed
())?
greenOptHistEntity
.
getMaxSpeed
().
intValue
():
""
)+
"km/h"
});
messageParam
.
setType
(
"TFMH"
);
messageParam
.
setType
(
"TFMH"
);
try
{
try
{
if
(
greenwaveInducesHist
.
getStatus
()==
0
||
greenwaveInducesHist
.
getModifyTime
().
before
(
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
());
greenwaveInducesQueryWrapper
.
eq
(
GreenwaveInduces:
:
getDir
,
getDir
(
greenOptHistEntity
.
getDir
()));
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
(
greenwaveInducesQueryWrapper
);
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
(
greenwaveInducesQueryWrapper
);
for
(
GreenwaveInduces
greenwaveCross
:
greenwaveInducesList
){
for
(
GreenwaveInduces
greenwaveCross
:
greenwaveInducesList
){
LambdaQueryWrapper
<
InduceTemplate
>
induceTemplateQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
InduceTemplate
>
induceTemplateQueryWrapper
=
new
LambdaQueryWrapper
<>();
...
@@ -233,6 +234,7 @@ public class InducesMonitorTask {
...
@@ -233,6 +234,7 @@ public class InducesMonitorTask {
messageParam
.
setEndTime
(
DateUtil
.
format
(
System
.
currentTimeMillis
()
+
1000
*
60
,
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
));
messageParam
.
setEndTime
(
DateUtil
.
format
(
System
.
currentTimeMillis
()
+
1000
*
60
,
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
));
}
}
induceSendService
.
send
(
messageParam
);
induceSendService
.
send
(
messageParam
);
Thread
.
sleep
(
1000
);
}
}
}
}
greenwaveInducesHist
.
setStatus
(
1
);
greenwaveInducesHist
.
setStatus
(
1
);
...
@@ -243,7 +245,7 @@ public class InducesMonitorTask {
...
@@ -243,7 +245,7 @@ public class InducesMonitorTask {
}
catch
(
TemplateException
e
)
{
}
catch
(
TemplateException
e
)
{
log
.
info
(
"发送上屏信息异常"
+
e
.
getMessage
());
log
.
info
(
"发送上屏信息异常"
+
e
.
getMessage
());
}
}
greenwaveInducesHistService
.
saveOrUpdate
(
greenwaveInducesHist
);
greenwaveInducesHistService
.
updateById
(
greenwaveInducesHist
);
synCount
.
getAndIncrement
();
synCount
.
getAndIncrement
();
log
.
info
(
"同步绿波状态信息成功->"
+
greenwaveInfoPO
.
getName
()+
greenwaveInducesHist
.
getDir
());
log
.
info
(
"同步绿波状态信息成功->"
+
greenwaveInfoPO
.
getName
()+
greenwaveInducesHist
.
getDir
());
}
}
...
@@ -284,7 +286,7 @@ public class InducesMonitorTask {
...
@@ -284,7 +286,7 @@ public class InducesMonitorTask {
//保存绿波状态
//保存绿波状态
n
.
setStatus
(
0
);
n
.
setStatus
(
0
);
n
.
setModifyTime
(
new
Date
());
n
.
setModifyTime
(
new
Date
());
greenwaveInducesHistService
.
saveOrUpdate
(
n
);
greenwaveInducesHistService
.
updateById
(
n
);
log
.
info
(
"同步绿波状态信息(下屏)->"
+
greenwaveInfoPO
.
getName
()+
"####"
+
n
.
getDir
());
log
.
info
(
"同步绿波状态信息(下屏)->"
+
greenwaveInfoPO
.
getName
()+
"####"
+
n
.
getDir
());
synCount
.
getAndIncrement
();
synCount
.
getAndIncrement
();
});
});
...
@@ -339,7 +341,7 @@ public class InducesMonitorTask {
...
@@ -339,7 +341,7 @@ public class InducesMonitorTask {
// System.out.println("当前时间不在范围内: " + now);
// System.out.println("当前时间不在范围内: " + now);
// }
// }
System
.
out
.
print
(
new
Date
().
before
(
DateUtil
.
parse
(
"2024-12-04"
,
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_DAY
)));
//
System.out.print(new Date().before(DateUtil.parse("2024-12-04", Constants.DATE_FORMAT.E_DATE_FORMAT_DAY)));
}
}
}
}
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