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
befd2dd5
Commit
befd2dd5
authored
Nov 09, 2019
by
夏东伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
网关采集
parent
5a5c3c1b
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
832 additions
and
34 deletions
+832
-34
AssemblyNewEnergyJob.java
...vtstar/zhongtong/avi/access/job/AssemblyNewEnergyJob.java
+2
-1
MesWorkOrderInfo.java
...star/zhongtong/avi/equipment/domain/MesWorkOrderInfo.java
+26
-4
CleanStatusDataJob.java
...tstar/zhongtong/avi/equipment/job/CleanStatusDataJob.java
+3
-0
CentralizedFillingClutchMachine.java
...eway/assembly/domain/CentralizedFillingClutchMachine.java
+17
-1
FloorLeatherHotMachine.java
...g/avi/gateway/assembly/domain/FloorLeatherHotMachine.java
+7
-1
FocusAddingRefrigerantMachine.java
...ateway/assembly/domain/FocusAddingRefrigerantMachine.java
+12
-1
FocusBoosterOilMachine.java
...g/avi/gateway/assembly/domain/FocusBoosterOilMachine.java
+7
-1
PlateChainMachine.java
...ngtong/avi/gateway/assembly/domain/PlateChainMachine.java
+7
-1
CentralizedFillingClutchMachineJob.java
...eway/assembly/job/CentralizedFillingClutchMachineJob.java
+1
-1
FloorLeatherHotMachineJob.java
...g/avi/gateway/assembly/job/FloorLeatherHotMachineJob.java
+3
-0
FocusAddingRefrigerantMachineJob.java
...ateway/assembly/job/FocusAddingRefrigerantMachineJob.java
+2
-2
ChassisTorqueWrench.java
...gtong/avi/gateway/chassis/domain/ChassisTorqueWrench.java
+7
-1
DryingRoomTempMachine.java
...ng/avi/gateway/painting/domain/DryingRoomTempMachine.java
+32
-0
PaintingRobotMachine.java
...ong/avi/gateway/painting/domain/PaintingRobotMachine.java
+1
-1
SprayBoothMachine.java
...ngtong/avi/gateway/painting/domain/SprayBoothMachine.java
+43
-0
DryingRoomTempMachineJob.java
...ng/avi/gateway/painting/job/DryingRoomTempMachineJob.java
+49
-0
MyIDataListener.java
...ngtong/avi/gateway/painting/listener/MyIDataListener.java
+107
-0
SprayBoothListener.java
...ong/avi/gateway/painting/listener/SprayBoothListener.java
+50
-0
SprayBoothMapper.java
...ongtong/avi/gateway/painting/mapper/SprayBoothMapper.java
+10
-0
DustingLineMachine.java
...hongtong/avi/gateway/parts/domain/DustingLineMachine.java
+1
-1
PretreatmentMachine.java
...ongtong/avi/gateway/parts/domain/PretreatmentMachine.java
+1
-1
SteelCncCuttingMachine.java
...tong/avi/gateway/parts/domain/SteelCncCuttingMachine.java
+7
-1
WeldingRobotMachine.java
...ongtong/avi/gateway/parts/domain/WeldingRobotMachine.java
+7
-1
ChargingPileMachine.java
...ongtong/avi/gateway/trial/domain/ChargingPileMachine.java
+7
-1
ErrorFrameJob.java
...vtstar/zhongtong/avi/gateway/trial/job/ErrorFrameJob.java
+188
-0
AutomaticSpotWeldingMachine.java
...i/gateway/welding/domain/AutomaticSpotWeldingMachine.java
+60
-0
PlateChainMachine.java
...ongtong/avi/gateway/welding/domain/PlateChainMachine.java
+7
-1
PlcControlTireMachine1.java
...ng/avi/gateway/welding/domain/PlcControlTireMachine1.java
+1
-1
PlcControlTireMachine2.java
...ng/avi/gateway/welding/domain/PlcControlTireMachine2.java
+1
-1
AutomaticSpotWeldingMachineJob.java
...i/gateway/welding/job/AutomaticSpotWeldingMachineJob.java
+56
-0
MesWorkOrderJob.java
...t/vtstar/zhongtong/avi/sqlserver/job/MesWorkOrderJob.java
+94
-0
LaserCuttingMachine.java
...ar/zhongtong/avi/stamping/domain/LaserCuttingMachine.java
+1
-1
PingIpUtils.java
...main/java/net/vtstar/zhongtong/avi/utils/PingIpUtils.java
+1
-1
application-quartz.properties
src/main/resources/config/application-quartz.properties
+7
-7
application-ztip.properties
src/main/resources/config/application-ztip.properties
+2
-2
SprayBoothMapper.xml
src/main/resources/mapper/mysql/SprayBoothMapper.xml
+5
-0
No files found.
src/main/java/net/vtstar/zhongtong/avi/access/job/AssemblyNewEnergyJob.java
View file @
befd2dd5
...
...
@@ -68,7 +68,8 @@ public class AssemblyNewEnergyJob extends QuartzJobBean {
continue
;
}
//todo:账户, 密码需要变
String
url
=
"smb://wanteng:wanteng@"
+
ipAddress
+
"/AN9637H/testdata@"
+
dateString
+
".mdb"
;
String
url
=
"smb://admin:123456@"
+
ipAddress
+
"/AN9637H/testdata@"
+
dateString
+
".mdb"
;
// String url = "smb://admin:123456@10.1.25.128/an9637h/testdata@2018-05-04.mdb";
SmbFile
file
=
null
;
try
{
file
=
new
SmbFile
(
url
);
...
...
src/main/java/net/vtstar/zhongtong/avi/equipment/domain/MesWorkOrderInfo.java
View file @
befd2dd5
...
...
@@ -8,6 +8,7 @@ import net.vtstar.zhongtong.avi.global.web.Show;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
/**
* @Author: xiadongwei
...
...
@@ -62,8 +63,29 @@ public class MesWorkOrderInfo {
@Column
(
name
=
"production_line"
)
private
String
productionLine
;
@Show
(
label
=
"读取标识"
)
@ApiModelProperty
(
notes
=
"读取标识"
)
@Column
(
name
=
"reading_id"
)
private
String
readingId
;
@Show
(
label
=
"计划开始时间"
)
@ApiModelProperty
(
notes
=
"计划开始时间"
)
@Column
(
name
=
"start_date"
)
private
Date
startDate
;
@Show
(
label
=
"计划结束时间"
)
@ApiModelProperty
(
notes
=
"计划结束时间"
)
@Column
(
name
=
"end_date"
)
private
Date
endDate
;
@Show
(
label
=
"计划交期"
)
@ApiModelProperty
(
notes
=
"计划交期"
)
@Column
(
name
=
"delivery_date"
)
private
Date
deliveryDate
;
@Show
(
label
=
"状态"
)
@ApiModelProperty
(
notes
=
"状态"
)
@Column
(
name
=
"status"
)
private
String
status
;
@Show
(
label
=
"创建时间"
)
@ApiModelProperty
(
notes
=
"创建时间"
)
@Column
(
name
=
"crt_date"
)
private
Date
crtDate
;
}
src/main/java/net/vtstar/zhongtong/avi/equipment/job/CleanStatusDataJob.java
View file @
befd2dd5
...
...
@@ -52,6 +52,9 @@ public class CleanStatusDataJob extends QuartzJobBean {
}
//插入设备监控数据
equipmentDataMapper
.
insertList
(
dataList
);
if
(
key
.
contains
(
"DRYING_ROOM_TEMP"
)
||
key
.
contains
(
"SPRAY_BOOTH"
)){
continue
;
}
equipDataService
.
updateLastStatus
(
dataList
.
get
(
dataList
.
size
()
-
1
));
String
equipCode
=
dataList
.
get
(
0
).
getEquipCode
();
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/domain/CentralizedFillingClutchMachine.java
View file @
befd2dd5
...
...
@@ -29,11 +29,27 @@ public class CentralizedFillingClutchMachine extends EquipmentData {
@Search
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"加注设定值(ml)"
)
@ApiModelProperty
(
notes
=
"加注设定值"
)
@Column
(
name
=
"filling_settings"
)
private
Long
fillingSettings
;
@Show
(
label
=
"加注量(ml)"
)
@ApiModelProperty
(
notes
=
"加注量"
)
@Column
(
name
=
"filling_amount"
)
private
Long
fillingAmount
;
@Show
(
label
=
"压力设定值"
)
@ApiModelProperty
(
notes
=
"压力设定值"
)
@Column
(
name
=
"pressure_settings"
)
private
Long
pressureSettings
;
@Show
(
label
=
"加注压力(bar)"
)
@ApiModelProperty
(
notes
=
"加注压力(bar)"
)
@Column
(
name
=
"filling_pressure"
)
...
...
@@ -44,7 +60,7 @@ public class CentralizedFillingClutchMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备状态(0是关机,1是运行)"
)
private
Integer
status
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/domain/FloorLeatherHotMachine.java
View file @
befd2dd5
...
...
@@ -28,6 +28,12 @@ public class FloorLeatherHotMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"模头1区温度"
)
@ApiModelProperty
(
notes
=
"模头1区温度"
)
@Column
(
name
=
"die_temperature1"
)
...
...
@@ -98,7 +104,7 @@ public class FloorLeatherHotMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备状态(0是关机,1是运行)"
)
private
Integer
status
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/domain/FocusAddingRefrigerantMachine.java
View file @
befd2dd5
...
...
@@ -29,6 +29,17 @@ public class FocusAddingRefrigerantMachine extends EquipmentData {
@Search
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"加注设定值(ml)"
)
@ApiModelProperty
(
notes
=
"加注设定值"
)
@Column
(
name
=
"filling_settings"
)
private
Long
fillingSettings
;
@Show
(
label
=
"加注量(ml)"
)
@ApiModelProperty
(
notes
=
"加注量"
)
@Column
(
name
=
"filling_amount"
)
...
...
@@ -44,7 +55,7 @@ public class FocusAddingRefrigerantMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备状态(0是关机,1是运行)"
)
private
Integer
status
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/domain/FocusBoosterOilMachine.java
View file @
befd2dd5
...
...
@@ -29,6 +29,12 @@ public class FocusBoosterOilMachine extends EquipmentData {
@Search
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"枪1加注量(ml)"
)
@ApiModelProperty
(
notes
=
"枪1加注量(ml)"
)
@Column
(
name
=
"filling_amount1"
)
...
...
@@ -44,7 +50,7 @@ public class FocusBoosterOilMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备状态(0是关机,1是运行)"
)
private
Integer
status
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/domain/PlateChainMachine.java
View file @
befd2dd5
...
...
@@ -28,12 +28,18 @@ public class PlateChainMachine{
@Search
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"当班平均运行间隔时间"
)
@ApiModelProperty
(
notes
=
"当班平均运行间隔时间"
)
@Column
(
name
=
"average_time"
)
private
String
averageTime
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/job/CentralizedFillingClutchMachineJob.java
View file @
befd2dd5
...
...
@@ -39,7 +39,7 @@ public class CentralizedFillingClutchMachineJob extends GatherJob {
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
if
(
"fillingPressure"
.
equals
(
fieldName
)){
if
(
"fillingPressure"
.
equals
(
fieldName
)
||
"pressureSettings"
.
equals
(
fieldName
)
){
return
Integer
.
valueOf
(
value
.
toString
())
/
10
;
}
return
value
;
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/job/FloorLeatherHotMachineJob.java
View file @
befd2dd5
...
...
@@ -34,6 +34,9 @@ public class FloorLeatherHotMachineJob extends GatherJob {
if
(
state
!=
null
&&
state
==
0
)
{
return
false
;
}
if
(
data
.
getCurrentYield
()
==
0
){
return
false
;
}
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/job/FocusAddingRefrigerantMachineJob.java
View file @
befd2dd5
...
...
@@ -34,10 +34,10 @@ public class FocusAddingRefrigerantMachineJob extends GatherJob {
if
(
state
!=
null
&&
state
==
0
)
{
return
false
;
}
if
(
null
==
((
FocusAddingRefrigerantMachine
)
equipmentData
).
getFillingAmount
()
||
/*
if (null == ((FocusAddingRefrigerantMachine) equipmentData).getFillingAmount() ||
((FocusAddingRefrigerantMachine) equipmentData).getFillingAmount().intValue() == 0){
return false;
}
}
*/
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/chassis/domain/ChassisTorqueWrench.java
View file @
befd2dd5
...
...
@@ -29,6 +29,12 @@ public class ChassisTorqueWrench extends EquipmentData {
@Search
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"一轴扭矩"
)
@ApiModelProperty
(
notes
=
"一轴扭矩"
)
@Column
(
name
=
"shaft_torque_1"
)
...
...
@@ -54,7 +60,7 @@ public class ChassisTorqueWrench extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备状态(0是关机,1是运行)"
)
private
Integer
status
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/DryingRoomTempMachine.java
0 → 100644
View file @
befd2dd5
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
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@ApiModel
(
"涂装--烘干室温度"
)
@Table
(
name
=
"eqp_data_drying_room_temp"
)
public
class
DryingRoomTempMachine
extends
EquipmentData
{
@Column
(
name
=
"eqp_code"
)
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Column
(
name
=
"temperature"
)
@ApiModelProperty
(
notes
=
"温度"
)
private
Float
temperature
;
@ApiModelProperty
(
"采集时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
private
Integer
status
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/PaintingRobotMachine.java
View file @
befd2dd5
...
...
@@ -39,7 +39,7 @@ public class PaintingRobotMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"系统状态"
)
private
Integer
status
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/domain/SprayBoothMachine.java
0 → 100644
View file @
befd2dd5
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
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@Search
(
code
=
"SPRAY_BOOTH"
)
@ApiModel
(
"涂装-喷涂室温湿度"
)
@Table
(
name
=
"eqp_data_spray_booth"
)
public
class
SprayBoothMachine
extends
EquipmentData
{
@Show
(
label
=
"设备编号"
)
@Column
(
name
=
"eqp_code"
)
@ApiModelProperty
(
notes
=
"设备编号"
)
@Search
private
String
equipCode
;
@Show
(
label
=
"温度"
)
@Column
(
name
=
"temperature"
)
@ApiModelProperty
(
notes
=
"温度"
)
private
Float
temperature
;
@Show
(
label
=
"湿度"
)
@Column
(
name
=
"humidity"
)
@ApiModelProperty
(
notes
=
"湿度"
)
private
Float
humidity
;
@Show
(
label
=
"采集时间"
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
private
Integer
status
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/job/DryingRoomTempMachineJob.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
job
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.scada.base.gather.domain.EquipmentData
;
import
net.vtstar.scada.base.gather.job.GatherJob
;
import
net.vtstar.zhongtong.avi.gateway.painting.domain.DryingRoomTempMachine
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.stereotype.Component
;
/**
* 烘干室温度数据采集JOB
*/
@Slf4j
@Component
public
class
DryingRoomTempMachineJob
extends
GatherJob
{
private
static
final
String
NAME
=
"DRYING_ROOM_TEMP"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
log
.
info
(
"JobName: {}"
,
context
.
getJobDetail
().
getKey
().
getName
());
super
.
gatherByModbus
(
NAME
,
DryingRoomTempMachine
.
class
);
}
@Override
public
boolean
handleObject
(
EquipmentData
equipmentData
)
{
DryingRoomTempMachine
data
=
(
DryingRoomTempMachine
)
equipmentData
;
Integer
state
=
data
.
getStatus
();
if
(
state
!=
null
&&
state
==
0
)
{
return
false
;
}
if
(
null
==
data
.
getTemperature
()){
return
false
;
}
return
true
;
}
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
return
value
;
}
@Override
protected
void
postHandle
(
EquipmentData
equipmentData
)
{
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/listener/MyIDataListener.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
listener
;
import
com.jnrsmcu.sdk.netdevice.*
;
import
java.text.SimpleDateFormat
;
/**
* 温湿度传感器监听类默认实现
* @Author: xiadongwei
* @Date: 2019/11/4 19:03
*/
public
class
MyIDataListener
implements
IDataListener
{
@Override
public
void
receiveTimmingAck
(
TimmingAck
data
)
{
// 校时指令应答处理
System
.
out
.
println
(
"校时应答->设备编号:"
+
data
.
getDeviceId
()
+
"\t执行结果:"
+
data
.
getStatus
());
}
@Override
public
void
receiveTelecontrolAck
(
TelecontrolAck
data
)
{
// 遥控指令应答处理
System
.
out
.
println
(
"遥控应答->设备编号:"
+
data
.
getDeviceId
()
+
"\t继电器编号:"
+
data
.
getRelayId
()
+
"\t执行结果:"
+
data
.
getStatus
());
}
@Override
public
void
receiveStoreData
(
StoreData
data
)
{
// 已存储数据接收处理
// 遍历节点数据。数据包括网络设备的数据以及各个节点数据。温湿度数据存放在节点数据中
for
(
NodeData
nd
:
data
.
getNodeList
())
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yy-MM-dd HH:mm:ss"
);
String
str
=
sdf
.
format
(
nd
.
getRecordTime
());
System
.
out
.
println
(
"存储数据->设备地址:"
+
data
.
getDeviceId
()
+
"\t节点:"
+
nd
.
getNodeId
()
+
"\t温度:"
+
nd
.
getTem
()
+
"\t湿度:"
+
nd
.
getHum
()
+
"\t存储时间:"
+
str
);
}
}
@Override
public
void
receiveRealtimeData
(
RealTimeData
data
)
{
// 实时数据接收处理
// 遍历节点数据。数据包括网络设备的数据以及各个节点数据。温湿度数据存放在节点数据中
for
(
NodeData
nd
:
data
.
getNodeList
())
{
System
.
out
.
println
(
"实时数据->设备地址:"
+
data
.
getDeviceId
()
+
"\t节点:"
+
nd
.
getNodeId
()
+
"\t温度:"
+
nd
.
getTem
()
+
"\t湿度:"
+
nd
.
getHum
()
+
"\t经度:"
+
data
.
getLng
()
+
"\t纬度:"
+
data
.
getLat
()
+
"\t坐标类型:"
+
data
.
getCoordinateType
()
+
"\t继电器状态:"
+
data
.
getRelayStatus
());
}
}
@Override
public
void
receiveLoginData
(
LoginData
data
)
{
// 登录数据接收处理
System
.
out
.
println
(
"登录->设备地址:"
+
data
.
getDeviceId
());
}
@Override
public
void
receiveParamIds
(
ParamIdsData
data
)
{
String
str
=
"设备参数编号列表->设备编号:"
+
data
.
getDeviceId
()
+
"\t参数总数量:"
+
data
.
getTotalCount
()
+
"\t本帧参数数量:"
+
data
.
getCount
()
+
"\r\n"
;
for
(
int
paramId
:
data
.
getPararmIdList
())
// 遍历设备中参数id编号
{
str
+=
paramId
+
","
;
}
System
.
out
.
println
(
str
);
}
@Override
public
void
receiveParam
(
ParamData
data
)
{
String
str
=
"设备参数->设备编号:"
+
data
.
getDeviceId
()
+
"\r\n"
;
for
(
ParamItem
pararm
:
data
.
getParameterList
())
{
str
+=
"参数编号:"
+
pararm
.
getParamId
()
+
"\t参数描述:"
+
pararm
.
getDescription
()
+
"\t参数值:"
+
(
pararm
.
getValueDescription
()
==
null
?
pararm
.
getValue
()
:
pararm
.
getValueDescription
()
.
get
(
pararm
.
getValue
()))
+
"\r\n"
;
}
System
.
out
.
println
(
str
);
}
@Override
public
void
receiveWriteParamAck
(
WriteParamAck
data
)
{
String
str
=
"下载设备参数->设备编号:"
+
data
.
getDeviceId
()
+
"\t参数数量:"
+
data
.
getCount
()
+
"\t"
+
(
data
.
isSuccess
()
?
"下载成功"
:
"下载失败"
);
System
.
out
.
println
(
str
);
}
@Override
public
void
receiveTransDataAck
(
TransDataAck
data
)
{
String
str
=
"数据透传->设备编号:"
+
data
.
getDeviceId
()
+
"\t响应结果:"
+
data
.
getData
()
+
"\r\n字节数:"
+
data
.
getTransDataLen
();
System
.
out
.
println
(
str
);
}}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/listener/SprayBoothListener.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
listener
;
import
com.jnrsmcu.sdk.netdevice.NodeData
;
import
com.jnrsmcu.sdk.netdevice.RSServer
;
import
com.jnrsmcu.sdk.netdevice.RealTimeData
;
import
net.vtstar.zhongtong.avi.gateway.painting.domain.SprayBoothMachine
;
import
net.vtstar.zhongtong.avi.gateway.painting.mapper.SprayBoothMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* 温度传感器监听
* @Author: xiadongwei
* @Date: 2019/11/4 18:55
*/
@Component
@Order
(
99
)
public
class
SprayBoothListener
implements
CommandLineRunner
{
@Autowired
private
SprayBoothMapper
mapper
;
@Override
public
void
run
(
String
...
args
)
throws
Exception
{
// 初始化
RSServer
rsServer
=
RSServer
.
Initiate
(
2404
);
rsServer
.
addDataListener
(
new
MyIDataListener
(){
@Override
public
void
receiveRealtimeData
(
RealTimeData
data
){
List
<
SprayBoothMachine
>
list
=
new
ArrayList
<>();
for
(
NodeData
nd
:
data
.
getNodeList
())
{
//TODO: 根据设备地址设置设备编号
SprayBoothMachine
sprayBoothMachine
=
new
SprayBoothMachine
();
sprayBoothMachine
.
setTemperature
(
nd
.
getTem
());
sprayBoothMachine
.
setHumidity
(
nd
.
getHum
());
sprayBoothMachine
.
setCreateTime
(
new
Date
());
list
.
add
(
sprayBoothMachine
);
}
mapper
.
insertList
(
list
);
}
});
rsServer
.
start
();
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/painting/mapper/SprayBoothMapper.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
painting
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.gateway.painting.domain.SprayBoothMachine
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
SprayBoothMapper
extends
BaseMapper
<
SprayBoothMachine
>
{
}
src/main/java/net/vtstar/zhongtong/avi/gateway/parts/domain/DustingLineMachine.java
View file @
befd2dd5
...
...
@@ -38,7 +38,7 @@ public class DustingLineMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"喷粉二状态"
)
private
String
state2
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/parts/domain/PretreatmentMachine.java
View file @
befd2dd5
...
...
@@ -98,7 +98,7 @@ public class PretreatmentMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"10#防锈液时间"
)
private
Integer
fx10Time
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/parts/domain/SteelCncCuttingMachine.java
View file @
befd2dd5
...
...
@@ -23,12 +23,18 @@ public class SteelCncCuttingMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"设备状态"
)
@Column
(
name
=
"state"
)
@ApiModelProperty
(
notes
=
"设备状态"
)
private
String
stateString
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/parts/domain/WeldingRobotMachine.java
View file @
befd2dd5
...
...
@@ -26,6 +26,12 @@ public class WeldingRobotMachine{
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"开机时间"
)
@Column
(
name
=
"turn_on_time"
)
@ApiModelProperty
(
notes
=
"开机时间"
)
...
...
@@ -36,7 +42,7 @@ public class WeldingRobotMachine{
@ApiModelProperty
(
notes
=
"焊接时间"
)
private
String
weldingTime
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/trial/domain/ChargingPileMachine.java
View file @
befd2dd5
...
...
@@ -28,6 +28,12 @@ public class ChargingPileMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"车辆编号"
)
@ApiModelProperty
(
notes
=
"车辆编号"
)
@Column
(
name
=
"bus_code"
)
...
...
@@ -79,7 +85,7 @@ public class ChargingPileMachine extends EquipmentData {
@Column
(
name
=
"soc"
)
private
Integer
soc
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/trial/job/ErrorFrameJob.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
trial
.
job
;
import
jcifs.smb.SmbFile
;
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.sqlserver.domain.TestSpeedResult
;
import
net.vtstar.zhongtong.avi.sqlserver.mapper.TestSpeedMapper
;
import
net.vtstar.zhongtong.avi.utils.PingIpUtils
;
import
net.vtstar.zhongtong.avi.utils.SmbFileUtil
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.quartz.QuartzJobBean
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StringUtils
;
import
java.io.*
;
import
java.util.*
;
/**
* 试交车间--错误帧
*
* @Author: xiadongwei
* @Date: 2019/10/16 18:20
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
ErrorFrameJob
extends
QuartzJobBean
{
@Autowired
private
TestSpeedMapper
mapper
;
@Value
(
"${zt.ip.errorframe}"
)
private
String
ipAddress
;
@Value
(
"${zt.ip.pingtimes}"
)
private
int
pingTimes
;
@Value
(
"${zt.ip.timeout}"
)
private
int
timeOut
;
private
String
baseUrl
=
"D:/scada/errorframe/"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
log
.
info
(
"--------开始同步试交车间错误帧数据--------"
);
//ZTLOG_2019-10-26_11-35-46
String
dateString
=
DateUtils
.
parseDateToString
(
new
Date
(),
"yyyy-MM-dd"
);
if
(!
PingIpUtils
.
ping
(
ipAddress
,
pingTimes
,
timeOut
))
{
log
.
error
(
"ping: {}失败, 此次同步试交车间错误帧数据操作结束!"
,
ipAddress
);
return
;
}
//todo:账户, 密码需要变
String
url
=
"smb://"
+
ipAddress
+
"/ztlog/"
;
SmbFile
file
=
null
;
InputStream
in
=
null
;
List
<
String
>
fileName
=
new
ArrayList
<>();
try
{
file
=
new
SmbFile
(
url
);
if
(
file
.
exists
())
{
SmbFile
[]
files
=
file
.
listFiles
();
for
(
SmbFile
f
:
files
)
{
String
name
=
f
.
getName
();
String
[]
split
=
name
.
split
(
"_"
);
if
(
split
.
length
!=
3
||
!
dateString
.
equals
(
split
[
1
]))
{
continue
;
}
fileName
.
add
(
name
);
}
}
else
{
log
.
error
(
"试交车间错误帧共享文件夹: {}不存在!"
,
url
);
return
;
}
if
(
CollecUtils
.
isEmpty
(
fileName
))
{
log
.
error
(
"试交车间错误帧共享文件夹中不存在当天日期的文件!"
,
dateString
);
return
;
}
for
(
String
name
:
fileName
){
String
urlName
=
url
+
name
;
SmbFile
remoteFile
=
new
SmbFile
(
urlName
);
if
(!
remoteFile
.
exists
())
{
log
.
error
(
"远程共享文件: {}不存在"
,
urlName
);
continue
;
}
SmbFileUtil
.
smbGet
(
url
,
baseUrl
+
ipAddress
);
}
List
<
TestSpeedResult
>
results
=
new
ArrayList
<>();
for
(
String
name
:
fileName
)
{
String
urlName
=
baseUrl
+
ipAddress
+
"/"
+
name
;
File
remoteFile
=
new
File
(
urlName
);
if
(!
remoteFile
.
exists
())
{
log
.
error
(
"本地共享文件: {}不存在"
,
urlName
);
continue
;
}
List
<
TestSpeedResult
>
item
=
new
ArrayList
<>();
in
=
new
BufferedInputStream
(
new
FileInputStream
(
urlName
));
BufferedReader
bufferedReader
=
new
BufferedReader
(
new
InputStreamReader
(
in
));
String
lineString
=
""
;
String
err
=
""
;
Map
<
Integer
,
String
>
vinMap
=
new
HashMap
<>();
while
((
lineString
=
bufferedReader
.
readLine
())
!=
null
)
{
if
(
lineString
.
contains
(
"cfeec21"
))
{
String
[]
split
=
lineString
.
split
(
","
);
if
(
split
.
length
==
3
)
{
if
(
split
[
1
].
trim
().
startsWith
(
"01"
))
{
vinMap
.
put
(
1
,
split
[
1
].
trim
());
}
if
(
split
[
1
].
trim
().
startsWith
(
"02"
))
{
vinMap
.
put
(
2
,
split
[
1
].
trim
());
}
if
(
split
[
1
].
trim
().
startsWith
(
"03"
))
{
vinMap
.
put
(
3
,
split
[
1
].
trim
());
}
}
}
if
(
lineString
.
contains
(
"err="
))
{
if
(
vinMap
.
size
()
==
3
)
{
StringBuilder
vin
=
new
StringBuilder
();
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
String
[]
ascString
=
vinMap
.
get
(
i
).
split
(
" "
);
for
(
int
j
=
1
;
j
<
ascString
.
length
;
j
++)
{
if
(
"ff"
.
equals
(
ascString
[
j
])){
continue
;
}
vin
.
append
((
char
)
Integer
.
parseInt
(
ascString
[
j
],
16
));
}
}
lineString
.
replace
(
" "
,
""
);
err
=
lineString
.
substring
(
lineString
.
indexOf
(
"err="
)
+
4
,
lineString
.
indexOf
(
"rec="
)).
trim
();
if
(
StringUtils
.
isEmpty
(
vin
.
toString
())
||
StringUtils
.
isEmpty
(
err
))
{
continue
;
}
TestSpeedResult
result
=
new
TestSpeedResult
();
result
.
setVin
(
vin
.
toString
());
result
.
setErrorFrame
(
Integer
.
valueOf
(
err
));
item
.
add
(
result
);
vinMap
.
clear
();
}
else
{
vinMap
.
clear
();
}
}
}
int
errItem
=
0
;
String
vinItem
=
""
;
for
(
TestSpeedResult
itemResult
:
item
){
vinItem
=
itemResult
.
getVin
();
if
(
itemResult
.
getErrorFrame
()
>
errItem
){
errItem
=
itemResult
.
getErrorFrame
();
}
}
TestSpeedResult
result
=
new
TestSpeedResult
();
result
.
setVin
(
vinItem
);
result
.
setErrorFrame
(
errItem
);
result
.
setMODEL_ID
(
"错误帧"
);
String
[]
split
=
name
.
split
(
"_"
);
Date
date
=
DateUtils
.
parse
(
split
[
1
]
+
" "
+
split
[
2
],
"yyyy-MM-dd HH-mm-ss"
);
result
.
setTestDate
(
date
);
results
.
add
(
result
);
}
//当天零点
Date
startOfDay
=
DateUtils
.
getStartOfDay
(
0
);
String
startString
=
DateUtils
.
parseDateToString
(
startOfDay
,
"yyyy-MM-dd HH-mm-ss"
);
mapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"test_date"
,
Operation
.
GREATER_THAN
,
startString
);
addFilter
(
"MODEL_ID"
,
Operation
.
EQUAL
,
"错误帧"
);
}},
TestSpeedResult
.
class
);
mapper
.
insertList
(
results
);
log
.
info
(
"更新试交车间错误帧: {} 数据: {}条"
,
ipAddress
,
results
.
size
());
}
catch
(
Exception
e
)
{
log
.
error
(
"获取试交车间错误帧共享文件失败!ip: {}"
,
ipAddress
);
}
finally
{
try
{
if
(
in
!=
null
)
{
in
.
close
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
log
.
info
(
"--------同步试交车间错误帧数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/domain/AutomaticSpotWeldingMachine.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
welding
.
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
=
"AUTOMATIC_SPOT_WELDING"
)
@ApiModel
(
"车顶点焊"
)
@Table
(
name
=
"eqp_data_automatic_spot_welding"
)
public
class
AutomaticSpotWeldingMachine
extends
EquipmentData
{
@Show
(
label
=
"设备编号"
)
@Column
(
name
=
"eqp_code"
)
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"焊点1电流"
)
@Column
(
name
=
"welding_spot_A_1"
)
@ApiModelProperty
(
notes
=
"焊点1电流"
)
private
Integer
weldingSpotA1
;
@Show
(
label
=
"焊点1电压"
)
@Column
(
name
=
"welding_spot_V_1"
)
@ApiModelProperty
(
notes
=
"焊点1电压"
)
private
Integer
weldingSpotV1
;
@Show
(
label
=
"焊点2电流"
)
@Column
(
name
=
"welding_spot_A_2"
)
@ApiModelProperty
(
notes
=
"焊点2电流"
)
private
Integer
weldingSpotA2
;
@Show
(
label
=
"焊点2电压"
)
@Column
(
name
=
"welding_spot_V_2"
)
@ApiModelProperty
(
notes
=
"焊点2电压"
)
private
Integer
weldingSpotV2
;
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
private
Date
createTime
;
private
Integer
status
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/domain/PlateChainMachine.java
View file @
befd2dd5
...
...
@@ -23,6 +23,12 @@ public class PlateChainMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"设备编号"
)
private
String
equipCode
;
@Show
(
label
=
"设备名称"
)
@Column
(
name
=
"eqp_name"
)
@ApiModelProperty
(
notes
=
"设备名称"
)
@Search
private
String
alias
;
@Show
(
label
=
"系统是否报警"
)
@Column
(
name
=
"error_state"
)
@ApiModelProperty
(
notes
=
"系统是否报警"
)
...
...
@@ -33,7 +39,7 @@ public class PlateChainMachine extends EquipmentData {
@ApiModelProperty
(
notes
=
"系统是否运行"
)
private
int
state
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/domain/PlcControlTireMachine1.java
View file @
befd2dd5
...
...
@@ -94,7 +94,7 @@ public class PlcControlTireMachine1 extends EquipmentData {
private
Float
vehicleWidth
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/domain/PlcControlTireMachine2.java
View file @
befd2dd5
...
...
@@ -68,7 +68,7 @@ public class PlcControlTireMachine2 extends EquipmentData {
@ApiModelProperty
(
notes
=
"地盘高"
)
private
Float
siteHeight
;
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
@Search
...
...
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/job/AutomaticSpotWeldingMachineJob.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
welding
.
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.welding.domain.AutomaticSpotWeldingMachine
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
/**
* 焊装车顶点焊数据采集JOB
*/
@Slf4j
@Component
public
class
AutomaticSpotWeldingMachineJob
extends
GatherJob
{
private
static
final
String
NAME
=
"AUTOMATIC_SPOT_WELDING"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
log
.
info
(
"JobName: {}"
,
context
.
getJobDetail
().
getKey
().
getName
());
super
.
gatherByModbus
(
NAME
,
AutomaticSpotWeldingMachine
.
class
);
}
@Override
public
boolean
handleObject
(
EquipmentData
equipmentData
)
{
AutomaticSpotWeldingMachine
data
=
(
AutomaticSpotWeldingMachine
)
equipmentData
;
Integer
state
=
data
.
getStatus
();
if
(
state
!=
null
&&
state
==
0
)
{
return
false
;
}
if
(
data
.
getWeldingSpotA1
()
==
null
||
data
.
getWeldingSpotA2
()
==
null
){
return
false
;
}
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
return
value
;
}
@Override
protected
void
postHandle
(
EquipmentData
equipmentData
)
{
AutomaticSpotWeldingMachine
data
=
(
AutomaticSpotWeldingMachine
)
equipmentData
;
(
data
).
setWeldingSpotV1
((
data
).
getWeldingSpotA1
()
*
4000
);
(
data
).
setWeldingSpotV2
((
data
).
getWeldingSpotA2
()
*
4000
);
(
data
).
setCreateTime
(
new
Date
());
}
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/job/MesWorkOrderJob.java
0 → 100644
View file @
befd2dd5
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
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.equipment.domain.MesWorkOrderInfo
;
import
net.vtstar.zhongtong.avi.equipment.mapper.MesWorkOrderMapper
;
import
net.vtstar.zhongtong.avi.utils.PingIpUtils
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.scheduling.quartz.QuartzJobBean
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
/**
* mes工单同步数据
* @Author: xiadongwei
* @Date: 2019/11/4 18:20
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
MesWorkOrderJob
extends
QuartzJobBean
{
@Resource
(
name
=
"mesSqlServerJdbcTemplate"
)
private
JdbcTemplate
mesSqlServerJdbcTemplate
;
@Autowired
private
MesWorkOrderMapper
mapper
;
@Value
(
"${zt.ip.mes}"
)
private
String
ipAddress
;
@Value
(
"${zt.ip.pingtimes}"
)
private
int
pingTimes
;
@Value
(
"${zt.ip.timeout}"
)
private
int
timeOut
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
if
(!
PingIpUtils
.
ping
(
ipAddress
,
pingTimes
,
timeOut
)){
log
.
error
(
"ping: {}失败, 此次同步mes数据操作结束!"
,
ipAddress
);
return
;
}
log
.
info
(
"--------开始同步mes数据--------"
);
Date
startOfDay
=
DateUtils
.
getStartOfDay
(
0
);
String
dateString
=
DateUtils
.
parseDateToString
(
startOfDay
,
"yyyy-MM-dd HH:mm:ss"
);
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"SELECT SaleOrderNo, PreWONo, WONo, MaterialNo, ORDER_COUNT, UNIT, "
+
"WorkShopCode, MLine, StartDate, EndDate, DeliveryDate, Status, CrtDate FROM PAINTING_WORKORDER "
+
"WHERE WorkShopCode = 'HZ-焊装车间' or WorkShopCode = 'TZ-涂装车间'"
);
List
<
MesWorkOrderInfo
>
query
=
mesSqlServerJdbcTemplate
.
query
(
sql
.
toString
(),
(
rs
,
rowNum
)
->
{
MesWorkOrderInfo
map
=
new
MesWorkOrderInfo
();
map
.
setSalesOrderNo
(
rs
.
getString
(
"SaleOrderNo"
));
map
.
setMasterWorkOrderNo
(
rs
.
getString
(
"PreWONo"
));
map
.
setWorkOrderNo
(
rs
.
getString
(
"WONo"
));
map
.
setVehicleModel
(
rs
.
getString
(
"MaterialNo"
));
map
.
setOrderQuantity
(
rs
.
getInt
(
"ORDER_COUNT"
));
map
.
setUnit
(
rs
.
getString
(
"UNIT"
));
map
.
setWorkshop
(
rs
.
getString
(
"WorkShopCode"
));
map
.
setProductionLine
(
rs
.
getString
(
"MLine"
));
map
.
setStartDate
(
rs
.
getDate
(
"StartDate"
));
map
.
setEndDate
(
rs
.
getDate
(
"EndDate"
));
map
.
setDeliveryDate
(
rs
.
getDate
(
"DeliveryDate"
));
map
.
setStatus
(
rs
.
getString
(
"Status"
));
map
.
setCrtDate
(
rs
.
getDate
(
"CrtDate"
));
return
map
;
});
log
.
error
(
"mes查询到数据: {} 条"
,
query
.
size
());
if
(
CollectionUtils
.
isEmpty
(
query
))
{
//todo: ping通
log
.
error
(
"连接mesSQL SERVER失败!"
);
return
;
}
for
(
MesWorkOrderInfo
info
:
query
){
List
<
MesWorkOrderInfo
>
orderNo
=
mapper
.
findList
(
new
WhereFilter
()
{{
addFilter
(
"work_order_no"
,
Operation
.
EQUAL
,
info
.
getWorkOrderNo
());
}},
MesWorkOrderInfo
.
class
);
if
(
CollecUtils
.
isEmpty
(
orderNo
)){
mapper
.
insert
(
info
);
}
}
log
.
info
(
"--------同步mes数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/stamping/domain/LaserCuttingMachine.java
View file @
befd2dd5
...
...
@@ -38,7 +38,7 @@ public class LaserCuttingMachine extends EquipmentData {
private
BigDecimal
gasPressure
;
@Search
@Show
(
label
=
"时间"
,
dataType
=
FieldType
.
DATETIME
)
@Show
(
label
=
"
采集
时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
...
...
src/main/java/net/vtstar/zhongtong/avi/utils/PingIpUtils.java
View file @
befd2dd5
...
...
@@ -50,7 +50,7 @@ public class PingIpUtils {
//如果出现类似=23 ms ttl=64(TTL=64 Windows)这样的字样,出现的次数=测试次数则返回真
//return connectedCount == pingTimes;
log
.
info
(
"ping通设备IP :{}的次数为:"
+
connectedCount
,
ipAddress
);
return
connectedCount
>=
2
?
true
:
false
;
return
connectedCount
>=
pingTimes
?
true
:
false
;
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
//出现异常则返回假
return
false
;
...
...
src/main/resources/config/application-quartz.properties
View file @
befd2dd5
...
...
@@ -125,35 +125,35 @@ quartz.job.taskInfos[7].start=false
quartz.job.taskInfos[22]
.jobName
=
net.vtstar.zhongtong.avi.gateway.assembly.job.PlateChainStateMachineJob
quartz.job.taskInfos[22]
.jobGroup
=
PlateChainStateMachineJob
quartz.job.taskInfos[22]
.jobDescription
=
\u
677f
\u
94feJob
quartz.job.taskInfos[22]
.cronExpression
=
0/
5
* * * * ?
quartz.job.taskInfos[22]
.cronExpression
=
0/
10
* * * * ?
quartz.job.taskInfos[22]
.start
=
false
#离合油加注机
quartz.job.taskInfos[16]
.jobName
=
net.vtstar.zhongtong.avi.gateway.assembly.job.CentralizedFillingClutchMachineJob
quartz.job.taskInfos[16]
.jobGroup
=
CentralizedFillingClutchMachineJob
quartz.job.taskInfos[16]
.jobDescription
=
\u
79bb
\u5408\u
6cb9
\u
52a0
\u
6ce8
\u
673aJob
quartz.job.taskInfos[16]
.cronExpression
=
0
0/15
* * * ?
quartz.job.taskInfos[16]
.cronExpression
=
0
/10 *
* * * ?
quartz.job.taskInfos[16]
.start
=
false
#冷媒加注机
quartz.job.taskInfos[17]
.jobName
=
net.vtstar.zhongtong.avi.gateway.assembly.job.FocusAddingRefrigerantMachineJob
quartz.job.taskInfos[17]
.jobGroup
=
FocusAddingRefrigerantMachineJob
quartz.job.taskInfos[17]
.jobDescription
=
\u
51b7
\u
5a92
\u
52a0
\u
6ce8
\u
673aJob
quartz.job.taskInfos[17]
.cronExpression
=
0/
5
* * * * ?
quartz.job.taskInfos[17]
.cronExpression
=
0/
10
* * * * ?
quartz.job.taskInfos[17]
.start
=
false
#助力油加注
quartz.job.taskInfos[18]
.jobName
=
net.vtstar.zhongtong.avi.gateway.assembly.job.FocusBoosterOilMachineJob
quartz.job.taskInfos[18]
.jobGroup
=
FocusBoosterOilMachineJob
quartz.job.taskInfos[18]
.jobDescription
=
\u
52a9
\u
529b
\u
6cb9
\u
52a0
\u
6ce8
\u
673aJob
quartz.job.taskInfos[18]
.cronExpression
=
0/
5
* * * * ?
quartz.job.taskInfos[18]
.cronExpression
=
0/
10
* * * * ?
quartz.job.taskInfos[18]
.start
=
false
#地板革热熔涂胶
quartz.job.taskInfos[19]
.jobName
=
net.vtstar.zhongtong.avi.gateway.assembly.job.FloorLeatherHotMachineJob
quartz.job.taskInfos[19]
.jobGroup
=
FloorLeatherHotMachineJob
quartz.job.taskInfos[19]
.jobDescription
=
\u5730\u
677f
\u9694\u
70ed
\u7194\u
8bbe
\u5907
Job
quartz.job.taskInfos[19]
.cronExpression
=
0/
5
* * * * ?
quartz.job.taskInfos[19]
.cronExpression
=
0/
10
* * * * ?
quartz.job.taskInfos[19]
.start
=
false
#智能扭力扳手
...
...
@@ -167,7 +167,7 @@ quartz.job.taskInfos[5].start=false
quartz.job.taskInfos[6]
.jobName
=
net.vtstar.zhongtong.avi.access.job.AssemblyNewEnergyJob
quartz.job.taskInfos[6]
.jobGroup
=
AssemblyNewEnergyJob
quartz.job.taskInfos[6]
.jobDescription
=
\u
65b0
\u
80fd
\u
6e90
\u
68c0
\u
6d4b
\u
70b9Job
quartz.job.taskInfos[6]
.cronExpression
=
0
0/15
* * * ?
quartz.job.taskInfos[6]
.cronExpression
=
0
/5 *
* * * ?
quartz.job.taskInfos[6]
.start
=
false
#试交车间
...
...
@@ -189,7 +189,7 @@ quartz.job.taskInfos[4].start=false
quartz.job.taskInfos[25]
.jobName
=
net.vtstar.zhongtong.avi.gateway.trial.job.ErrorFrameJob
quartz.job.taskInfos[25]
.jobGroup
=
ErrorFrameJob
quartz.job.taskInfos[25]
.jobDescription
=
\u9519\u
8bef
\u
5e27Job
quartz.job.taskInfos[25]
.cronExpression
=
0/
5
* * * * ?
quartz.job.taskInfos[25]
.cronExpression
=
0/
10
* * * * ?
quartz.job.taskInfos[25]
.start
=
false
#充电桩
...
...
src/main/resources/config/application-ztip.properties
View file @
befd2dd5
...
...
@@ -37,5 +37,5 @@ zt.ip.assemblytorquewrench=10.100.172.150
zt.ip.mes
=
192.168.100.226
zt.ip.pingtimes
=
2
zt.ip.timeout
=
500
\ No newline at end of file
zt.ip.pingtimes
=
1
zt.ip.timeout
=
1500
\ No newline at end of file
src/main/resources/mapper/mysql/SprayBoothMapper.xml
0 → 100644
View file @
befd2dd5
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"net.vtstar.zhongtong.avi.gateway.painting.mapper.SprayBoothMapper"
>
</mapper>
\ No newline at end of file
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