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
321d6c73
Commit
321d6c73
authored
Nov 12, 2019
by
喻训浩
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop' into develop
parents
105810b7
af227588
Show whitespace changes
Inline
Side-by-side
Showing
49 changed files
with
1086 additions
and
122 deletions
+1086
-122
AssemblyNewEnergy.java
...vtstar/zhongtong/avi/access/domain/AssemblyNewEnergy.java
+1
-1
WheelAlignment.java
...et/vtstar/zhongtong/avi/access/domain/WheelAlignment.java
+1
-1
AssemblyNewEnergyJob.java
...vtstar/zhongtong/avi/access/job/AssemblyNewEnergyJob.java
+2
-1
EquipmentController.java
...ongtong/avi/equipment/controller/EquipmentController.java
+8
-19
MesWorkOrderInfo.java
...star/zhongtong/avi/equipment/domain/MesWorkOrderInfo.java
+26
-4
CleanStatusDataJob.java
...tstar/zhongtong/avi/equipment/job/CleanStatusDataJob.java
+3
-0
PaintshopStationMapper.java
...hongtong/avi/equipment/mapper/PaintshopStationMapper.java
+0
-1
EquipmentService.java
...tar/zhongtong/avi/equipment/service/EquipmentService.java
+90
-42
CentralizedFillingClutchMachine.java
...eway/assembly/domain/CentralizedFillingClutchMachine.java
+18
-2
FloorLeatherHotMachine.java
...g/avi/gateway/assembly/domain/FloorLeatherHotMachine.java
+8
-2
FocusAddingRefrigerantMachine.java
...ateway/assembly/domain/FocusAddingRefrigerantMachine.java
+13
-2
FocusBoosterOilMachine.java
...g/avi/gateway/assembly/domain/FocusBoosterOilMachine.java
+8
-2
PlateChainMachine.java
...ngtong/avi/gateway/assembly/domain/PlateChainMachine.java
+8
-2
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
+8
-2
DryingRoomTempMachine.java
...ng/avi/gateway/painting/domain/DryingRoomTempMachine.java
+32
-0
PaintingRobotMachine.java
...ong/avi/gateway/painting/domain/PaintingRobotMachine.java
+2
-2
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
+2
-2
PretreatmentMachine.java
...ongtong/avi/gateway/parts/domain/PretreatmentMachine.java
+2
-4
SteelCncCuttingMachine.java
...tong/avi/gateway/parts/domain/SteelCncCuttingMachine.java
+8
-2
WeldingRobotMachine.java
...ongtong/avi/gateway/parts/domain/WeldingRobotMachine.java
+8
-2
ChargingPileMachine.java
...ongtong/avi/gateway/trial/domain/ChargingPileMachine.java
+8
-2
HydrogenStationVocMachine.java
...g/avi/gateway/trial/domain/HydrogenStationVocMachine.java
+70
-0
ErrorFrameJob.java
...vtstar/zhongtong/avi/gateway/trial/job/ErrorFrameJob.java
+188
-0
HydrogenStationVocMachineJob.java
...g/avi/gateway/trial/job/HydrogenStationVocMachineJob.java
+49
-0
AutomaticSpotWeldingMachine.java
...i/gateway/welding/domain/AutomaticSpotWeldingMachine.java
+57
-0
PlateChainMachine.java
...ongtong/avi/gateway/welding/domain/PlateChainMachine.java
+8
-2
PlcControlTireMachine1.java
...ng/avi/gateway/welding/domain/PlcControlTireMachine1.java
+2
-2
PlcControlTireMachine2.java
...ng/avi/gateway/welding/domain/PlcControlTireMachine2.java
+2
-5
AutomaticSpotWeldingMachineJob.java
...i/gateway/welding/job/AutomaticSpotWeldingMachineJob.java
+56
-0
CacheConfig.java
...a/net/vtstar/zhongtong/avi/global/config/CacheConfig.java
+5
-0
WebFiledListener.java
...tstar/zhongtong/avi/global/listener/WebFiledListener.java
+9
-0
AssemblyTorqueWrench.java
.../zhongtong/avi/sqlserver/domain/AssemblyTorqueWrench.java
+1
-1
TestLineResult.java
...vtstar/zhongtong/avi/sqlserver/domain/TestLineResult.java
+1
-1
TestSpeedResult.java
...tstar/zhongtong/avi/sqlserver/domain/TestSpeedResult.java
+1
-1
MesWorkOrderJob.java
...t/vtstar/zhongtong/avi/sqlserver/job/MesWorkOrderJob.java
+94
-0
LaserCuttingMachine.java
...ar/zhongtong/avi/stamping/domain/LaserCuttingMachine.java
+2
-2
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
EquipmentDataMapper.xml
src/main/resources/mapper/mysql/EquipmentDataMapper.xml
+5
-0
SprayBoothMapper.xml
src/main/resources/mapper/mysql/SprayBoothMapper.xml
+5
-0
No files found.
src/main/java/net/vtstar/zhongtong/avi/access/domain/AssemblyNewEnergy.java
View file @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
* @Author: xiadongwei
* @Date: 2019/10/17 17:23
*/
@ApiModel
(
"总装车间--新能源检测点
"
)
@ApiModel
(
value
=
"总装车间--新能源检测点"
,
description
=
"新能源检测点监控数据表
"
)
@Data
@Search
(
code
=
"NEW_ENERGY"
)
@Table
(
name
=
"assembly_new_energy"
)
...
...
src/main/java/net/vtstar/zhongtong/avi/access/domain/WheelAlignment.java
View file @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
* @Author: xiadongwei
* @Date: 2019/10/17 17:23
*/
@ApiModel
(
"底盘车间--车轮定位
"
)
@ApiModel
(
value
=
"底盘车间--车轮定位"
,
description
=
"四轮定位监控数据表
"
)
@Data
@Search
(
code
=
"WHEEL_ALIGNMENT"
)
@Table
(
name
=
"wheel_alignment"
)
...
...
src/main/java/net/vtstar/zhongtong/avi/access/job/AssemblyNewEnergyJob.java
View file @
321d6c73
...
...
@@ -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/controller/EquipmentController.java
View file @
321d6c73
...
...
@@ -4,9 +4,9 @@ import com.github.pagehelper.PageInfo;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.scada.base.equipmgt.domain.EquipInfo
;
import
net.vtstar.user.search.controller.vo.SearchVo
;
import
net.vtstar.utils.domain.Return
;
import
net.vtstar.zhongtong.avi.equipment.domain.EquipInfo
;
import
net.vtstar.zhongtong.avi.equipment.domain.Program
;
import
net.vtstar.zhongtong.avi.equipment.domain.vo.ProgramTransferVO
;
import
net.vtstar.zhongtong.avi.equipment.service.EquipmentService
;
...
...
@@ -17,7 +17,6 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -36,39 +35,30 @@ public class EquipmentController {
""
)
@PostMapping
(
value
=
"/realTime/data"
)
private
Return
getRealTimeData
(
@RequestBody
SearchVo
pageFilter
)
{
Object
realTimeData
=
equipmentService
.
findRealTimeData
(
pageFilter
);
List
<
Map
<
String
,
Object
>>
data
=
(
List
<
Map
<
String
,
Object
>>)
realTimeData
;
List
<
Map
<
String
,
Object
>>
data
=
equipmentService
.
findRealTimeData
(
pageFilter
.
toJSONObject
());
return
Return
.
success
(
new
PageInfo
<>(
data
));
}
@ApiOperation
(
value
=
"根据设备类型和车间code获得设备列表"
)
@GetMapping
(
"/equip/findByType"
)
private
Return
findEquipByShopAndType
(
@RequestParam
String
workshopCode
,
@RequestParam
String
equipType
){
List
<
EquipInfo
>
equipInfos
=
new
ArrayList
<>();
EquipInfo
equipInfo
=
new
EquipInfo
();
equipInfo
.
setEquipCode
(
"mingshao"
);
equipInfo
.
setEquipName
(
"李氏集团"
);
EquipInfo
equipInfo2
=
new
EquipInfo
();
equipInfo2
.
setEquipCode
(
"mingshao2"
);
equipInfo2
.
setEquipName
(
"李氏集团2"
);
equipInfos
.
add
(
equipInfo
);
equipInfos
.
add
(
equipInfo2
);
private
Return
findEquipByShopAndType
(
@RequestParam
String
workshopCode
,
@RequestParam
String
equipType
){
List
<
EquipInfo
>
equipInfos
=
equipmentService
.
findMachineByType
(
equipType
);
return
Return
.
success
(
equipInfos
);
}
@ApiOperation
(
value
=
"程序传输"
)
@PostMapping
(
"/program/transfer"
)
private
Return
programTransfer
(
@RequestBody
ProgramTransferVO
transferVO
){
//TODO:
return
Return
.
success
();
}
@ApiOperation
(
value
=
"报表导出"
)
@PostMapping
(
"/data/export"
)
private
Return
dataExport
(
@RequestBody
SearchVo
pageFilter
,
HttpServletResponse
response
)
throws
UnsupportedEncodingException
{
private
Return
dataExport
(
@RequestBody
SearchVo
pageFilter
,
HttpServletResponse
response
)
throws
UnsupportedEncodingException
{
try
{
equipmentService
.
orderExport
(
response
);
equipmentService
.
orderExport
(
pageFilter
.
toJSONObject
(),
response
);
}
catch
(
Exception
e
)
{
String
message
=
URLEncoder
.
encode
(
"报表导出失败"
,
"utf-8"
).
replaceAll
(
"\\+"
,
"%20"
);
response
.
setHeader
(
"status"
,
"601"
);
...
...
@@ -82,8 +72,7 @@ public class EquipmentController {
@ApiOperation
(
"文件上传"
)
@PostMapping
(
"/file/upload"
)
public
Return
uploadNcFile
(
@RequestParam
(
"file"
)
MultipartFile
file
){
Program
program
=
new
Program
();
program
.
setPath
(
"D:/test/a.txt"
);
Program
program
=
equipmentService
.
saveNcFile
(
file
);
return
Return
.
success
(
program
);
}
}
src/main/java/net/vtstar/zhongtong/avi/equipment/domain/MesWorkOrderInfo.java
View file @
321d6c73
...
...
@@ -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 @
321d6c73
...
...
@@ -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/equipment/mapper/PaintshopStationMapper.java
View file @
321d6c73
package
net
.
vtstar
.
zhongtong
.
avi
.
equipment
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.equipment.domain.PaintshopLane
;
import
net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation
;
import
org.apache.ibatis.annotations.Mapper
;
...
...
src/main/java/net/vtstar/zhongtong/avi/equipment/service/EquipmentService.java
View file @
321d6c73
package
net
.
vtstar
.
zhongtong
.
avi
.
equipment
.
service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageHelper
;
import
net.vtstar.user.mybatis.provider.Operation
;
import
net.vtstar.user.mybatis.provider.OrderBy
;
import
net.vtstar.user.mybatis.provider.WhereFilter
;
import
net.vtstar.user.search.controller.vo.SearchVo
;
import
net.vtstar.user.search.service.SearchService
;
import
net.vtstar.utils.asserts.ParamAssert
;
import
net.vtstar.zhongtong.avi.equipment.domain.EquipInfo
;
import
net.vtstar.zhongtong.avi.equipment.domain.P
aintshopStation
;
import
net.vtstar.zhongtong.avi.equipment.
domain.RuntimeRecord
;
import
net.vtstar.zhongtong.avi.equipment.domain.P
rogram
;
import
net.vtstar.zhongtong.avi.equipment.
mapper.BasicInfoMapper
;
import
net.vtstar.zhongtong.avi.equipment.mapper.EquipmentDataMapper
;
import
net.vtstar.zhongtong.avi.
stamping.domain.LaserCuttingMachine
;
import
net.vtstar.zhongtong.avi.
global.web.domain.ShowField
;
import
org.apache.poi.hssf.util.HSSFColor
;
import
org.apache.poi.ss.usermodel.BorderStyle
;
import
org.apache.poi.ss.usermodel.CellStyle
;
...
...
@@ -18,54 +20,51 @@ import org.apache.poi.xssf.usermodel.XSSFRow;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.Cache
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
EquipmentService
{
@Autowired
private
EquipmentService
equipmentService
;
@Autowired
private
EquipmentDataMapper
dataMapper
;
@Resource
(
name
=
"classNameCache"
)
private
Cache
classNameCache
;
@Resource
(
name
=
"showFieldCache"
)
private
Cache
showFieldCache
;
@Autowired
private
SearchService
searchService
;
@Autowired
private
BasicInfoMapper
basicInfoMapper
;
public
<
T
>
T
findRealTimeData
(
SearchVo
pageFilter
)
{
List
<
LaserCuttingMachine
>
ma
=
new
ArrayList
<>();
LaserCuttingMachine
machine
=
new
LaserCuttingMachine
();
machine
.
setBeginTime
(
new
Date
());
machine
.
setAlias
(
"设备1"
);
machine
.
setEquipCode
(
"511111"
);
machine
.
setCuttingSpeed
(
new
BigDecimal
(
555
));
machine
.
setGasPressure
(
new
BigDecimal
(
477
));
machine
.
setCreateTime
(
new
Date
());
machine
.
setLaserPower
(
new
BigDecimal
(
77777
));
ma
.
add
(
machine
);
List
<
PaintshopStation
>
sequence
=
dataMapper
.
findList
(
new
WhereFilter
()
{{
addOrderBy
(
PaintshopStation
.
class
,
"sequence"
,
OrderBy
.
ASC
);
}},
PaintshopStation
.
class
);
return
(
T
)
ma
;
private
String
baseUrl
=
"D:/scada/program/"
;
public
List
<
Map
<
String
,
Object
>>
findRealTimeData
(
JSONObject
pageFilter
)
{
PageHelper
.
startPage
(
pageFilter
.
getIntValue
(
"pageNum"
),
pageFilter
.
getIntValue
(
"pageSize"
));
Class
searchCode
=
classNameCache
.
get
(
pageFilter
.
getString
(
"searchCode"
),
Class
.
class
);
return
dataMapper
.
findJoin
(
searchService
.
pageFilter2Filter
(
pageFilter
),
searchCode
);
}
public
void
orderExport
(
HttpServletResponse
response
)
throws
IOException
{
public
void
orderExport
(
JSONObject
pageFilter
,
HttpServletResponse
response
)
throws
IOException
{
String
searchCode
=
pageFilter
.
getString
(
"searchCode"
);
List
<
ShowField
>
showFields
=
showFieldCache
.
get
(
searchCode
,
ArrayList
<
ShowField
>::
new
);
Class
itemClazz
=
classNameCache
.
get
(
searchCode
,
Class
.
class
);
List
<
Map
<
String
,
Object
>>
result
=
dataMapper
.
findJoin
(
searchService
.
pageFilter2Filter
(
pageFilter
),
itemClazz
);
XSSFWorkbook
wb
=
new
XSSFWorkbook
();
XSSFSheet
sheet
=
wb
.
createSheet
(
"0"
);
sheet
.
setColumnWidth
(
0
,
4000
);
sheet
.
setColumnWidth
(
1
,
5000
);
sheet
.
setColumnWidth
(
2
,
3000
);
sheet
.
setColumnWidth
(
3
,
2000
);
sheet
.
setColumnWidth
(
4
,
6000
);
sheet
.
setColumnWidth
(
5
,
3000
);
sheet
.
setColumnWidth
(
6
,
4000
);
sheet
.
setColumnWidth
(
7
,
4000
);
sheet
.
setColumnWidth
(
8
,
4000
);
XSSFSheet
sheet
=
wb
.
createSheet
(
"采集数据"
);
CellStyle
cellStyle
=
wb
.
createCellStyle
();
cellStyle
.
setFillPattern
(
FillPatternType
.
SOLID_FOREGROUND
);
cellStyle
.
setBorderTop
(
BorderStyle
.
DASHED
);
...
...
@@ -82,17 +81,26 @@ public class EquipmentService {
titleFont
.
setFontHeight
(
24
);
titleFont
.
setBold
(
true
);
String
[]
title
=
{
"设备名称"
,
"设备编码"
,
"设备状态"
};
int
rowNumber
=
0
;
XSSFRow
row
=
sheet
.
createRow
(
rowNumber
);
for
(
int
i
=
0
;
i
<
showFields
.
size
();
i
++)
{
sheet
.
setColumnWidth
(
i
,
5000
);
row
.
createCell
(
i
).
setCellValue
(
showFields
.
get
(
i
).
getLabel
());
}
for
(
Map
<
String
,
Object
>
item
:
result
){
rowNumber
++;
for
(
int
i
=
0
;
i
<
title
.
length
;
i
++)
{
row
.
createCell
(
i
).
setCellValue
(
title
[
i
]);
XSSFRow
xssfRow
=
sheet
.
createRow
(
rowNumber
);
for
(
int
i
=
0
;
i
<
showFields
.
size
();
i
++)
{
Object
value
=
item
.
get
(
showFields
.
get
(
i
).
getValue
());
xssfRow
.
createCell
(
i
).
setCellValue
(
null
==
value
?
""
:
String
.
valueOf
(
value
));
}
}
response
.
setCharacterEncoding
(
"utf-8"
);
String
filename
=
URLEncoder
.
encode
(
"测试报表"
,
"utf-8"
).
replaceAll
(
"\\+"
,
"%20"
);
String
name
=
classNameCache
.
get
(
searchCode
+
"name"
,
String
.
class
);
if
(
StringUtils
.
isEmpty
(
name
)){
name
=
"监控数据表"
;
}
String
filename
=
URLEncoder
.
encode
(
name
,
"utf-8"
).
replaceAll
(
"\\+"
,
"%20"
);
response
.
setHeader
(
"Content-disposition"
,
"attachment;filename="
+
filename
+
".xlsx"
);
response
.
setHeader
(
"filename"
,
filename
+
".xlsx"
);
...
...
@@ -105,4 +113,44 @@ public class EquipmentService {
throw
new
IOException
(
"报表导出失败!"
);
}
}
public
List
<
EquipInfo
>
findMachineByType
(
String
equipType
)
{
return
basicInfoMapper
.
findList
(
new
WhereFilter
(){{
addFilter
(
"equip_type"
,
Operation
.
EQUAL
,
equipType
);
}},
EquipInfo
.
class
);
}
public
Program
saveNcFile
(
MultipartFile
ncFile
)
{
ParamAssert
.
isTrue
(
ncFile
!=
null
&&
!
ncFile
.
isEmpty
(),
"文件不能为空!"
);
File
fileHome
=
new
File
(
baseUrl
);
if
(!
fileHome
.
exists
())
{
fileHome
.
mkdirs
();
}
String
fileName
=
ncFile
.
getOriginalFilename
();
File
saveNcFile
=
new
File
(
baseUrl
+
fileName
);
if
(
saveNcFile
.
exists
()){
saveNcFile
.
delete
();
}
FileOutputStream
outputStream
=
null
;
try
{
outputStream
=
new
FileOutputStream
(
saveNcFile
);
outputStream
.
write
(
ncFile
.
getBytes
());
outputStream
.
flush
();
Program
program
=
new
Program
();
program
.
setName
(
fileName
);
program
.
setPath
(
baseUrl
+
fileName
);
return
program
;
}
catch
(
Exception
e
)
{
throw
new
IllegalArgumentException
(
"文件上传失败!"
);
}
finally
{
if
(
null
!=
outputStream
)
{
try
{
outputStream
.
close
();
}
catch
(
IOException
e
)
{
throw
new
IllegalArgumentException
(
"IO错误!"
);
}
}
}
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/assembly/domain/CentralizedFillingClutchMachine.java
View file @
321d6c73
...
...
@@ -17,7 +17,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"总装车间车间--离合油加注
"
)
@ApiModel
(
value
=
"总装车间车间--离合油加注"
,
description
=
"离合油加注监控数据表
"
)
@Data
@Search
(
code
=
"CENTRALIZED_FILLING_CLUTCH"
)
@Table
(
name
=
"eqp_data_centralized_filling_clutch"
)
...
...
@@ -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 @
321d6c73
...
...
@@ -17,7 +17,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"总装车间车间--地板革热熔涂胶设备
"
)
@ApiModel
(
value
=
"总装车间车间--地板革热熔涂胶设备"
,
description
=
"地板隔热熔监控数据表
"
)
@Data
@Search
(
code
=
"FLOOR_LEATHER_HOT"
)
@Table
(
name
=
"eqp_data_floor_leather_hot"
)
...
...
@@ -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 @
321d6c73
...
...
@@ -17,7 +17,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"总装车间车间--冷媒加注机
"
)
@ApiModel
(
value
=
"总装车间车间--冷媒加注机"
,
description
=
"冷媒加注机监控数据表
"
)
@Data
@Search
(
code
=
"FOCUS_ADDING_REFRIGERANT"
)
@Table
(
name
=
"eqp_data_focus_adding_refrigerant"
)
...
...
@@ -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 @
321d6c73
...
...
@@ -17,7 +17,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"总装车间车间--助力油加注
"
)
@ApiModel
(
value
=
"总装车间车间--助力油加注"
,
description
=
"助力油加注机监控数据表
"
)
@Data
@Search
(
code
=
"FOCUS_BOOSTER_OIL"
)
@Table
(
name
=
"eqp_data_focus_booster_oil"
)
...
...
@@ -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 @
321d6c73
...
...
@@ -16,7 +16,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"总装车间--板链记录
"
)
@ApiModel
(
value
=
"总装车间--板链记录"
,
description
=
"总装板链监控数据表
"
)
@Data
@Search
(
code
=
"ASSEMBLY_PLATE_CHAIN"
)
@Table
(
name
=
"eqp_data_assembly_plate_chain"
)
...
...
@@ -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 @
321d6c73
...
...
@@ -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 @
321d6c73
...
...
@@ -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 @
321d6c73
...
...
@@ -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 @
321d6c73
...
...
@@ -17,7 +17,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"底盘车间车间--智能扭力扳手
"
)
@ApiModel
(
value
=
"底盘车间车间--智能扭力扳手"
,
description
=
"底盘拧紧机监控数据表
"
)
@Data
@Search
(
code
=
"CHASSIS_TORQUE_WRENCH"
)
@Table
(
name
=
"eqp_data_chassis_torque_wrench"
)
...
...
@@ -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 @
321d6c73
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
(
value
=
"涂装--烘干室温度"
,
description
=
"烘干室监控数据表"
)
@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 @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"PAINTING_ROBOT"
)
@ApiModel
(
"喷涂机器人
"
)
@ApiModel
(
value
=
"喷涂机器人"
,
description
=
"喷涂机器人监控数据表
"
)
@Table
(
name
=
"eqp_data_painting_robot"
)
public
class
PaintingRobotMachine
extends
EquipmentData
{
...
...
@@ -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 @
321d6c73
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
(
value
=
"涂装-喷涂室温湿度"
,
description
=
"喷涂室监控数据表"
)
@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 @
321d6c73
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 @
321d6c73
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 @
321d6c73
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 @
321d6c73
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 @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"DUSTING_LINE"
)
@ApiModel
(
"喷粉线
"
)
@ApiModel
(
value
=
"喷粉线"
,
description
=
"喷粉线监控数据表
"
)
@Table
(
name
=
"eqp_data_dusting_line"
)
public
class
DustingLineMachine
extends
EquipmentData
{
...
...
@@ -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 @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"PRETREATMENT"
)
@ApiModel
(
"前处理
"
)
@ApiModel
(
value
=
"前处理"
,
description
=
"前处理监控数据表
"
)
@Table
(
name
=
"eqp_data_pretreatment"
)
public
class
PretreatmentMachine
extends
EquipmentData
{
...
...
@@ -98,11 +98,9 @@ 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
private
Date
createTime
;
private
Integer
status
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/parts/domain/SteelCncCuttingMachine.java
View file @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"STEEL_CNC_CUTTING"
)
@ApiModel
(
"型钢数控下料
"
)
@ApiModel
(
value
=
"型钢数控下料"
,
description
=
"型钢数控下料监控数据表
"
)
@Table
(
name
=
"eqp_data_steel_cnc_cutting"
)
public
class
SteelCncCuttingMachine
extends
EquipmentData
{
...
...
@@ -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 @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"WELDING_ROBOT"
)
@ApiModel
(
"机器人焊接
"
)
@ApiModel
(
value
=
"机器人焊接"
,
description
=
"机器人焊接监控数据表
"
)
@Table
(
name
=
"eqp_data_welding_robot"
)
public
class
WeldingRobotMachine
{
...
...
@@ -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 @
321d6c73
...
...
@@ -17,7 +17,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"试交车间--充电桩
"
)
@ApiModel
(
value
=
"试交车间--充电桩"
,
description
=
"充电桩监控数据表
"
)
@Data
@Search
(
code
=
"CHARGING_PILE"
)
@Table
(
name
=
"eqp_data_charging_pile"
)
...
...
@@ -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/domain/HydrogenStationVocMachine.java
0 → 100644
View file @
321d6c73
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
trial
.
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
;
/**
* @Author: xiadongwei
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
value
=
"试交车间--加氢站"
,
description
=
"加氢站监控数据表"
)
@Data
@Search
(
code
=
"HYDROGEN_STATIONVoc"
)
@Table
(
name
=
"eqp_data_hydrogen_station"
)
public
class
HydrogenStationVocMachine
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
=
"卸气口压力(Mpa)"
)
@ApiModelProperty
(
notes
=
"卸气口压力(Mpa)"
)
@Column
(
name
=
"discharge_port_pressure"
)
private
Float
dischargePortPressure
;
@Show
(
label
=
"氢气源压力(mmH2O)"
)
@ApiModelProperty
(
notes
=
"氢气源压力(mmH2O)"
)
@Column
(
name
=
"hydrogen_source_pressure"
)
private
Float
hydrogenSourcePressure
;
@Show
(
label
=
"泵出口压力(Mpa)"
)
@ApiModelProperty
(
notes
=
"泵出口压力(Mpa)"
)
@Column
(
name
=
"pump_outlet_pressure"
)
private
Float
pumpOutletPressure
;
@Show
(
label
=
"仪表风压力(Mpa)"
)
@ApiModelProperty
(
notes
=
"仪表风压力(Mpa)"
)
@Column
(
name
=
"instrument_air_pressure"
)
private
Float
instrumentAirPressure
;
@Show
(
label
=
"油温度(°C)"
)
@ApiModelProperty
(
notes
=
"油温度(°C)"
)
@Column
(
name
=
"oil_temperature"
)
private
Float
oilTemperature
;
@Show
(
label
=
"采集时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
"时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
@Column
(
name
=
"state"
)
@ApiModelProperty
(
notes
=
"设备状态(0是关机,1是运行)"
)
private
Integer
status
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/trial/job/ErrorFrameJob.java
0 → 100644
View file @
321d6c73
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/trial/job/HydrogenStationVocMachineJob.java
0 → 100644
View file @
321d6c73
package
net
.
vtstar
.
zhongtong
.
avi
.
gateway
.
trial
.
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.trial.domain.HydrogenStationVocMachine
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
/**
* 加氢站设备数据采集JOB
*/
@Slf4j
@Component
public
class
HydrogenStationVocMachineJob
extends
GatherJob
{
private
static
final
String
NAME
=
"HYDROGEN_STATIONVoc"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
log
.
info
(
"JobName: {}"
,
context
.
getJobDetail
().
getKey
().
getName
());
super
.
gatherByModbus
(
NAME
,
HydrogenStationVocMachine
.
class
);
}
public
boolean
handleObject
(
EquipmentData
equipmentData
)
{
HydrogenStationVocMachine
data
=
(
HydrogenStationVocMachine
)
equipmentData
;
Integer
state
=
data
.
getStatus
();
if
(
state
!=
null
&&
state
==
0
)
{
return
false
;
}
equipmentData
.
setEquipStatus
(
EquipStatusEnum
.
RUN
);
return
true
;
}
@Override
public
Object
handleValue
(
String
fieldName
,
Object
value
)
{
return
value
;
}
@Override
protected
void
postHandle
(
EquipmentData
equipmentData
)
{
((
HydrogenStationVocMachine
)
equipmentData
).
setCreateTime
(
new
Date
());
}
}
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/domain/AutomaticSpotWeldingMachine.java
0 → 100644
View file @
321d6c73
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
(
value
=
"车顶点焊"
,
description
=
"车顶自动点焊监控数据表"
)
@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
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/domain/PlateChainMachine.java
View file @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"PLATE_CHAIN"
)
@ApiModel
(
"板链
"
)
@ApiModel
(
value
=
"板链"
,
description
=
"焊装板链监控数据表
"
)
@Table
(
name
=
"eqp_data_plate_chain"
)
public
class
PlateChainMachine
extends
EquipmentData
{
...
...
@@ -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 @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"PLC_CONTROL_TIRE_1"
)
@ApiModel
(
"PLC数控合装胎, 串口
"
)
@ApiModel
(
value
=
"PLC数控合装胎, 串口"
,
description
=
"PLC数控合装胎监控数据表
"
)
@Table
(
name
=
"eqp_data_control_tire_1"
)
public
class
PlcControlTireMachine1
extends
EquipmentData
{
...
...
@@ -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 @
321d6c73
...
...
@@ -14,7 +14,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"PLC_CONTROL_TIRE_2"
)
@ApiModel
(
"PLC数控合装胎, 网口
"
)
@ApiModel
(
value
=
"PLC数控合装胎, 网口"
,
description
=
"PLC数控合装胎监控数据表
"
)
@Table
(
name
=
"eqp_data_control_tire_2"
)
public
class
PlcControlTireMachine2
extends
EquipmentData
{
...
...
@@ -68,12 +68,9 @@ 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
private
Date
createTime
;
@ApiModelProperty
(
notes
=
"系统运行(1,0)"
)
private
Integer
status
;
}
src/main/java/net/vtstar/zhongtong/avi/gateway/welding/job/AutomaticSpotWeldingMachineJob.java
0 → 100644
View file @
321d6c73
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/global/config/CacheConfig.java
View file @
321d6c73
...
...
@@ -23,6 +23,11 @@ public class CacheConfig {
return
cacheManager
.
getCache
(
"showFieldCache"
);
}
@Bean
Cache
classNameCache
(
ConcurrentMapCacheManager
cacheManager
)
{
return
cacheManager
.
getCache
(
"classNameCache"
);
}
@Bean
Cache
stationCache
(
ConcurrentMapCacheManager
cacheManager
)
{
return
cacheManager
.
getCache
(
"stationCache"
);
...
...
src/main/java/net/vtstar/zhongtong/avi/global/listener/WebFiledListener.java
View file @
321d6c73
package
net
.
vtstar
.
zhongtong
.
avi
.
global
.
listener
;
import
io.swagger.annotations.ApiModel
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.user.search.Search
;
import
net.vtstar.user.util.ReadAnnotationUtils
;
...
...
@@ -28,6 +29,9 @@ public class WebFiledListener implements ApplicationListener<ContextRefreshedEve
@Resource
(
name
=
"showFieldCache"
)
private
Cache
showFieldCache
;
@Resource
(
name
=
"classNameCache"
)
private
Cache
classNameCache
;
@Override
public
void
onApplicationEvent
(
ContextRefreshedEvent
contextRefreshedEvent
)
{
...
...
@@ -41,6 +45,11 @@ public class WebFiledListener implements ApplicationListener<ContextRefreshedEve
if
(
StringUtils
.
isEmpty
(
clazzAnnotation
.
code
()))
{
log
.
error
(
"{} 类@Search注解code属性未赋值!"
,
clazz
);
}
classNameCache
.
put
(
clazzAnnotation
.
code
(),
clazz
);
String
name
=
clazz
.
getAnnotation
(
ApiModel
.
class
).
description
();
if
(!
StringUtils
.
isEmpty
(
name
)){
classNameCache
.
put
(
clazzAnnotation
.
code
()
+
"name"
,
name
);
}
List
<
ShowField
>
showFileds
=
new
ArrayList
<>();
Field
[]
fields
=
clazz
.
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
...
...
src/main/java/net/vtstar/zhongtong/avi/sqlserver/domain/AssemblyTorqueWrench.java
View file @
321d6c73
...
...
@@ -16,7 +16,7 @@ import java.util.Date;
* @Date: 2019/10/17 11:52
*/
@ApiModel
(
"总装车间车间--智能扭力扳手
"
)
@ApiModel
(
value
=
"总装车间车间--智能扭力扳手"
,
description
=
"总装拧紧机监控数据表
"
)
@Data
@Search
(
code
=
"ASSEMBLY_TORQUE_WRENCH"
)
@Table
(
name
=
"assembly_torque_wrench"
)
...
...
src/main/java/net/vtstar/zhongtong/avi/sqlserver/domain/TestLineResult.java
View file @
321d6c73
...
...
@@ -16,7 +16,7 @@ import java.util.Date;
* @Author: xiadongwei
* @Date: 2019/10/16 10:23
*/
@ApiModel
(
"试交车间--检测线
"
)
@ApiModel
(
value
=
"试交车间--检测线"
,
description
=
"试交检测线监控数据表
"
)
@Data
@Search
(
code
=
"CHECK_LINE"
)
@Table
(
name
=
"test_line_result"
)
...
...
src/main/java/net/vtstar/zhongtong/avi/sqlserver/domain/TestSpeedResult.java
View file @
321d6c73
...
...
@@ -17,7 +17,7 @@ import java.util.Date;
* @Author: xiadongwei
* @Date: 2019/10/16 10:23
*/
@ApiModel
(
"试交车间--动静态检测(限速值,错误帧)
"
)
@ApiModel
(
value
=
"试交车间--动静态检测(限速值,错误帧)"
,
description
=
"动静态检测监控数据表
"
)
@Data
@Search
(
code
=
"DYNAMIC_STATIC_TEST"
)
@Table
(
name
=
"test_speed_result"
)
...
...
src/main/java/net/vtstar/zhongtong/avi/sqlserver/job/MesWorkOrderJob.java
0 → 100644
View file @
321d6c73
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 APS_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 @
321d6c73
...
...
@@ -15,7 +15,7 @@ import java.util.Date;
@Data
@Search
(
code
=
"3D_LASER_CUTTING"
)
@ApiModel
(
"激光切割机
"
)
@ApiModel
(
value
=
"激光切割机"
,
description
=
"激光切割机监控数据表
"
)
@Table
(
name
=
"eqp_data_3d_laser"
)
public
class
LaserCuttingMachine
extends
EquipmentData
{
...
...
@@ -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 @
321d6c73
...
...
@@ -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 @
321d6c73
...
...
@@ -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 @
321d6c73
...
...
@@ -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/EquipmentDataMapper.xml
0 → 100644
View file @
321d6c73
<?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.equipment.mapper.EquipmentDataMapper"
>
</mapper>
\ No newline at end of file
src/main/resources/mapper/mysql/SprayBoothMapper.xml
0 → 100644
View file @
321d6c73
<?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