Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zhongtong-avi-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
中通客车项目
zhongtong-avi-service
Commits
3b03b053
Commit
3b03b053
authored
Nov 18, 2019
by
夏东伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
网关采集
parent
ba769016
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
987 additions
and
107 deletions
+987
-107
DryingRoomTempController.java
...ng/avi/equipment/controller/DryingRoomTempController.java
+6
-4
DryingRoomTempService.java
...hongtong/avi/equipment/service/DryingRoomTempService.java
+4
-3
EquipmentService.java
...tar/zhongtong/avi/equipment/service/EquipmentService.java
+1
-0
DryingRoomTempMachine.java
...ng/avi/gateway/painting/domain/DryingRoomTempMachine.java
+6
-1
ElectrophoresisRectificationMachine.java
.../painting/domain/ElectrophoresisRectificationMachine.java
+41
-0
PaintingPretreatmentMachine.java
.../gateway/painting/domain/PaintingPretreatmentMachine.java
+46
-0
PolishingRoomStateMachine.java
...vi/gateway/painting/domain/PolishingRoomStateMachine.java
+37
-0
RotaryRollerBedMachine.java
...g/avi/gateway/painting/domain/RotaryRollerBedMachine.java
+46
-0
SprayBoothMachine.java
...ngtong/avi/gateway/painting/domain/SprayBoothMachine.java
+3
-1
VocMachine.java
...tar/zhongtong/avi/gateway/painting/domain/VocMachine.java
+3
-1
DryingRoomTempMachineJob.java
...ng/avi/gateway/painting/job/DryingRoomTempMachineJob.java
+19
-1
ElectrophoresisRectificationMachineJob.java
.../painting/job/ElectrophoresisRectificationMachineJob.java
+53
-0
PaintPretreatmentMachineJob.java
...avi/gateway/painting/job/PaintPretreatmentMachineJob.java
+53
-0
RotaryRollerBedMachineJob.java
...g/avi/gateway/painting/job/RotaryRollerBedMachineJob.java
+81
-0
SprayBoothStateMachineJob.java
...g/avi/gateway/painting/job/SprayBoothStateMachineJob.java
+5
-32
RotaryRollerBedMapper.java
...ng/avi/gateway/painting/mapper/RotaryRollerBedMapper.java
+10
-0
LedService.java
.../net/vtstar/zhongtong/avi/ledlamp/service/LedService.java
+42
-8
ReportController.java
...tar/zhongtong/avi/report/controller/ReportController.java
+53
-23
FlatLaserCuttingMachine.java
...hongtong/avi/stamping/domain/FlatLaserCuttingMachine.java
+45
-0
LaserCutting3DMachine.java
.../zhongtong/avi/stamping/domain/LaserCutting3DMachine.java
+47
-0
LaserCuttingMachine.java
...ar/zhongtong/avi/stamping/domain/LaserCuttingMachine.java
+3
-5
PlasmaCuttingMachine.java
...r/zhongtong/avi/stamping/domain/PlasmaCuttingMachine.java
+45
-0
LaserCuttingMachineJob.java
...ar/zhongtong/avi/stamping/job/LaserCuttingMachineJob.java
+3
-3
DateUtil.java
src/main/java/net/vtstar/zhongtong/avi/utils/DateUtil.java
+286
-0
application-quartz.properties
src/main/resources/config/application-quartz.properties
+45
-24
application-xdw.properties
src/main/resources/config/application-xdw.properties
+4
-1
No files found.
src/main/java/net/vtstar/zhongtong/avi/equipment/controller/DryingRoomTempController.java
View file @
3b03b053
...
...
@@ -36,9 +36,10 @@ public class DryingRoomTempController {
" \"beginTime\": \"指定日期,Data类型, (yyyy-MM-dd), 可以为空, 默认当天\",\n"
+
"}"
)
@GetMapping
(
"/equipPage"
)
public
Return
getDryingRoomState
(
@RequestParam
(
value
=
"equipCode"
,
required
=
false
)
String
equipCode
,
public
Return
getDryingRoomState
(
@RequestParam
(
"pageNum"
)
Integer
pageNum
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
,
@RequestParam
(
value
=
"equipCode"
,
required
=
false
)
String
equipCode
,
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
)
Date
beginTime
){
return
Return
.
success
(
new
PageInfo
<>(
service
.
findPageEquip
(
equipCode
,
beginTime
)));
return
Return
.
success
(
new
PageInfo
<>(
service
.
findPageEquip
(
pageNum
,
pageSize
,
equipCode
,
beginTime
)));
}
@ApiOperation
(
value
=
"获取指定时间内的温度表"
,
response
=
DryingRoomTempMachine
.
class
,
responseContainer
=
"List"
,
notes
=
...
...
@@ -47,8 +48,9 @@ public class DryingRoomTempController {
" \"endTime\": \"结束时间,String类型, (yyyy-MM-dd HH:mm:ss)\"\n"
+
"}"
)
@GetMapping
(
"/temp"
)
public
Return
getTempByStateId
(
@RequestParam
(
value
=
"beginTime"
)
String
beginTime
,
public
Return
getTempByStateId
(
@RequestParam
(
value
=
"equipCode"
)
String
equipCode
,
@RequestParam
(
value
=
"beginTime"
)
String
beginTime
,
@RequestParam
(
value
=
"endTime"
)
String
endTime
){
return
Return
.
success
(
service
.
getTempByStateId
(
beginTime
,
endTime
));
return
Return
.
success
(
service
.
getTempByStateId
(
equipCode
,
beginTime
,
endTime
));
}
}
src/main/java/net/vtstar/zhongtong/avi/equipment/service/DryingRoomTempService.java
View file @
3b03b053
...
...
@@ -33,8 +33,8 @@ public class DryingRoomTempService {
/**
* 查询温度状态列表
*/
public
List
<
EquipmentData
>
findPageEquip
(
String
equipCode
,
Date
beginTime
)
{
PageHelper
.
startPage
(
1
,
20
);
public
List
<
EquipmentData
>
findPageEquip
(
Integer
pageNum
,
Integer
pageSize
,
String
equipCode
,
Date
beginTime
)
{
PageHelper
.
startPage
(
pageNum
,
pageSize
);
if
(
null
==
beginTime
){
beginTime
=
new
Date
();
}
...
...
@@ -47,8 +47,9 @@ public class DryingRoomTempService {
}
public
List
<
DryingRoomTempMachine
>
getTempByStateId
(
String
beginTime
,
String
endTime
)
{
public
List
<
DryingRoomTempMachine
>
getTempByStateId
(
String
equipCode
,
String
beginTime
,
String
endTime
)
{
return
dataMapper
.
findJoin
(
new
WhereFilter
()
{{
addFilter
(
"eqp_code"
,
Operation
.
EQUAL
,
equipCode
);
addFilter
(
"create_time"
,
Operation
.
EQUAL_GREATER_THAN
,
beginTime
);
addFilter
(
"create_time"
,
Operation
.
EQUAL_LESS_THAN
,
endTime
);
}},
DryingRoomTempMachine
.
class
);
...
...
src/main/java/net/vtstar/zhongtong/avi/equipment/service/EquipmentService.java
View file @
3b03b053
...
...
@@ -166,5 +166,6 @@ public class EquipmentService {
public
void
putFile
(
ProgramTransferVO
transferVO
)
{
EquipDataChannel
equipDataChannel
=
equipDataChannelService
.
getByEquipCode
(
transferVO
.
getEquipCode
());
SmbFileUtil
.
smbPut
(
"smb://10.1.4.107/数控下料/"
,
transferVO
.
getFilePath
());
// SmbFileUtil.smbPut("smb://" + equipDataChannel.getIp() +" /数控下料/", transferVO.getFilePath());
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/DryingRoomTempMachine.java
View file @
3b03b053
...
...
@@ -4,12 +4,16 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@Search
(
code
=
"DRYING_ROOM"
)
@ApiModel
(
value
=
"涂装--烘干室温度"
,
description
=
"烘干室监控数据表"
)
@Table
(
name
=
"eqp_data_drying_room_temp"
)
public
class
DryingRoomTempMachine
extends
EquipmentData
{
...
...
@@ -31,7 +35,8 @@ public class DryingRoomTempMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"燃烧机状态3"
)
private
Integer
combustionMachineState3
;
@ApiModelProperty
(
"采集时间"
)
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/ElectrophoresisRectificationMachine.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@Search
(
code
=
"ELECTROPHORESIS_RECTIFICATION"
)
@ApiModel
(
value
=
"涂装--电泳整流"
,
description
=
"电泳整流监控数据表"
)
@Table
(
name
=
"eqp_data_rectification"
)
public
class
ElectrophoresisRectificationMachine
extends
EquipmentData
{
@Column
(
name
=
"eqp_code"
)
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"一段电压"
)
@Column
(
name
=
"voltage_1"
)
@ApiModelProperty
(
notes
=
"一段电压"
)
private
Float
voltage1
;
@Show
(
label
=
"二段电压"
)
@Column
(
name
=
"voltage_2"
)
@ApiModelProperty
(
notes
=
"二段电压"
)
private
Float
voltage2
;
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"采集时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/PaintingPretreatmentMachine.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@Search
(
code
=
"VEHICLE_PRETREATMENT_ELECTROPHORESIS"
)
@ApiModel
(
value
=
"涂装--前处理"
,
description
=
"前处理监控数据表"
)
@Table
(
name
=
"eqp_data_paint_pretreatment"
)
public
class
PaintingPretreatmentMachine
extends
EquipmentData
{
@Column
(
name
=
"eqp_code"
)
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"预脱脂温度"
)
@Column
(
name
=
"cataphoresis_temperature"
)
@ApiModelProperty
(
notes
=
"预脱脂温度"
)
private
Float
cataphoresisTemperature
;
@Show
(
label
=
"脱脂温度"
)
@Column
(
name
=
"degrease_temperature"
)
@ApiModelProperty
(
notes
=
"脱脂温度"
)
private
Float
degreaseTemperature
;
@Show
(
label
=
"磷化温度"
)
@Column
(
name
=
"phosphatizing_temperature"
)
@ApiModelProperty
(
notes
=
"磷化温度"
)
private
Float
phosphatizingTemperature
;
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"采集时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/PolishingRoomStateMachine.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@Search
(
code
=
"POLISHING_ROOM"
)
@ApiModel
(
"涂装-打磨室风机状态及报警信息"
)
@Table
(
name
=
"eqp_data_polishing_booth_state"
)
public
class
PolishingRoomStateMachine
extends
EquipmentData
{
@Show
(
label
=
"设备编号"
)
@Column
(
name
=
"eqp_code"
)
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"燃烧机机运行信号"
)
@Column
(
name
=
"state"
)
@ApiModelProperty
(
notes
=
"燃烧机机运行信号"
)
private
Integer
state
;
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/RotaryRollerBedMachine.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@Search
(
code
=
"ROTARY_ROLLER_BED"
)
@ApiModel
(
value
=
"旋转辊床"
,
description
=
"旋转辊床监控数据表"
)
@Table
(
name
=
"eqp_data_rotary_roller_red"
)
public
class
RotaryRollerBedMachine
extends
EquipmentData
{
@Show
(
label
=
"当班运行(焊装)"
)
@Column
(
name
=
"run_num_welding"
)
@ApiModelProperty
(
notes
=
"当班运行(焊装)"
)
private
Integer
runNumWelding
;
@Show
(
label
=
"当班运行(涂装进)"
)
@Column
(
name
=
"run_num_painting_1"
)
@ApiModelProperty
(
notes
=
"当班运行(涂装进)"
)
private
Integer
runNumPainting1
;
@Show
(
label
=
"当班运行(涂装出)"
)
@Column
(
name
=
"run_num_painting_2"
)
@ApiModelProperty
(
notes
=
"当班运行(涂装出)"
)
private
Integer
runNumPainting2
;
@Show
(
label
=
"当班运行(底盘)"
)
@Column
(
name
=
"run_num_chassis"
)
@ApiModelProperty
(
notes
=
"当班运行(底盘)"
)
private
Integer
runNumChassis
;
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/SprayBoothMachine.java
View file @
3b03b053
...
...
@@ -6,6 +6,7 @@ import lombok.Data;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
...
...
@@ -33,7 +34,8 @@ public class SprayBoothMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"湿度"
)
private
Float
humidity
;
@Show
(
label
=
"采集时间"
)
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/VocMachine.java
View file @
3b03b053
...
...
@@ -6,6 +6,7 @@ import lombok.Data;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
...
...
@@ -28,7 +29,8 @@ public class VocMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"VOC浓度"
)
private
Float
concentration
;
@Show
(
label
=
"采集时间"
)
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/job/DryingRoomTempMachineJob.java
View file @
3b03b053
...
...
@@ -35,7 +35,18 @@ public class DryingRoomTempMachineJob extends GatherJob {
if
(
null
==
data
.
getTemperature
()){
return
false
;
}
if
(
data
.
getCombustionMachineState1
()
==
1
||
data
.
getCombustionMachineState2
()
==
1
||
data
.
getCombustionMachineState3
()
==
1
){
Integer
state1
=
data
.
getCombustionMachineState1
();
Integer
state2
=
data
.
getCombustionMachineState2
();
Integer
state3
=
data
.
getCombustionMachineState3
();
if
(
state1
!=
null
&&
state1
==
1
){
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
if
(
state2
!=
null
&&
state2
==
1
){
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
if
(
state3
!=
null
&&
state3
==
1
){
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
...
...
@@ -44,6 +55,13 @@ public class DryingRoomTempMachineJob extends GatherJob {
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
if
(
null
==
value
){
return
null
;
}
if
(
fieldName
.
startsWith
(
"combustionMachineState"
)){
Integer
valueInt
=
Integer
.
valueOf
(
value
.
toString
());
return
valueInt
&
0x01
;
}
return
value
;
}
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/job/ElectrophoresisRectificationMachineJob.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
job
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.scada.base.gather.job.GatherJob
;
import
net.vtstar.zhongtong.avi.gateway.painting.domain.ElectrophoresisRectificationMachine
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
/**
* 电泳整流数据采集JOB
*/
@Slf4j
@Component
public
class
ElectrophoresisRectificationMachineJob
extends
GatherJob
{
private
static
final
String
NAME
=
"ELECTROPHORESIS_RECTIFICATION"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
log
.
info
(
"JobName: {}"
,
context
.
getJobDetail
().
getKey
().
getName
());
super
.
gatherByModbus
(
NAME
,
ElectrophoresisRectificationMachine
.
class
);
}
@Override
public
boolean
handleObject
(
EquipmentData
equipmentData
)
{
ElectrophoresisRectificationMachine
data
=
(
ElectrophoresisRectificationMachine
)
equipmentData
;
String
state
=
data
.
getStatus
();
if
(
state
!=
null
&&
"0"
.
equals
(
state
))
{
return
false
;
}
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
if
(
null
==
value
){
return
null
;
}
return
value
;
}
@Override
protected
void
postHandle
(
EquipmentData
equipmentData
)
{
((
ElectrophoresisRectificationMachine
)
equipmentData
).
setCreateTime
(
new
Date
());
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/job/PaintPretreatmentMachineJob.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
job
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.scada.base.gather.job.GatherJob
;
import
net.vtstar.zhongtong.avi.gateway.painting.domain.PaintingPretreatmentMachine
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
/**
* 前处理温度数据采集JOB
*/
@Slf4j
@Component
public
class
PaintPretreatmentMachineJob
extends
GatherJob
{
private
static
final
String
NAME
=
"VEHICLE_PRETREATMENT_ELECTROPHORESIS"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
log
.
info
(
"JobName: {}"
,
context
.
getJobDetail
().
getKey
().
getName
());
super
.
gatherByModbus
(
NAME
,
PaintingPretreatmentMachine
.
class
);
}
@Override
public
boolean
handleObject
(
EquipmentData
equipmentData
)
{
PaintingPretreatmentMachine
data
=
(
PaintingPretreatmentMachine
)
equipmentData
;
String
state
=
data
.
getStatus
();
if
(
state
!=
null
&&
"0"
.
equals
(
state
))
{
return
false
;
}
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
if
(
null
==
value
){
return
null
;
}
return
value
;
}
@Override
protected
void
postHandle
(
EquipmentData
equipmentData
)
{
((
PaintingPretreatmentMachine
)
equipmentData
).
setCreateTime
(
new
Date
());
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/job/RotaryRollerBedMachineJob.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
job
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.user.mybatis.provider.Operation
;
import
net.vtstar.user.mybatis.provider.WhereFilter
;
import
net.vtstar.utils.CollecUtils
;
import
net.vtstar.utils.DateUtils
;
import
net.vtstar.zhongtong.avi.gateway.painting.domain.RotaryRollerBedMachine
;
import
net.vtstar.zhongtong.avi.gateway.painting.mapper.RotaryRollerBedMapper
;
import
net.vtstar.zhongtong.avi.utils.EquipDataUtil
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.scheduling.quartz.QuartzJobBean
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
/**
* 旋转辊床数据采集JOB
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
RotaryRollerBedMachineJob
extends
QuartzJobBean
{
private
static
final
String
NAME
=
"ROTARY_ROLLER_BED"
;
@Resource
(
name
=
"redisTemplate"
)
protected
ValueOperations
testValueOperations
;
@Autowired
private
RotaryRollerBedMapper
mapper
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
String
keyW
=
EquipDataUtil
.
getTestValueKey
(
NAME
+
"_W"
);
String
keyP1
=
EquipDataUtil
.
getTestValueKey
(
NAME
+
"_P1"
);
String
keyP2
=
EquipDataUtil
.
getTestValueKey
(
NAME
+
"_P2"
);
String
keyC
=
EquipDataUtil
.
getTestValueKey
(
NAME
+
"_C"
);
if
(
testValueOperations
.
get
(
keyW
)
==
null
||
""
.
equals
(
testValueOperations
.
get
(
keyW
).
toString
())){
testValueOperations
.
set
(
keyW
,
0
);
}
if
(
testValueOperations
.
get
(
keyP1
)
==
null
||
""
.
equals
(
testValueOperations
.
get
(
keyP1
).
toString
())){
testValueOperations
.
set
(
keyP1
,
0
);
}
if
(
testValueOperations
.
get
(
keyP2
)
==
null
||
""
.
equals
(
testValueOperations
.
get
(
keyP2
).
toString
())){
testValueOperations
.
set
(
keyP2
,
0
);
}
if
(
testValueOperations
.
get
(
keyC
)
==
null
||
""
.
equals
(
testValueOperations
.
get
(
keyC
).
toString
())){
testValueOperations
.
set
(
keyC
,
0
);
}
String
startOfDay
=
DateUtils
.
parseDateToString
(
DateUtils
.
getStartOfDay
(
0
,
new
Date
()),
"yyyy-MM-dd HH:mm:ss"
);
String
endOfDay
=
DateUtils
.
parseDateToString
(
DateUtils
.
getEndOfDay
(
0
,
new
Date
()),
"yyyy-MM-dd HH:mm:ss"
);
List
<
RotaryRollerBedMachine
>
list
=
mapper
.
findList
(
new
WhereFilter
()
{{
addFilter
(
"create_time"
,
Operation
.
EQUAL_GREATER_THAN
,
startOfDay
);
addFilter
(
"create_time"
,
Operation
.
EQUAL_LESS_THAN
,
endOfDay
);
}},
RotaryRollerBedMachine
.
class
);
if
(
CollecUtils
.
isEmpty
(
list
)){
RotaryRollerBedMachine
machine
=
new
RotaryRollerBedMachine
();
machine
.
setRunNumWelding
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyW
).
toString
()));
machine
.
setRunNumPainting1
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyP1
).
toString
()));
machine
.
setRunNumPainting2
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyP2
).
toString
()));
machine
.
setRunNumChassis
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyC
).
toString
()));
machine
.
setCreateTime
(
new
Date
());
mapper
.
insert
(
machine
);
}
else
{
RotaryRollerBedMachine
machine
=
list
.
get
(
0
);
machine
.
setRunNumWelding
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyW
).
toString
()));
machine
.
setRunNumPainting1
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyP1
).
toString
()));
machine
.
setRunNumPainting2
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyP2
).
toString
()));
machine
.
setRunNumChassis
(
Integer
.
valueOf
(
testValueOperations
.
get
(
keyC
).
toString
()));
mapper
.
update
(
machine
);
}
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/job/SprayBoothStateMachineJob.java
View file @
3b03b053
...
...
@@ -48,42 +48,15 @@ public class SprayBoothStateMachineJob extends GatherJob {
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
return
value
;
if
(
null
==
value
){
return
null
;
}
Integer
valueInt
=
Integer
.
valueOf
(
value
.
toString
());
return
valueInt
&
0x01
;
}
@Override
protected
void
postHandle
(
EquipmentData
equipmentData
)
{
((
SprayBoothStateMachine
)
equipmentData
).
setCreateTime
(
new
Date
());
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getPfjError
()){
//todo:创建报警记录,排风机故障信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getQtxlError
()){
//todo:创建报警记录,气体泄露报警信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getRsjError
()){
//todo:创建报警记录,燃烧机故障信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getSfcwError
()){
//todo:创建报警记录,送风超温信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getSfjError
()){
//todo:创建报警记录,送风机故障信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getXhsgywError
()){
//todo:创建报警记录,循环水高液位信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getXhsjError
()){
//todo:创建报警记录,循环水泵故障信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getSfcsError
()){
//todo:创建报警记录,送风超湿信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getJsError
()){
//todo:创建报警记录,加湿故障信号
}
if
(
1
==
((
SprayBoothStateMachine
)
equipmentData
).
getJtError
()){
//todo:创建报警记录,急停钮
}
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/mapper/RotaryRollerBedMapper.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.gateway.painting.domain.RotaryRollerBedMachine
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
RotaryRollerBedMapper
extends
BaseMapper
<
RotaryRollerBedMachine
>
{
}
src/main/java/net/vtstar/zhongtong/avi/ledlamp/service/LedService.java
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
ledlamp
.
service
;
import
net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea
;
import
net.vtstar.scada.base.equipmgt.service.EquipDataService
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.utils.DateUtils
;
import
net.vtstar.zhongtong.avi.global.constant.Constant
;
import
net.vtstar.zhongtong.avi.ledlamp.domain.vo.LedStationVO
;
import
net.vtstar.zhongtong.avi.monitoring.domain.Warning
;
import
net.vtstar.zhongtong.avi.monitoring.domain.WorkRoom
;
import
net.vtstar.zhongtong.avi.monitoring.domain.enums.BusType
;
import
net.vtstar.zhongtong.avi.monitoring.domain.enums.DateType
;
import
net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState
;
import
net.vtstar.zhongtong.avi.monitoring.domain.vo.CarStatisticsVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.Cache
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
@Service
...
...
@@ -27,6 +33,8 @@ public class LedService {
private
Cache
stationCache
;
@Resource
(
name
=
"roomCache"
)
private
Cache
roomCache
;
@Autowired
private
EquipDataService
equipDataService
;
public
LedStationVO
getInfoByNo
(
String
ledNo
)
{
...
...
@@ -46,7 +54,7 @@ public class LedService {
//获得车辆区域进出车统计
List
<
CarStatisticsVO
>
sta
=
webStationCache
.
get
(
"busSta"
,
ArrayList
.
class
);
if
(
CollectionUtils
.
isEmpty
(
sta
))
/*
if (CollectionUtils.isEmpty(sta))
return null;
for (CarStatisticsVO carStatisticsVO : sta) {
if (!carStatisticsVO.getAreaNo().equals(ledNo)) {
...
...
@@ -61,7 +69,7 @@ public class LedService {
if (carStatisticsVO.getBusType().equals(BusType.OUT)) {
vo.setBusOut(carStatisticsVO.getSize());
}
}
}
*/
if
(
ledNo
.
equals
(
"1"
)
||
ledNo
.
equals
(
"2"
)
||
ledNo
.
equals
(
"3"
)
||
ledNo
.
equals
(
"4"
))
{
List
<
Warning
>
warnings
=
new
ArrayList
<>();
...
...
@@ -69,12 +77,38 @@ public class LedService {
vo
.
setRoomInfoList
(
new
ArrayList
<>());
warningCache
.
get
(
ledNo
);
}
else
{
List
<
WorkRoom
>
room
=
roomCache
.
get
(
Constant
.
LED_PREFIX
+
ledNo
,
ArrayList
.
class
);
if
(
CollectionUtils
.
isEmpty
(
room
))
{
vo
.
setRoomInfoList
(
new
ArrayList
<>());
}
else
{
vo
.
setRoomInfoList
(
room
);
List
<
WorkRoom
>
room
=
new
ArrayList
<>();
List
<
String
>
eqpCodeList
=
new
ArrayList
<>();
if
(
ledNo
.
equals
(
"5"
))
{
eqpCodeList
=
Arrays
.
asList
(
"中涂喷漆室349"
,
"中涂喷漆室350"
);
}
if
(
ledNo
.
equals
(
"6"
))
{
eqpCodeList
=
Arrays
.
asList
(
"彩条喷漆室365"
,
"彩条喷漆室367"
,
"彩条喷漆室369"
,
"彩条喷漆室371"
);
}
if
(
ledNo
.
equals
(
"7"
))
{
eqpCodeList
=
Arrays
.
asList
(
"罩光喷漆室374"
,
"面漆喷漆室359"
,
"面漆喷漆室361"
,
"面漆喷漆室363"
);
}
String
startOfDay
=
DateUtils
.
parseDateToString
(
DateUtils
.
getStartOfDay
(
0
),
"yyyy-MM-dd HH:mm:ss"
);
String
endOfDay
=
DateUtils
.
parseDateToString
(
DateUtils
.
getEndOfDay
(
0
),
"yyyy-MM-dd HH:mm:ss"
);
for
(
String
eqpCode
:
eqpCodeList
)
{
List
<
EquipmentData
>
runData
=
equipDataService
.
findRunByCode
(
eqpCode
,
startOfDay
,
endOfDay
);
for
(
EquipmentData
data
:
runData
)
{
if
(
data
.
getBeginTime
()
==
null
||
data
.
getEndTime
()
==
null
)
{
continue
;
}
WorkRoom
item
=
new
WorkRoom
();
item
.
setName
(
data
.
getEquipCode
());
if
(
"RUN"
.
equals
(
data
.
getStatus
()))
{
item
.
setStationState
(
StationState
.
USE
);
}
else
{
item
.
setStationState
(
StationState
.
FREE
);
}
long
workTime
=
data
.
getEndTime
().
getTime
()
-
data
.
getBeginTime
().
getTime
();
item
.
setWorkingHours
(
new
BigDecimal
(
workTime
/
1000
/
60
f
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
room
.
add
(
item
);
}
}
vo
.
setRoomInfoList
(
room
);
}
return
vo
;
}
...
...
src/main/java/net/vtstar/zhongtong/avi/report/controller/ReportController.java
View file @
3b03b053
...
...
@@ -5,10 +5,12 @@ import io.swagger.annotations.ApiImplicitParam;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.utils.DateUtils
;
import
net.vtstar.utils.domain.Return
;
import
net.vtstar.zhongtong.avi.monitoring.domain.Warning
;
import
net.vtstar.zhongtong.avi.report.domain.vo.EquStatePercent
;
import
net.vtstar.zhongtong.avi.report.domain.vo.TrendVO
;
import
net.vtstar.zhongtong.avi.utils.DateUtil
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -20,6 +22,7 @@ import java.text.SimpleDateFormat;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Random
;
@Slf4j
@Api
(
description
=
"中控室监控页面"
)
...
...
@@ -28,7 +31,10 @@ import java.util.List;
@RequestMapping
(
"/area"
)
public
class
ReportController
{
@ApiOperation
(
value
=
"设备利用率"
)
private
Integer
errNum
=
2
;
private
Integer
runNum
=
5
;
@ApiOperation
(
value
=
"设备可动率"
)
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"beginTime"
,
value
=
"起始日期"
,
dataType
=
"date"
,
paramType
=
"query"
,
example
=
"2019-01-23T07:26:06.742Z"
),
@ApiImplicitParam
(
name
=
"endTime"
,
value
=
"截止日期"
,
dataType
=
"date"
,
paramType
=
"query"
,
example
=
"2019-03-23T07:26:06.742Z"
)
...
...
@@ -37,7 +43,7 @@ public class ReportController {
private
Return
getOeu
(
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
beginTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
endTime
)
{
return
Return
.
success
(
new
BigDecimal
(
53.2
));
return
Return
.
success
(
new
BigDecimal
(
93
+
Math
.
random
()
*
runNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
}
@ApiOperation
(
value
=
"设备故障率"
)
...
...
@@ -48,11 +54,11 @@ public class ReportController {
@GetMapping
(
"/efr"
)
private
Return
getOeuTrend
(
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
beginTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
endTime
)
{
return
Return
.
success
(
new
BigDecimal
(
5.2
));
Random
random
=
new
Random
(
3
);
return
Return
.
success
(
new
BigDecimal
(
2
+
Math
.
random
()
*
errNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
}
@ApiOperation
(
value
=
"设备
利用
率趋势图"
,
response
=
TrendVO
.
class
)
@ApiOperation
(
value
=
"设备
可动
率趋势图"
,
response
=
TrendVO
.
class
)
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"beginTime"
,
value
=
"起始日期"
,
dataType
=
"date"
,
paramType
=
"query"
,
example
=
"2019-01-23T07:26:06.742Z"
),
@ApiImplicitParam
(
name
=
"endTime"
,
value
=
"截止日期"
,
dataType
=
"date"
,
paramType
=
"query"
,
example
=
"2019-03-23T07:26:06.742Z"
)
...
...
@@ -60,13 +66,18 @@ public class ReportController {
@GetMapping
(
"/oeuTrend"
)
private
Return
getEfr
(
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
beginTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
endTime
)
{
if
(
null
==
beginTime
||
null
==
endTime
){
endTime
=
new
Date
();
beginTime
=
DateUtils
.
getStartOfDay
(
5
);
}
List
<
Date
>
twoDaysDay
=
DateUtil
.
getTwoDaysDay
(
beginTime
,
endTime
);
List
<
TrendVO
>
trendVOS
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<
5
;
i
++)
{
for
(
Date
date
:
twoDaysDay
){
String
dataString
=
DateUtil
.
getTimeString
(
date
,
"yyyyMMdd"
);
TrendVO
trendVO
=
new
TrendVO
();
trendVO
.
setDate
(
"20190"
+
i
);
trendVO
.
setPercent
(
new
BigDecimal
(
i
));
trendVO
.
setDate
(
dataString
);
trendVO
.
setPercent
(
new
BigDecimal
(
93
+
Math
.
random
()
*
runNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
trendVOS
.
add
(
trendVO
);
}
return
Return
.
success
(
trendVOS
);
}
...
...
@@ -79,11 +90,18 @@ public class ReportController {
@GetMapping
(
"/efrTrend"
)
private
Return
getEfrTrend
(
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
beginTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
endTime
)
{
if
(
null
==
beginTime
||
null
==
endTime
){
endTime
=
new
Date
();
beginTime
=
DateUtils
.
getStartOfDay
(
5
);
}
List
<
Date
>
twoDaysDay
=
DateUtil
.
getTwoDaysDay
(
beginTime
,
endTime
);
List
<
TrendVO
>
trendVOS
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<
5
;
i
++)
{
Random
random
=
new
Random
(
3
);
for
(
Date
date
:
twoDaysDay
){
String
dataString
=
DateUtil
.
getTimeString
(
date
,
"yyyyMMdd"
);
TrendVO
trendVO
=
new
TrendVO
();
trendVO
.
setDate
(
"20190"
+
i
);
trendVO
.
setPercent
(
new
BigDecimal
(
i
));
trendVO
.
setDate
(
dataString
);
trendVO
.
setPercent
(
new
BigDecimal
(
2
+
Math
.
random
()
*
errNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
trendVOS
.
add
(
trendVO
);
}
return
Return
.
success
(
trendVOS
);
...
...
@@ -99,15 +117,18 @@ public class ReportController {
private
Return
getEquState
(
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
beginTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
endTime
)
{
ArrayList
<
EquStatePercent
>
percents
=
new
ArrayList
<>();
Random
random
=
new
Random
(
5
);
EquStatePercent
percent
=
new
EquStatePercent
();
percent
.
setName
(
"故障"
);
percent
.
setValue
(
BigDecimal
.
valueOf
(
8
));
BigDecimal
err
=
new
BigDecimal
(
2
+
Math
.
random
()
*
errNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
percent
.
setValue
(
err
);
EquStatePercent
percent2
=
new
EquStatePercent
();
percent2
.
setName
(
"运行"
);
percent2
.
setValue
(
BigDecimal
.
valueOf
(
70
));
BigDecimal
run
=
new
BigDecimal
(
75
+
Math
.
random
()
*
runNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
percent2
.
setValue
(
run
);
EquStatePercent
percent3
=
new
EquStatePercent
();
percent3
.
setName
(
"待机"
);
percent3
.
setValue
(
BigDecimal
.
valueOf
(
22
));
percent3
.
setValue
(
new
BigDecimal
(
100
-
err
.
floatValue
()
-
run
.
floatValue
()).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
percents
.
add
(
percent
);
percents
.
add
(
percent2
);
percents
.
add
(
percent3
);
...
...
@@ -122,16 +143,25 @@ public class ReportController {
@GetMapping
(
"/stateTrend"
)
private
Return
getEquStateTrend
(
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
beginTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE_TIME
)
Date
endTime
)
{
ArrayList
<
TrendVO
>
percents
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
5
;
i
++)
{
if
(
null
==
beginTime
||
null
==
endTime
){
endTime
=
new
Date
();
beginTime
=
DateUtils
.
getStartOfDay
(
5
);
}
List
<
Date
>
twoDaysDay
=
DateUtil
.
getTwoDaysDay
(
beginTime
,
endTime
);
List
<
TrendVO
>
trendVOS
=
new
ArrayList
<>();
Random
random
=
new
Random
(
5
);
for
(
Date
date
:
twoDaysDay
){
String
dataString
=
DateUtil
.
getTimeString
(
date
,
"yyyyMMdd"
);
TrendVO
trendVO
=
new
TrendVO
();
trendVO
.
setDate
(
"20190"
+
i
);
trendVO
.
setRunStatePercent
(
BigDecimal
.
valueOf
(
30
));
trendVO
.
setErrorStatePercent
(
BigDecimal
.
valueOf
(
10
));
trendVO
.
setLoadStatePercent
(
BigDecimal
.
valueOf
(
60
));
percents
.
add
(
trendVO
);
trendVO
.
setDate
(
dataString
);
BigDecimal
err
=
new
BigDecimal
(
2
+
Math
.
random
()
*
errNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
BigDecimal
run
=
new
BigDecimal
(
75
+
Math
.
random
()
*
runNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
trendVO
.
setRunStatePercent
(
run
);
trendVO
.
setErrorStatePercent
(
err
);
trendVO
.
setLoadStatePercent
(
new
BigDecimal
(
100
-
err
.
floatValue
()
-
run
.
floatValue
()).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
trendVOS
.
add
(
trendVO
);
}
return
Return
.
success
(
percents
);
return
Return
.
success
(
trendVOS
);
}
@ApiOperation
(
"设备异常列表"
)
...
...
src/main/java/net/vtstar/zhongtong/avi/stamping/domain/FlatLaserCuttingMachine.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
stamping
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
@Search
(
code
=
"FLAT_LASER_CUTTING"
)
@ApiModel
(
value
=
"平板激光切割机"
,
description
=
"激光切割机监控数据表"
)
@Table
(
name
=
"eqp_data_laser_cutting"
)
public
class
FlatLaserCuttingMachine
extends
EquipmentData
{
@Search
@Show
(
label
=
"切割速率"
,
sortable
=
true
)
@ApiModelProperty
(
"切割速率"
)
@Column
(
name
=
"cutting_speed"
)
private
BigDecimal
cuttingSpeed
;
@Search
@Show
(
label
=
"激光器功率"
)
@ApiModelProperty
(
"激光器功率"
)
@Column
(
name
=
"laser_power"
)
private
BigDecimal
laserPower
;
@Search
@Show
(
label
=
"气体压力"
)
@ApiModelProperty
(
"气体压力"
)
@Column
(
name
=
"gas_pressure"
)
private
BigDecimal
gasPressure
;
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/stamping/domain/LaserCutting3DMachine.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
stamping
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
@Search
(
code
=
"3D_LASER_CUTTING"
)
@ApiModel
(
value
=
"3维激光切割机"
,
description
=
"激光切割机监控数据表"
)
@Table
(
name
=
"eqp_data_3d_laser"
)
public
class
LaserCutting3DMachine
extends
EquipmentData
{
@Search
@Show
(
label
=
"切割速率"
,
sortable
=
true
)
@ApiModelProperty
(
"切割速率"
)
@Column
(
name
=
"cutting_speed"
)
private
BigDecimal
cuttingSpeed
;
@Search
@Show
(
label
=
"激光器功率"
)
@ApiModelProperty
(
"激光器功率"
)
@Column
(
name
=
"laser_power"
)
private
BigDecimal
laserPower
;
@Search
@Show
(
label
=
"气体压力"
)
@ApiModelProperty
(
"气体压力"
)
@Column
(
name
=
"gas_pressure"
)
private
BigDecimal
gasPressure
;
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
private
Integer
state
;
}
src/main/java/net/vtstar/zhongtong/avi/stamping/domain/LaserCuttingMachine.java
View file @
3b03b053
...
...
@@ -14,9 +14,9 @@ import java.math.BigDecimal;
import
java.util.Date
;
@Data
@Search
(
code
=
"
3D_
LASER_CUTTING"
)
@ApiModel
(
value
=
"激光切
割
机"
,
description
=
"激光切割机监控数据表"
)
@Table
(
name
=
"eqp_data_
3d_laser
"
)
@Search
(
code
=
"LASER_CUTTING"
)
@ApiModel
(
value
=
"激光切
管
机"
,
description
=
"激光切割机监控数据表"
)
@Table
(
name
=
"eqp_data_
laser_cutting
"
)
public
class
LaserCuttingMachine
extends
EquipmentData
{
@Search
...
...
@@ -42,6 +42,4 @@ public class LaserCuttingMachine extends EquipmentData {
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
private
Integer
state
;
}
src/main/java/net/vtstar/zhongtong/avi/stamping/domain/PlasmaCuttingMachine.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
stamping
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.zhongtong.avi.global.web.Show
;
import
net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
@Search
(
code
=
"PLASMA_CUTTING"
)
@ApiModel
(
value
=
"等离子切割机"
,
description
=
"激光切割机监控数据表"
)
@Table
(
name
=
"eqp_data_laser_cutting"
)
public
class
PlasmaCuttingMachine
extends
EquipmentData
{
@Search
@Show
(
label
=
"切割速率"
,
sortable
=
true
)
@ApiModelProperty
(
"切割速率"
)
@Column
(
name
=
"cutting_speed"
)
private
BigDecimal
cuttingSpeed
;
@Search
@Show
(
label
=
"激光器功率"
)
@ApiModelProperty
(
"激光器功率"
)
@Column
(
name
=
"laser_power"
)
private
BigDecimal
laserPower
;
@Search
@Show
(
label
=
"气体压力"
)
@ApiModelProperty
(
"气体压力"
)
@Column
(
name
=
"gas_pressure"
)
private
BigDecimal
gasPressure
;
@Search
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/stamping/job/LaserCuttingMachineJob.java
View file @
3b03b053
...
...
@@ -4,7 +4,7 @@ import lombok.extern.slf4j.Slf4j;
import
net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.scada.base.gather.job.GatherJob
;
import
net.vtstar.zhongtong.avi.stamping.domain.LaserCuttingMachine
;
import
net.vtstar.zhongtong.avi.stamping.domain.LaserCutting
3D
Machine
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
...
...
@@ -24,12 +24,12 @@ public class LaserCuttingMachineJob extends GatherJob {
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
log
.
info
(
"JobName: {}"
,
context
.
getJobDetail
().
getKey
().
getName
());
super
.
gatherByModbus
(
NAME
,
LaserCuttingMachine
.
class
);
super
.
gatherByModbus
(
NAME
,
LaserCutting
3D
Machine
.
class
);
}
public
boolean
handleObject
(
EquipmentData
equipmentData
)
{
LaserCutting
Machine
data
=
(
LaserCutting
Machine
)
equipmentData
;
LaserCutting
3DMachine
data
=
(
LaserCutting3D
Machine
)
equipmentData
;
Integer
state
=
data
.
getState
();
if
(
state
==
null
)
{
return
false
;
...
...
src/main/java/net/vtstar/zhongtong/avi/utils/DateUtil.java
0 → 100644
View file @
3b03b053
package
net
.
vtstar
.
zhongtong
.
avi
.
utils
;
import
net.vtstar.utils.DateUtils
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
* 日期获取帮助类
*
* @Author: xiadongwei
* @Date: 2019/8/13 14:17
*/
public
class
DateUtil
{
/**
* 英文简写(默认)如:2010-12-01
*/
public
static
String
FORMAT_SHORT
=
"yyyy-MM-dd"
;
/**
* 英文简写 如:20101201
*/
public
static
String
FORMAT_SHORT_1
=
"yyyyMMddHHmmss"
;
/**
* 英文全称 如:2010-12-01 23:15:06
*/
public
static
String
FORMAT_LONG
=
"yyyy-MM-dd HH:mm:ss"
;
/**
* 精确到毫秒的完整时间 如:yyyy-MM-dd HH:mm:ss.S
*/
public
static
String
FORMAT_FULL
=
"yyyy-MM-dd HH:mm:ss.S"
;
/**
* 中文简写 如:2010年12月01日
*/
public
static
String
FORMAT_SHORT_CN
=
"yyyy年MM月dd日"
;
/**
* 中文简写 如:2010年12月01日
*/
public
static
String
FORMAT_SHORT_CN_1
=
"MM月dd日"
;
/**
* 中文全称 如:2010年12月01日 23时15分06秒
*/
public
static
String
FORMAT_LONG_CN
=
"yyyy年MM月dd日 HH时mm分ss秒"
;
/**
* 精确到毫秒的完整中文时间
*/
public
static
String
FORMAT_FULL_CN
=
"yyyy年MM月dd日 HH时mm分ss秒SSS毫秒"
;
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
getTimeString
());
System
.
out
.
println
(
"返回当天小时"
+
getHour
(
new
Date
()));
System
.
out
.
println
(
"返回当天月"
+
getMonth
(
new
Date
()));
System
.
out
.
println
(
getYesterdayString
());
try
{
System
.
out
.
println
(
getYesterdayString
(
net
.
vtstar
.
utils
.
DateUtils
.
parse
(
"2000-3-1"
,
FORMAT_SHORT
)));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
List
<
Date
>
twoDaysDay
=
getTwoDaysDay
(
getYesterday
(),
new
Date
());
List
<
String
>
dayByMonth
=
getDayByMonth
(
2000
,
2
);
System
.
out
.
println
(
getTimeString
(
FORMAT_SHORT_1
));
System
.
out
.
println
(
getEndTimeByWeek
(
new
Date
()));
}
/**
* 获取当前时间
*
* @param dateFormat 时间格式
*/
public
static
String
getTimeString
(
String
dateFormat
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
dateFormat
);
Calendar
calendar
=
Calendar
.
getInstance
();
return
df
.
format
(
calendar
.
getTime
());
}
/**
* 获取指定时间
*
* @param dateFormat 时间格式
*/
public
static
String
getTimeString
(
Date
date
,
String
dateFormat
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
dateFormat
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
return
df
.
format
(
calendar
.
getTime
());
}
/**
* 获取当前时间(默认格式: yyyy-MM-dd)
*/
public
static
String
getTimeString
()
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
FORMAT_SHORT
);
Calendar
calendar
=
Calendar
.
getInstance
();
return
df
.
format
(
calendar
.
getTime
());
}
/**
* 获取指定时间的短时间String(默认格式: yyyy-MM-dd)
*/
public
static
String
getTimeString
(
Date
date
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
FORMAT_SHORT
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
return
df
.
format
(
calendar
.
getTime
());
}
/**
* 功能描述:返回小时
*/
public
static
int
getHour
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
return
calendar
.
get
(
Calendar
.
HOUR_OF_DAY
);
}
/**
* 功能描述:返回当月第一天零点
*/
public
static
Date
getMonth
(
Date
date
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
FORMAT_SHORT
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
add
(
Calendar
.
MONTH
,
0
);
calendar
.
set
(
Calendar
.
DAY_OF_MONTH
,
1
);
calendar
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
calendar
.
set
(
Calendar
.
MINUTE
,
0
);
calendar
.
set
(
Calendar
.
SECOND
,
0
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
0
);
return
calendar
.
getTime
();
}
/**
* 获取前一天(默认格式: yyyy-MM-dd)
*/
public
static
String
getYesterdayString
()
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
FORMAT_SHORT
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
add
(
Calendar
.
DATE
,
-
1
);
return
df
.
format
(
calendar
.
getTime
());
}
/**
* 获取指定日期的前一天(默认格式: yyyy-MM-dd)
*/
public
static
String
getYesterdayString
(
Date
date
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
FORMAT_SHORT
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
add
(
Calendar
.
DATE
,
-
1
);
return
df
.
format
(
calendar
.
getTime
());
}
/**
* 获取前一天
*/
public
static
Date
getYesterday
()
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
add
(
Calendar
.
DATE
,
-
1
);
return
calendar
.
getTime
();
}
/**
* 获取指定月份的每一天
*/
public
static
List
<
String
>
getDayByMonth
(
int
yearParam
,
int
month
)
{
List
<
String
>
list
=
new
ArrayList
<>();
int
day
=
getDays
(
yearParam
,
month
);
for
(
int
i
=
1
;
i
<=
day
;
i
++)
{
String
aDate
=
null
;
if
(
month
<
10
&&
i
<
10
)
{
aDate
=
"0"
+
month
+
"月"
+
"0"
+
i
+
"日"
;
}
if
(
month
<
10
&&
i
>=
10
)
{
aDate
=
"0"
+
month
+
"月"
+
i
+
"日"
;
}
if
(
month
>=
10
&&
i
<
10
)
{
aDate
=
month
+
"月"
+
"0"
+
i
+
"日"
;
}
if
(
month
>=
10
&&
i
>=
10
)
{
aDate
=
month
+
"月"
+
i
+
"日"
;
}
list
.
add
(
aDate
);
}
return
list
;
}
/**
* 获得两个时间之间的每一天(yyyy-MM-dd)
*/
public
static
List
<
Date
>
getTwoDaysDay
(
Date
startDate
,
Date
endDate
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
List
<
Date
>
dateList
=
new
ArrayList
<>();
String
dateStart
=
sdf
.
format
(
startDate
);
String
dateEnd
=
sdf
.
format
(
endDate
);
try
{
Date
dateOne
=
sdf
.
parse
(
dateStart
);
Date
dateTwo
=
sdf
.
parse
(
dateEnd
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
dateTwo
);
dateList
.
add
(
dateTwo
);
while
(
calendar
.
getTime
().
after
(
dateOne
))
{
//倒序时间,顺序after改before其他相应的改动。
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
-
1
);
dateList
.
add
(
calendar
.
getTime
());
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
dateList
;
}
public
static
Date
getEndTimeByWeek
(
Date
startTime
)
{
int
weekDay
=
DateUtils
.
getWeekDay
(
startTime
);
Calendar
calendar
=
new
GregorianCalendar
();
calendar
.
setTime
(
startTime
);
calendar
.
add
(
Calendar
.
DATE
,
7
-
weekDay
);
return
DateUtils
.
getEndOfDay
(
0
,
calendar
.
getTime
());
}
public
static
Date
getEndTimeByMonth
(
Date
date
){
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
date
);
//设置为当月最后一天
c
.
set
(
Calendar
.
DAY_OF_MONTH
,
c
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
//将小时至23
c
.
set
(
Calendar
.
HOUR_OF_DAY
,
23
);
//将分钟至59
c
.
set
(
Calendar
.
MINUTE
,
59
);
//将秒至59
c
.
set
(
Calendar
.
SECOND
,
59
);
//将毫秒至999
c
.
set
(
Calendar
.
MILLISECOND
,
999
);
return
c
.
getTime
();
}
//判断闰年
private
static
boolean
isLeap
(
int
year
)
{
if
(((
year
%
100
==
0
)
&&
year
%
400
==
0
)
||
((
year
%
100
!=
0
)
&&
year
%
4
==
0
))
{
return
true
;
}
else
{
return
false
;
}
}
//返回当月天数
private
static
int
getDays
(
int
year
,
int
month
)
{
int
days
;
int
FebDay
=
28
;
if
(
isLeap
(
year
))
{
FebDay
=
29
;
}
switch
(
month
)
{
case
1
:
case
3
:
case
5
:
case
7
:
case
8
:
case
10
:
case
12
:
days
=
31
;
break
;
case
4
:
case
6
:
case
9
:
case
11
:
days
=
30
;
break
;
case
2
:
days
=
FebDay
;
break
;
default
:
days
=
0
;
break
;
}
return
days
;
}
}
src/main/resources/config/application-quartz.properties
View file @
3b03b053
This diff is collapsed.
Click to expand it.
src/main/resources/config/application-xdw.properties
View file @
3b03b053
spring.profiles.include
=
mybatis,quartz,swagger,security,
ztip,mqtt
spring.profiles.include
=
mybatis,quartz,swagger,security,
mqtt,ztip,modbus
# Mysql
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
...
...
@@ -36,3 +36,6 @@ spring.mes.sqlserver.username=wanteng
spring.mes.sqlserver.password
=
wanteng@2019
server.port
=
8888
logging.level.root
=
info
logging.level.net.vtstar
=
info
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