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
5d730e1a
Commit
5d730e1a
authored
Oct 19, 2019
by
夏东伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
现场软件对接
parent
141927d1
Show whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
1782 additions
and
29 deletions
+1782
-29
pom.xml
pom.xml
+27
-0
AssemblyNewEnergy.java
...vtstar/zhongtong/avi/access/domain/AssemblyNewEnergy.java
+58
-0
WheelAlignment.java
...et/vtstar/zhongtong/avi/access/domain/WheelAlignment.java
+175
-0
AssemblyNewEnergyJob.java
...vtstar/zhongtong/avi/access/job/AssemblyNewEnergyJob.java
+119
-0
WheelAlignmentJob.java
...et/vtstar/zhongtong/avi/access/job/WheelAlignmentJob.java
+165
-0
AssemblyNewEnergyMapper.java
.../zhongtong/avi/access/mapper/AssemblyNewEnergyMapper.java
+13
-0
WheelAlignmentMapper.java
...tar/zhongtong/avi/access/mapper/WheelAlignmentMapper.java
+13
-0
DataSourceConfig.java
.../vtstar/zhongtong/avi/global/config/DataSourceConfig.java
+40
-4
MybatisMySQLConfig.java
...tstar/zhongtong/avi/global/config/MybatisMySQLConfig.java
+3
-1
MybatisSqlServerConfig.java
...r/zhongtong/avi/global/config/MybatisSqlServerConfig.java
+3
-4
AbstractTesterMessageHandler.java
...ongtong/avi/mqtt/handle/AbstractTesterMessageHandler.java
+38
-0
RfidMessageHandler.java
.../vtstar/zhongtong/avi/mqtt/handle/RfidMessageHandler.java
+49
-0
AssemblyTorqueWrench.java
.../zhongtong/avi/sqlserver/domain/AssemblyTorqueWrench.java
+61
-0
TestLineResult.java
...vtstar/zhongtong/avi/sqlserver/domain/TestLineResult.java
+132
-0
TestSpeedResult.java
...tstar/zhongtong/avi/sqlserver/domain/TestSpeedResult.java
+61
-0
AssemblyTorqueWrenchJob.java
.../zhongtong/avi/sqlserver/job/AssemblyTorqueWrenchJob.java
+91
-0
TestLineResultJob.java
...vtstar/zhongtong/avi/sqlserver/job/TestLineResultJob.java
+99
-0
TestSpeedJob.java
.../net/vtstar/zhongtong/avi/sqlserver/job/TestSpeedJob.java
+83
-0
AssemblyTorqueWrenchMapper.java
...tong/avi/sqlserver/mapper/AssemblyTorqueWrenchMapper.java
+13
-0
TestLineResultMapper.java
.../zhongtong/avi/sqlserver/mapper/TestLineResultMapper.java
+13
-0
TestSpeedMapper.java
...tstar/zhongtong/avi/sqlserver/mapper/TestSpeedMapper.java
+13
-0
TestDeliverService.java
...r/zhongtong/avi/sqlserver/service/TestDeliverService.java
+158
-0
GetFileName.java
...main/java/net/vtstar/zhongtong/avi/utils/GetFileName.java
+45
-0
PingIpUtils.java
...main/java/net/vtstar/zhongtong/avi/utils/PingIpUtils.java
+86
-0
SmbFileUtil.java
...main/java/net/vtstar/zhongtong/avi/utils/SmbFileUtil.java
+92
-0
application-dev.properties
src/main/resources/config/application-dev.properties
+1
-1
application-mqtt.properties
src/main/resources/config/application-mqtt.properties
+26
-6
application-quartz.properties
src/main/resources/config/application-quartz.properties
+35
-0
application-xdw.properties
src/main/resources/config/application-xdw.properties
+19
-13
application-ztip.properties
src/main/resources/config/application-ztip.properties
+26
-0
RSNetDevice-2.2.1.jar
src/main/resources/lib/RSNetDevice-2.2.1.jar
+0
-0
param.dat
src/main/resources/lib/param.dat
+0
-0
AssemblyNewEnergyMapper.xml
src/main/resources/mapper/mysql/AssemblyNewEnergyMapper.xml
+5
-0
AssemblyTorqueWrenchMapper.xml
...ain/resources/mapper/mysql/AssemblyTorqueWrenchMapper.xml
+5
-0
TestLineResultMapper.xml
src/main/resources/mapper/mysql/TestLineResultMapper.xml
+5
-0
TestSpeedMapper.xml
src/main/resources/mapper/mysql/TestSpeedMapper.xml
+5
-0
WheelAlignmentMapper.xml
src/main/resources/mapper/mysql/WheelAlignmentMapper.xml
+5
-0
No files found.
pom.xml
View file @
5d730e1a
...
...
@@ -102,6 +102,21 @@
<artifactId>
poi-ooxml
</artifactId>
<version>
3.17
</version>
</dependency>
<!--解析mdb文件-->
<!-- https://mvnrepository.com/artifact/com.healthmarketscience.jackcess/jackcess -->
<dependency>
<groupId>
com.healthmarketscience.jackcess
</groupId>
<artifactId>
jackcess
</artifactId>
<version>
3.0.1
</version>
</dependency>
<!--喷涂室湿度采集第三方jar包-->
<dependency>
<groupId>
com.github.wxpay
</groupId>
<artifactId>
wxpay-sdk
</artifactId>
<version>
0.0.3
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/resources/lib/RSNetDevice-2.2.1.jar
</systemPath>
</dependency>
</dependencies>
<build>
...
...
@@ -144,6 +159,18 @@
</dependencies>
</plugin>
<plugin>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
1.8
</source>
<target>
1.8
</target>
<encoding>
UTF-8
</encoding>
<compilerArguments>
<extdirs>
${project.basedir}/src/main/resources/lib
</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
src/main/java/net/vtstar/zhongtong/avi/access/domain/AssemblyNewEnergy.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
access
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
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
;
/**
* @Author: xiadongwei
* @Date: 2019/10/17 17:23
*/
@ApiModel
(
"总装车间--新能源检测点"
)
@Data
@Search
(
code
=
"NEW_ENERGY"
)
@Table
(
name
=
"assembly_new_energy"
)
public
class
AssemblyNewEnergy
{
@Show
(
label
=
"车辆标识"
)
@ApiModelProperty
(
notes
=
"车辆标识"
)
@Column
(
name
=
"SerialNo"
)
@Search
private
String
SerialNo
;
@Show
(
label
=
"当前工步"
)
@ApiModelProperty
(
notes
=
"当前工步"
)
@Column
(
name
=
"TIName"
)
private
String
TIName
;
@Show
(
label
=
"检测结果"
)
@ApiModelProperty
(
notes
=
"检测结果"
)
@Column
(
name
=
"ResultValue"
)
private
Double
ResultValue
;
@Show
(
label
=
"单位"
)
@ApiModelProperty
(
notes
=
"单位"
)
@Column
(
name
=
"ResultUnit"
)
private
String
ResultUnit
;
@Show
(
label
=
"系统时间"
)
@ApiModelProperty
(
notes
=
"测试时间"
)
@Column
(
name
=
"SystemTime"
)
private
String
SystemTime
;
@Show
(
label
=
"所在位置"
)
@ApiModelProperty
(
notes
=
"所在位置"
)
@Column
(
name
=
"ipAddress"
)
private
String
ipAddress
;
@Show
(
label
=
"同步时间"
)
@ApiModelProperty
(
notes
=
"同步时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/access/domain/WheelAlignment.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
access
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
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
;
/**
* @Author: xiadongwei
* @Date: 2019/10/17 17:23
*/
@ApiModel
(
"底盘车间--车轮定位"
)
@Data
@Search
(
code
=
"WHEEL_ALIGNMENT"
)
@Table
(
name
=
"wheel_alignment"
)
public
class
WheelAlignment
{
@Show
(
label
=
"工作订单"
)
@Column
(
name
=
"WorkOrderID"
)
@ApiModelProperty
(
notes
=
"工作订单"
)
@Search
private
String
WorkOrderID
;
@Show
(
label
=
"开始时间"
)
@Column
(
name
=
"StartDateTime"
)
@ApiModelProperty
(
notes
=
"开始时间"
)
private
String
StartDateTime
;
@Show
(
label
=
"结束时间"
)
@Column
(
name
=
"EndDateTime"
)
@ApiModelProperty
(
notes
=
"结束时间"
)
private
String
EndDateTime
;
@Show
(
label
=
"制造厂"
)
@Column
(
name
=
"Make"
)
@ApiModelProperty
(
notes
=
"制造厂"
)
private
String
Make
;
@Show
(
label
=
"型号"
)
@Column
(
name
=
"Model"
)
@ApiModelProperty
(
notes
=
"型号"
)
@Search
private
String
Model
;
@Show
(
label
=
"VIN"
)
@Column
(
name
=
"VIN"
)
@ApiModelProperty
(
notes
=
"VIN"
)
@Search
private
String
VIN
;
@Show
(
label
=
"前轮前束(左,最初)"
)
@Column
(
name
=
"LFToeI"
)
@ApiModelProperty
(
notes
=
"前轮前束(左,最初)"
)
private
String
LFToeI
;
@Show
(
label
=
"前轮前束(左,最终)"
)
@Column
(
name
=
"LFToeF"
)
@ApiModelProperty
(
notes
=
"前轮前束(左,最终)"
)
private
String
LFToeF
;
@Show
(
label
=
"前轮前束(右,最初)"
)
@Column
(
name
=
"RFToeI"
)
@ApiModelProperty
(
notes
=
"前轮前束(右,最初)"
)
private
String
RFToeI
;
@Show
(
label
=
"前轮前束(右,最终)"
)
@Column
(
name
=
"RFToeF"
)
@ApiModelProperty
(
notes
=
"前轮前束(右,最终)"
)
private
String
RFToeF
;
@Show
(
label
=
"前轮外倾角(左,最初)"
)
@Column
(
name
=
"LFCamI"
)
@ApiModelProperty
(
notes
=
"前轮外倾角(左,最初)"
)
private
String
LFCamI
;
@Show
(
label
=
"前轮外倾角(左,最终)"
)
@Column
(
name
=
"LFCamF"
)
@ApiModelProperty
(
notes
=
"前轮外倾角(左,最终)"
)
private
String
LFCamF
;
@Show
(
label
=
"前轮外倾角(右,最初)"
)
@Column
(
name
=
"RFCamI"
)
@ApiModelProperty
(
notes
=
"前轮外倾角(右,最初)"
)
private
String
RFCamI
;
@Show
(
label
=
"前轮外倾角(右,最终)"
)
@Column
(
name
=
"RFCamF"
)
@ApiModelProperty
(
notes
=
"前轮外倾角(右,最终)"
)
private
String
RFCamF
;
@Show
(
label
=
"后倾角(左,最初)"
)
@Column
(
name
=
"LCasI"
)
@ApiModelProperty
(
notes
=
"后倾角(左,最初)"
)
private
String
LCasI
;
@Show
(
label
=
"后倾角(左,最终)"
)
@Column
(
name
=
"LCasF"
)
@ApiModelProperty
(
notes
=
"后倾角(左,最终)"
)
private
String
LCasF
;
@Show
(
label
=
"后倾角(右,最初)"
)
@Column
(
name
=
"RCasI"
)
@ApiModelProperty
(
notes
=
"后倾角(右,最初)"
)
private
String
RCasI
;
@Show
(
label
=
"后倾角(右,最终)"
)
@Column
(
name
=
"RCasF"
)
@ApiModelProperty
(
notes
=
"后倾角(右,最终)"
)
private
String
RCasF
;
@Show
(
label
=
"Kpi(左,最初)"
)
@Column
(
name
=
"LKpiI"
)
@ApiModelProperty
(
notes
=
"Kpi(左,最初)"
)
private
String
LKpiI
;
@Show
(
label
=
"Kpi(左,最终)"
)
@Column
(
name
=
"LKpiF"
)
@ApiModelProperty
(
notes
=
"Kpi(左,最终)"
)
private
String
LKpiF
;
@Show
(
label
=
"Kpi(右,最初)"
)
@Column
(
name
=
"RKpiI"
)
@ApiModelProperty
(
notes
=
"Kpi(右,最初)"
)
private
String
RKpiI
;
@Show
(
label
=
"Kpi(右,最终)"
)
@Column
(
name
=
"RKpiF"
)
@ApiModelProperty
(
notes
=
"Kpi(右,最终)"
)
private
String
RKpiF
;
@Show
(
label
=
"艾克尔曼角(左)"
)
@Column
(
name
=
"LAckermanF"
)
@ApiModelProperty
(
notes
=
"艾克尔曼角(左)"
)
private
String
LAckermanF
;
@Show
(
label
=
"艾克尔曼角(右)"
)
@Column
(
name
=
"RAckermanF"
)
@ApiModelProperty
(
notes
=
"艾克尔曼角(右)"
)
private
String
RAckermanF
;
@Show
(
label
=
"最大旋转角度(左)"
)
@Column
(
name
=
"LMaxTurnF"
)
@ApiModelProperty
(
notes
=
"最大旋转角度(左)"
)
private
String
LMaxTurnF
;
@Show
(
label
=
"最大旋转角度(右)"
)
@Column
(
name
=
"RMaxTurnF"
)
@ApiModelProperty
(
notes
=
"最大旋转角度(右)"
)
private
String
RMaxTurnF
;
@Show
(
label
=
"后桥推进线-桥错误(最初)"
)
@Column
(
name
=
"Tandem0I"
)
@ApiModelProperty
(
notes
=
"后桥推进线-桥错误(最初)"
)
private
String
Tandem0I
;
@Show
(
label
=
"后桥推进线-桥错误(最终)"
)
@Column
(
name
=
"Tandem0D1I"
)
@ApiModelProperty
(
notes
=
"后桥推进线-桥错误(最终)"
)
private
String
Tandem0D1I
;
@Show
(
label
=
"所在位置"
)
@Column
(
name
=
"ipAddress"
)
@ApiModelProperty
(
notes
=
"所在设备IP"
)
private
String
ipAddress
;
@Show
(
label
=
"同步时间"
)
@ApiModelProperty
(
notes
=
"同步时间"
)
@Column
(
name
=
"create_time"
)
private
Date
createTime
;
}
src/main/java/net/vtstar/zhongtong/avi/access/job/AssemblyNewEnergyJob.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
access
.
job
;
import
com.healthmarketscience.jackcess.Database
;
import
com.healthmarketscience.jackcess.DatabaseBuilder
;
import
com.healthmarketscience.jackcess.Row
;
import
com.healthmarketscience.jackcess.Table
;
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.DateUtils
;
import
net.vtstar.zhongtong.avi.access.domain.AssemblyNewEnergy
;
import
net.vtstar.zhongtong.avi.access.mapper.AssemblyNewEnergyMapper
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestLineResult
;
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
java.io.File
;
import
java.io.IOException
;
import
java.util.*
;
/**
* 总装车间--新能源检测点
*
* @Author: xiadongwei
* @Date: 2019/10/16 18:20
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
AssemblyNewEnergyJob
extends
QuartzJobBean
{
@Autowired
private
AssemblyNewEnergyMapper
assemblyNewEnergyMapper
;
@Value
(
"${zt.ip.assemblynewenergy1}"
)
private
String
ipAddress1
;
@Value
(
"${zt.ip.assemblynewenergy2}"
)
private
String
ipAddress2
;
@Value
(
"${zt.ip.assemblynewenergy3}"
)
private
String
ipAddress3
;
@Value
(
"${zt.ip.assemblynewenergy4}"
)
private
String
ipAddress4
;
@Value
(
"${zt.ip.pingtimes}"
)
private
int
pingTimes
;
@Value
(
"${zt.ip.timeout}"
)
private
int
timeOut
;
private
String
baseUrl
=
"D:/scada/assemblynewenergy/"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
List
<
String
>
ipAddressList
=
Arrays
.
asList
(
ipAddress1
,
ipAddress2
,
ipAddress3
,
ipAddress4
);
log
.
info
(
"--------开始同步总装车间新能源检测点数据--------"
);
//testdata@2018-05-05 数据文件命名格式
Date
startOfDay
=
DateUtils
.
getStartOfDay
(
0
);
String
dateString
=
DateUtils
.
parseDateToString
(
startOfDay
,
"yyyy-MM-dd"
);
for
(
String
ipAddress
:
ipAddressList
){
if
(!
PingIpUtils
.
ping
(
ipAddress
,
pingTimes
,
timeOut
))
{
log
.
error
(
"ping: {}失败, 此次同步总装新能源检测点数据操作结束!"
,
ipAddress
);
return
;
}
//todo:账户, 密码需要变
String
url
=
"smb://wanteng:wanteng@"
+
ipAddress
+
"/AN9637H/testdata@"
+
dateString
+
".mdb"
;
SmbFile
file
=
null
;
try
{
file
=
new
SmbFile
(
url
);
if
(
file
.
exists
())
{
SmbFileUtil
.
smbGet
(
url
,
baseUrl
+
"testdata@"
+
dateString
+
".mdb"
);
}
else
{
log
.
error
(
"日期: {} 的总装车间新能源检测点共享文件不存在!"
,
dateString
);
continue
;
}
Database
db
;
List
<
AssemblyNewEnergy
>
list
=
new
ArrayList
<>();;
try
{
db
=
DatabaseBuilder
.
open
(
new
File
(
baseUrl
+
"testdata@"
+
dateString
+
".mdb"
));
Set
<
String
>
tableNames
=
db
.
getTableNames
();
for
(
String
tableName
:
tableNames
)
{
if
(!
"TestConditionResult"
.
equals
(
tableName
)){
continue
;
}
Table
table
=
db
.
getTable
(
tableName
);
for
(
Row
row
:
table
)
{
AssemblyNewEnergy
map
=
new
AssemblyNewEnergy
();
map
.
setSerialNo
(
row
.
getString
(
"SerialNo"
));
map
.
setTIName
(
row
.
getString
(
"TIName"
));
map
.
setResultValue
(
row
.
getDouble
(
"ResultValue"
));
map
.
setResultUnit
(
row
.
getString
(
"ResultUnit"
));
map
.
setSystemTime
(
dateString
+
row
.
getString
(
"SystemTime"
));
map
.
setIpAddress
(
ipAddress
);
map
.
setCreateTime
(
new
Date
());
list
.
add
(
map
);
}
}
}
catch
(
IOException
e
)
{
log
.
error
(
"读取日期: {} 的数据库文件失败!ip: {}"
,
dateString
,
ipAddress
);
continue
;
}
assemblyNewEnergyMapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"SystemTime"
,
Operation
.
LIKE
,
dateString
);
addFilter
(
"ipAddress"
,
Operation
.
EQUAL
,
ipAddress
);
}},
TestLineResult
.
class
);
assemblyNewEnergyMapper
.
insertList
(
list
);
log
.
info
(
"更新新能源检测点: {} 数据: {}条"
,
ipAddress
,
list
.
size
());
}
catch
(
Exception
e
)
{
log
.
error
(
"获取总装车间新能源检测点共享文件失败!ip: {}"
,
ipAddress
);
}
}
log
.
info
(
"--------同步总装车间新能源检测点数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/access/job/WheelAlignmentJob.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
access
.
job
;
import
com.healthmarketscience.jackcess.Database
;
import
com.healthmarketscience.jackcess.DatabaseBuilder
;
import
com.healthmarketscience.jackcess.Row
;
import
com.healthmarketscience.jackcess.Table
;
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.DateUtils
;
import
net.vtstar.zhongtong.avi.access.domain.WheelAlignment
;
import
net.vtstar.zhongtong.avi.access.mapper.WheelAlignmentMapper
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestLineResult
;
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
java.io.File
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
* 底盘车间--四轮定位
* @Author: xiadongwei
* @Date: 2019/10/16 18:20
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
WheelAlignmentJob
extends
QuartzJobBean
{
@Autowired
private
WheelAlignmentMapper
mapper
;
@Value
(
"${zt.ip.wheelalignment1}"
)
private
String
ipAddress1
;
@Value
(
"${zt.ip.wheelalignment1}"
)
private
String
ipAddress2
;
@Value
(
"${zt.ip.wheelalignment1}"
)
private
String
ipAddress3
;
@Value
(
"${zt.ip.pingtimes}"
)
private
int
pingTimes
;
@Value
(
"${zt.ip.timeout}"
)
private
int
timeOut
;
private
String
baseUrl
=
"D:/scada/wheelalignment/"
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
List
<
String
>
ipAddressList
=
Arrays
.
asList
(
ipAddress1
,
ipAddress2
,
ipAddress3
);
log
.
info
(
"--------开始同步底盘车间四轮定位数据--------"
);
//2019Apr30.mdb 数据文件命名格式
Date
startOfDay
=
DateUtils
.
getStartOfDay
(
0
);
String
dateString
=
DateUtils
.
parseDateToString
(
startOfDay
,
"yyyy-MM-dd HH:mm:ss"
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMMdd"
,
Locale
.
ENGLISH
);
String
newDateString
=
sdf
.
format
(
new
Date
());
for
(
String
ipAddress
:
ipAddressList
){
if
(!
PingIpUtils
.
ping
(
ipAddress
,
pingTimes
,
timeOut
))
{
log
.
error
(
"ping: {}失败, 此次同步底盘四轮定位数据操作结束!"
,
ipAddress
);
return
;
}
//todo:账户, 密码, 文件位置需要变
String
url
=
"smb://wanteng:wanteng@"
+
ipAddress
+
"/AN9637H/"
+
newDateString
+
".mdb"
;
SmbFile
file
=
null
;
try
{
file
=
new
SmbFile
(
url
);
if
(
file
.
exists
())
{
SmbFileUtil
.
smbGet
(
url
,
baseUrl
+
newDateString
+
".mdb"
);
}
else
{
log
.
error
(
"日期: {} 的底盘车间四轮定位共享数据库文件不存在!"
,
newDateString
);
continue
;
}
Database
db
;
List
<
WheelAlignment
>
list
=
new
ArrayList
<>();;
try
{
db
=
DatabaseBuilder
.
open
(
new
File
(
baseUrl
+
newDateString
+
".mdb"
));
Set
<
String
>
tableNames
=
db
.
getTableNames
();
for
(
String
tableName
:
tableNames
)
{
if
(!
"LEGEND-5214E5AF"
.
equals
(
tableName
)){
continue
;
}
Table
table
=
db
.
getTable
(
tableName
);
for
(
Row
row
:
table
)
{
WheelAlignment
map
=
new
WheelAlignment
();
map
.
setWorkOrderID
(
row
.
getString
(
"WorkOrderID"
));
map
.
setStartDateTime
(
row
.
getString
(
"StartDateTime"
));
map
.
setEndDateTime
(
row
.
getString
(
"EndDateTime"
));
map
.
setMake
(
row
.
getString
(
"Make"
));
map
.
setModel
(
row
.
getString
(
"Model"
));
map
.
setVIN
(
row
.
getString
(
"VIN"
));
map
.
setLFToeI
(
row
.
getInt
(
"LFToeI"
)
/
51.2
+
"mm"
);
map
.
setLFToeF
(
row
.
getInt
(
"LFToeF"
)
/
51.2
+
"mm"
);
map
.
setRFToeI
(
row
.
getInt
(
"RFToeI"
)
/
51.2
+
"mm"
);
map
.
setRFToeF
(
row
.
getInt
(
"RFToeF"
)
/
51.2
+
"mm"
);
map
.
setLFCamI
((
row
.
getInt
(
"LFCamI"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"LFCamI"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
map
.
setLFCamF
((
row
.
getInt
(
"LFCamF"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"LFCamF"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
map
.
setRFCamI
((
row
.
getInt
(
"RFCamI"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"RFCamI"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
map
.
setRFCamF
((
row
.
getInt
(
"RFCamF"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"RFCamF"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
map
.
setLCasI
((
row
.
getInt
(
"LCasI"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"LCasI"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
map
.
setLCasF
((
row
.
getInt
(
"LCasF"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"LCasF"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
map
.
setRCasI
((
row
.
getInt
(
"RCasI"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"RCasI"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
map
.
setRCasF
((
row
.
getInt
(
"RCasF"
)
/
1000
)
+
"°"
+
(
Math
.
round
((
row
.
getInt
(
"RCasF"
)
%
1000
*
60
/
1000
f
)))
+
"′"
);
//TODO:LKpiI/256*15′
int
lKpiI
=
Math
.
round
(
row
.
getInt
(
"LKpiI"
)
%
1000
/
250
f
);
if
(
lKpiI
==
4
){
map
.
setLKpiI
((
row
.
getInt
(
"LKpiI"
)
/
1000
+
1
)
+
"°"
+
"0′"
);
}
else
{
map
.
setLKpiI
((
row
.
getInt
(
"LKpiI"
)
/
1000
+
1
)
+
"°"
+
(
lKpiI
*
15
)
+
"′"
);
}
int
lKpiF
=
Math
.
round
(
row
.
getInt
(
"LKpiF"
)
%
1000
/
250
f
);
if
(
lKpiF
==
4
){
map
.
setLKpiF
((
row
.
getInt
(
"LKpiF"
)
/
1000
+
1
)
+
"°"
+
"0′"
);
}
else
{
map
.
setLKpiF
((
row
.
getInt
(
"LKpiF"
)
/
1000
)
+
"°"
+
(
lKpiF
*
15
)
+
"′"
);
}
int
rKpiI
=
Math
.
round
(
row
.
getInt
(
"RKpiI"
)
%
1000
/
250
f
);
if
(
rKpiI
==
4
){
map
.
setRKpiI
((
row
.
getInt
(
"RKpiI"
)
/
1000
+
1
)
+
"°"
+
"0′"
);
}
else
{
map
.
setRKpiI
((
row
.
getInt
(
"RKpiI"
)
/
1000
)
+
"°"
+
(
rKpiI
*
15
)
+
"′"
);
}
int
rKpiF
=
Math
.
round
(
row
.
getInt
(
"RKpiF"
)
%
1000
/
250
f
);
if
(
rKpiF
==
4
){
map
.
setRKpiF
((
row
.
getInt
(
"RKpiF"
)
/
1000
+
1
)
+
"°"
+
"0′"
);
}
else
{
map
.
setRKpiF
((
row
.
getInt
(
"RKpiF"
)
/
1000
)
+
"°"
+
(
rKpiF
*
15
)
+
"′"
);
}
map
.
setLAckermanF
(
String
.
valueOf
(
new
BigDecimal
(
row
.
getDouble
(
"LAckermanF"
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
).
doubleValue
())
+
"°"
);
map
.
setRAckermanF
(
String
.
valueOf
(
new
BigDecimal
(
row
.
getDouble
(
"RAckermanF"
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
).
doubleValue
())
+
"°"
);
map
.
setLMaxTurnF
(
String
.
valueOf
(
new
BigDecimal
(
row
.
getDouble
(
"LMaxTurnF"
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
).
doubleValue
())
+
"°"
);
map
.
setRMaxTurnF
(
String
.
valueOf
(
new
BigDecimal
(
row
.
getDouble
(
"RMaxTurnF"
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
).
doubleValue
())
+
"°"
);
map
.
setTandem0I
((
row
.
getInt
(
"Tandem0I"
)
/
47.5
)
+
"mm"
);
map
.
setTandem0D1I
((
row
.
getInt
(
"Tandem0D1I"
)
/
115.926
)
+
"mm"
);
map
.
setIpAddress
(
ipAddress
);
map
.
setCreateTime
(
new
Date
());
list
.
add
(
map
);
}
}
}
catch
(
IOException
e
)
{
log
.
error
(
"读取日期: {} 的数据库文件失败!ip: {}"
,
dateString
,
ipAddress
);
continue
;
}
mapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"create_time"
,
Operation
.
GREATER_THAN
,
dateString
);
addFilter
(
"ipAddress"
,
Operation
.
EQUAL
,
ipAddress
);
}},
TestLineResult
.
class
);
mapper
.
insertList
(
list
);
log
.
info
(
"更新四轮定位: {} 数据: {}条"
,
ipAddress
,
list
.
size
());
}
catch
(
Exception
e
)
{
log
.
error
(
"获取底盘车间四轮定位共享文件失败!ip: {}"
,
ipAddress
);
}
}
log
.
info
(
"--------同步底盘车间四轮定位数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/access/mapper/AssemblyNewEnergyMapper.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
access
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.access.domain.AssemblyNewEnergy
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author: xiadongwei
* @Date: 2019/10/16 18:04
*/
@Mapper
public
interface
AssemblyNewEnergyMapper
extends
BaseMapper
<
AssemblyNewEnergy
>
{
}
src/main/java/net/vtstar/zhongtong/avi/access/mapper/WheelAlignmentMapper.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
access
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.access.domain.WheelAlignment
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author: xiadongwei
* @Date: 2019/10/16 18:04
*/
@Mapper
public
interface
WheelAlignmentMapper
extends
BaseMapper
<
WheelAlignment
>
{
}
src/main/java/net/vtstar/zhongtong/avi/global/config/DataSourceConfig.java
View file @
5d730e1a
...
...
@@ -28,14 +28,50 @@ public class DataSourceConfig {
}
@Bean
@ConfigurationProperties
(
prefix
=
"sqlserver"
)
DataSource
s
qlServerDatasource
()
{
@ConfigurationProperties
(
prefix
=
"s
pring.test.s
qlserver"
)
DataSource
testS
qlServerDatasource
()
{
return
DataSourceBuilder
.
create
().
build
();
}
@Bean
JdbcTemplate
sqlserverJdbcTemplate
(
JdbcProperties
properties
)
{
JdbcTemplate
jdbcTemplate
=
new
JdbcTemplate
(
sqlServerDatasource
());
JdbcTemplate
testSqlServerJdbcTemplate
(
JdbcProperties
properties
)
{
JdbcTemplate
jdbcTemplate
=
new
JdbcTemplate
(
testSqlServerDatasource
());
JdbcProperties
.
Template
template
=
properties
.
getTemplate
();
jdbcTemplate
.
setFetchSize
(
template
.
getFetchSize
());
jdbcTemplate
.
setMaxRows
(
template
.
getMaxRows
());
if
(
template
.
getQueryTimeout
()
!=
null
)
{
jdbcTemplate
.
setQueryTimeout
((
int
)
template
.
getQueryTimeout
().
getSeconds
());
}
return
jdbcTemplate
;
}
@Bean
@ConfigurationProperties
(
prefix
=
"spring.speed.sqlserver"
)
DataSource
speedSqlServerDatasource
()
{
return
DataSourceBuilder
.
create
().
build
();
}
@Bean
JdbcTemplate
speedSqlServerJdbcTemplate
(
JdbcProperties
properties
)
{
JdbcTemplate
jdbcTemplate
=
new
JdbcTemplate
(
speedSqlServerDatasource
());
JdbcProperties
.
Template
template
=
properties
.
getTemplate
();
jdbcTemplate
.
setFetchSize
(
template
.
getFetchSize
());
jdbcTemplate
.
setMaxRows
(
template
.
getMaxRows
());
if
(
template
.
getQueryTimeout
()
!=
null
)
{
jdbcTemplate
.
setQueryTimeout
((
int
)
template
.
getQueryTimeout
().
getSeconds
());
}
return
jdbcTemplate
;
}
@Bean
@ConfigurationProperties
(
prefix
=
"spring.torque.sqlserver"
)
DataSource
torqueSqlServerDatasource
()
{
return
DataSourceBuilder
.
create
().
build
();
}
@Bean
JdbcTemplate
torqueSqlServerJdbcTemplate
(
JdbcProperties
properties
)
{
JdbcTemplate
jdbcTemplate
=
new
JdbcTemplate
(
torqueSqlServerDatasource
());
JdbcProperties
.
Template
template
=
properties
.
getTemplate
();
jdbcTemplate
.
setFetchSize
(
template
.
getFetchSize
());
jdbcTemplate
.
setMaxRows
(
template
.
getMaxRows
());
...
...
src/main/java/net/vtstar/zhongtong/avi/global/config/MybatisMySQLConfig.java
View file @
5d730e1a
...
...
@@ -19,7 +19,9 @@ import javax.sql.DataSource;
basePackages
=
{
"net.vtstar.user.mapper"
,
"net.vtstar.scada.base.equipmgt.mapper"
,
"net.vtstar.zhongtong.avi.equipment.mapper"
"net.vtstar.zhongtong.avi.equipment.mapper"
,
"net.vtstar.zhongtong.avi.sqlserver.mapper"
,
"net.vtstar.zhongtong.avi.access.mapper"
},
sqlSessionFactoryRef
=
"sqlSessionFactoryMySQL"
)
public
class
MybatisMySQLConfig
{
...
...
src/main/java/net/vtstar/zhongtong/avi/global/config/MybatisSqlServerConfig.java
View file @
5d730e1a
...
...
@@ -8,7 +8,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.io.support.PathMatchingResourcePatternResolver
;
import
javax.sql.DataSource
;
...
...
@@ -19,13 +18,13 @@ import javax.sql.DataSource;
public
class
MybatisSqlServerConfig
{
@Autowired
@Qualifier
(
"
s
qlServerDatasource"
)
private
DataSource
s
qlServerDatasource
;
@Qualifier
(
"
testS
qlServerDatasource"
)
private
DataSource
testS
qlServerDatasource
;
@Bean
public
SqlSessionFactory
sqlSessionFactorySqlServer
()
throws
Exception
{
SqlSessionFactoryBean
factoryBean
=
new
SqlSessionFactoryBean
();
factoryBean
.
setDataSource
(
s
qlServerDatasource
);
factoryBean
.
setDataSource
(
testS
qlServerDatasource
);
//factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/sqlserver/*.xml"));
return
factoryBean
.
getObject
();
}
...
...
src/main/java/net/vtstar/zhongtong/avi/mqtt/handle/AbstractTesterMessageHandler.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
mqtt
.
handle
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.scada.base.mqtt.handler.BizMessageHandler
;
import
net.vtstar.scada.base.mqtt.utils.MqttConstants
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.messaging.Message
;
import
org.springframework.messaging.MessageHeaders
;
import
org.springframework.util.Assert
;
@Slf4j
public
abstract
class
AbstractTesterMessageHandler
implements
BizMessageHandler
,
InitializingBean
{
private
final
String
equipCode
;
private
final
String
topicType
;
public
AbstractTesterMessageHandler
(
String
equipCode
,
String
topicType
)
{
this
.
equipCode
=
equipCode
;
this
.
topicType
=
topicType
;
}
@Override
public
boolean
match
(
Message
<?>
message
)
{
MessageHeaders
headers
=
message
.
getHeaders
();
String
equipmentName
=
headers
.
get
(
MqttConstants
.
MSG_HEADER_KEY_EQUIPMENTNAME
,
String
.
class
);
String
type
=
headers
.
get
(
MqttConstants
.
MSG_HEADER_KEY_TOPICTYPE
,
String
.
class
);
return
this
.
equipCode
.
startsWith
(
equipmentName
)
&&
topicType
.
equals
(
type
);
}
@Override
public
void
afterPropertiesSet
()
{
Assert
.
notNull
(
topicType
,
"argument 'topicType' cannot be null"
);
Assert
.
notNull
(
equipCode
,
"argument 'equipType' cannot be null"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/mqtt/handle/RfidMessageHandler.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
mqtt
.
handle
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.scada.base.mqtt.utils.MqttConstants
;
import
org.springframework.data.redis.core.ListOperations
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.messaging.Message
;
import
org.springframework.messaging.MessageHeaders
;
import
org.springframework.messaging.MessagingException
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
@Slf4j
@Component
public
class
RfidMessageHandler
extends
AbstractTesterMessageHandler
{
@Resource
(
name
=
"redisTemplate"
)
private
ListOperations
listOperations
;
@Resource
(
name
=
"redisTemplate"
)
private
ValueOperations
valueOperations
;
public
RfidMessageHandler
()
{
super
(
"translation"
,
"data/all"
);
}
@Override
public
void
handleMessage
(
Message
<?>
message
)
throws
MessagingException
{
String
payload
=
(
String
)
message
.
getPayload
();
System
.
out
.
println
(
payload
);
MessageHeaders
headers
=
message
.
getHeaders
();
String
equipmentNumber
=
headers
.
get
(
MqttConstants
.
MSG_HEADER_KEY_EQUIPMENTNUMBER
,
String
.
class
);
/*try {
ChipCheckData data = new ChipCheckData();
data.setEquipCode(equipmentNumber);
data.setFangzuyi(new BigDecimal(payload).setScale(3, RoundingMode.HALF_UP));
data.setBeginTime(new Date());
log.info("方阻仪:" + data.getFangzuyi());
BaseKey baseKey = new BaseKey(ChipEquipType.FANGZUYI.getValue(), equipmentNumber);
listOperations.rightPush(baseKey.listKey(), data);
valueOperations.set(baseKey.lastKey(), data);
} catch (Exception e) {
log.error("handleMessage error:", e);
}*/
}
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/domain/AssemblyTorqueWrench.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
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
(
"总装车间车间--智能扭力扳手"
)
@Data
@Search
(
code
=
"INTELLIGENT_TORQUE_WRENCH"
)
@Table
(
name
=
"assembly_torque_wrench"
)
public
class
AssemblyTorqueWrench
{
@Show
(
label
=
"单位"
)
@ApiModelProperty
(
notes
=
"单位"
)
@Column
(
name
=
"identifier"
)
@Search
private
String
identifier
;
@Show
(
label
=
"程序名称"
)
@ApiModelProperty
(
notes
=
"程序名称"
)
@Column
(
name
=
"ProgramName"
)
@Search
private
String
ProgramName
;
@Show
(
label
=
"程序版本时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
notes
=
"程序版本时间"
)
@Column
(
name
=
"ProgramDateTime"
)
private
Date
ProgramDateTime
;
@Show
(
label
=
"扭力"
)
@ApiModelProperty
(
notes
=
"扭力"
)
@Column
(
name
=
"FinalTorque"
)
private
Float
FinalTorque
;
@Show
(
label
=
"创建时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
notes
=
"创建时间"
)
@Column
(
name
=
"ResultDateTime"
)
private
Date
ResultDateTime
;
@Show
(
label
=
"整体状态"
)
@ApiModelProperty
(
notes
=
"整体状态"
)
@Column
(
name
=
"OverallStatus"
)
private
String
OverallStatus
;
@Show
(
label
=
"扭力状态"
)
@ApiModelProperty
(
notes
=
"扭力状态"
)
@Column
(
name
=
"TorqueStatus"
)
private
String
TorqueStatus
;
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/domain/TestLineResult.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
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/16 10:23
*/
@ApiModel
(
"试交车间--检测线"
)
@Data
@Search
(
code
=
"CHECK_LINE"
)
@Table
(
name
=
"test_line_result"
)
public
class
TestLineResult
{
@Show
(
label
=
"PID"
)
@ApiModelProperty
(
notes
=
"PID"
)
@Column
(
name
=
"PID"
)
@Search
private
String
PID
;
@Show
(
label
=
"VIN"
)
@ApiModelProperty
(
notes
=
"车身号"
)
@Column
(
name
=
"VIN"
)
@Search
private
String
VIN
;
@Show
(
label
=
"测试时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
notes
=
"测试时间"
)
@Column
(
name
=
"TEST_TIME"
)
private
Date
TEST_TIME
;
@Show
(
label
=
"一轴轴重"
)
@ApiModelProperty
(
notes
=
"一轴轴重"
)
@Column
(
name
=
"FST_WEIGHT"
)
private
Float
FST_WEIGHT
;
@Show
(
label
=
"二轴轴重"
)
@ApiModelProperty
(
notes
=
"二轴轴重"
)
@Column
(
name
=
"SEC_WEIGHT"
)
private
Float
SEC_WEIGHT
;
@Show
(
label
=
"总轴重"
)
@ApiModelProperty
(
notes
=
"总轴重"
)
@Column
(
name
=
"TOTAL_WEIGHT"
)
private
Float
TOTAL_WEIGHT
;
@Show
(
label
=
"一轴最大制动力(左)"
)
@ApiModelProperty
(
notes
=
"一轴最大制动力(左)"
)
@Column
(
name
=
"FST_LBRAKE_FORCE"
)
private
Float
FST_LBRAKE_FORCE
;
@Show
(
label
=
"一轴最大制动力(右)"
)
@ApiModelProperty
(
notes
=
"一轴最大制动力(右)"
)
@Column
(
name
=
"FST_RBRAKE_FORCE"
)
private
Float
FST_RBRAKE_FORCE
;
@Show
(
label
=
"二轴最大制动力(左)"
)
@ApiModelProperty
(
notes
=
"二轴最大制动力(左)"
)
@Column
(
name
=
"SEC_LBRAKE_FORCE"
)
private
Float
SEC_LBRAKE_FORCE
;
@Show
(
label
=
"二轴最大制动力(右)"
)
@ApiModelProperty
(
notes
=
"二轴最大制动力(右)"
)
@Column
(
name
=
"SEC_RBRAKE_FORCE"
)
private
Float
SEC_RBRAKE_FORCE
;
@Show
(
label
=
"喇叭声级"
)
@ApiModelProperty
(
notes
=
"声级"
)
@Column
(
name
=
"SPEAKER"
)
private
Float
SPEAKER
;
@Show
(
label
=
"远光发光强度/cd(左主灯)"
)
@ApiModelProperty
(
notes
=
"远光发光强度/cd(左主灯)"
)
@Column
(
name
=
"LAMP_LEFT_LUM"
)
private
Float
LAMP_LEFT_LUM
;
@Show
(
label
=
"远光发光强度/cd(右主灯)"
)
@ApiModelProperty
(
notes
=
"远光发光强度/cd(右主灯)"
)
@Column
(
name
=
"LAMP_RIGHT_LUM"
)
private
Float
LAMP_RIGHT_LUM
;
@Show
(
label
=
"排放-汽油-高怠速CO(%)"
)
@ApiModelProperty
(
notes
=
"排放-汽油-高怠速CO(%)"
)
@Column
(
name
=
"GAS_HICO"
)
private
Float
GAS_HICO
;
@Show
(
label
=
"排放-汽油-高怠速HC(ppm)"
)
@ApiModelProperty
(
notes
=
"排放-汽油-高怠速HC(ppm)"
)
@Column
(
name
=
"GAS_HIHC"
)
private
Float
GAS_HIHC
;
@Show
(
label
=
"排放-汽油-怠速CO(%)"
)
@ApiModelProperty
(
notes
=
"排放-汽油-怠速CO(%)"
)
@Column
(
name
=
"GAS_LOWCO"
)
private
Float
GAS_LOWCO
;
@Show
(
label
=
"排放-汽油-怠速HC(ppm)"
)
@ApiModelProperty
(
notes
=
"排放-汽油-怠速HC(ppm)"
)
@Column
(
name
=
"GAS_LOWHC"
)
private
Float
GAS_LOWHC
;
@Show
(
label
=
"排放-柴油-平均光吸收系数"
)
@ApiModelProperty
(
notes
=
"排放-柴油-平均光吸收系数"
)
@Column
(
name
=
"SMOKE_AVER"
)
private
Float
SMOKE_AVER
;
@Show
(
label
=
"速度"
)
@ApiModelProperty
(
notes
=
"速度"
)
@Column
(
name
=
"SPEED"
)
private
Float
SPEED
;
@Show
(
label
=
"侧滑阻尼值"
)
@ApiModelProperty
(
notes
=
"侧滑阻尼值"
)
@Column
(
name
=
"SIDESLIP"
)
private
Float
SIDESLIP
;
@Show
(
label
=
"检测结果"
)
@ApiModelProperty
(
notes
=
"检测结果"
)
@Column
(
name
=
"TEST_RESULT"
)
private
String
TEST_RESULT
;
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/domain/TestSpeedResult.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
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/16 10:23
*/
@ApiModel
(
"试交车间--动静态检测(限速值,错误帧)"
)
@Data
@Search
(
code
=
"DYNAMIC_STATIC_TEST"
)
@Table
(
name
=
"test_speed_result"
)
public
class
TestSpeedResult
{
@Show
(
label
=
"VIN"
)
@ApiModelProperty
(
notes
=
"vin"
)
@Column
(
name
=
"vin"
)
@Search
private
String
vin
;
@Show
(
label
=
"厂牌型号"
)
@ApiModelProperty
(
notes
=
"厂牌型号"
)
@Column
(
name
=
"MODEL_ID"
)
private
String
MODEL_ID
;
@Show
(
label
=
"测试时间"
,
dataType
=
FieldType
.
DATETIME
)
@ApiModelProperty
(
notes
=
"测试时间"
)
@Column
(
name
=
"test_date"
)
private
Date
testDate
;
@Show
(
label
=
"限速值"
)
@ApiModelProperty
(
notes
=
"限速值"
)
@Column
(
name
=
"SPEED_MAX"
)
private
Float
SPEED_MAX
;
@Show
(
label
=
"速度下限"
)
@ApiModelProperty
(
notes
=
"速度下限"
)
@Column
(
name
=
"SPEED_XSBZ0"
)
private
Float
SPEED_XSBZ0
;
@Show
(
label
=
"速度上限"
)
@ApiModelProperty
(
notes
=
"速度上限"
)
@Column
(
name
=
"SPEED_XSBZ1"
)
private
Float
SPEED_XSBZ1
;
@Show
(
label
=
"错误帧"
)
@ApiModelProperty
(
notes
=
"错误帧"
)
@Column
(
name
=
"error_frame"
)
private
Float
error_frame
;
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/job/AssemblyTorqueWrenchJob.java
0 → 100644
View file @
5d730e1a
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.DateUtils
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.AssemblyTorqueWrench
;
import
net.vtstar.zhongtong.avi.sqlserver.mapper.AssemblyTorqueWrenchMapper
;
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
;
/**
* 总装车间--智能扭力扳手同步数据
* @Author: xiadongwei
* @Date: 2019/10/16 18:20
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
AssemblyTorqueWrenchJob
extends
QuartzJobBean
{
@Resource
(
name
=
"torqueSqlServerJdbcTemplate"
)
private
JdbcTemplate
torqueSqlServerJdbcTemplate
;
@Autowired
private
AssemblyTorqueWrenchMapper
assemblyTorqueWrenchMapper
;
@Value
(
"${zt.ip.assemblytorquewrench}"
)
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: {}失败, 此次同步总装车间智能扭力扳手数据操作结束!"
,
ipAddress
);
return
;
}
log
.
info
(
"--------开始同步总装车间智能扭力扳手数据--------"
);
Date
startOfDay
=
DateUtils
.
getStartOfDay
(
0
);
String
dateString
=
DateUtils
.
parseDateToString
(
startOfDay
,
"yyyy-MM-dd HH:mm:ss"
);
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"SELECT Result.ID AS ResultID, Result.ResultDateTime, rstoverall.LanguageConstant AS OverallStatus, "
+
"rsttorque.LanguageConstant AS TorqueStatus, ResultTightening.FinalTorque, Program.Name AS ProgramName, "
+
"Program.ProgramDateTime, Unit.Identifier "
+
"FROM Result "
+
"INNER JOIN ResultStatusType AS rstoverall ON Result.ResultStatusTypeID = rstoverall.ID "
+
"INNER JOIN ResultTightening ON Result.ID = ResultTightening.ResultID "
+
"INNER JOIN ResultStatusType AS rsttorque ON ResultTightening.FinalTorqueStatusID = rsttorque.ID "
+
"INNER JOIN Program ON Result.ProgramID = Program.ID "
+
"INNER JOIN Unit ON Result.UnitID = Unit.ID WHERE ResultDateTime > '"
);
sql
.
append
(
dateString
);
sql
.
append
(
"'"
);
List
<
AssemblyTorqueWrench
>
query
=
torqueSqlServerJdbcTemplate
.
query
(
sql
.
toString
(),
(
rs
,
rowNum
)
->
{
AssemblyTorqueWrench
map
=
new
AssemblyTorqueWrench
();
map
.
setIdentifier
(
rs
.
getString
(
"Identifier"
));
map
.
setProgramName
(
rs
.
getString
(
"ProgramName"
));
map
.
setProgramDateTime
(
rs
.
getTimestamp
(
"ProgramDateTime"
));
map
.
setFinalTorque
(
rs
.
getFloat
(
"FinalTorque"
));
map
.
setResultDateTime
(
rs
.
getTimestamp
(
"ResultDateTime"
));
map
.
setOverallStatus
(
rs
.
getString
(
"OverallStatus"
));
map
.
setTorqueStatus
(
rs
.
getString
(
"TorqueStatus"
));
return
map
;
});
log
.
error
(
"总装车间智能扭力扳手查询到数据: {} 条"
,
query
.
size
());
if
(
CollectionUtils
.
isEmpty
(
query
))
{
//todo: ping通
log
.
error
(
"连接总装车间智能扭力扳手SQL SERVER失败!"
);
return
;
}
assemblyTorqueWrenchMapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"ResultDateTime"
,
Operation
.
GREATER_THAN
,
dateString
);
}},
AssemblyTorqueWrench
.
class
);
assemblyTorqueWrenchMapper
.
insertList
(
query
);
log
.
info
(
"--------同步总装车间智能扭力扳手数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/job/TestLineResultJob.java
0 → 100644
View file @
5d730e1a
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.DateUtils
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestLineResult
;
import
net.vtstar.zhongtong.avi.sqlserver.mapper.TestLineResultMapper
;
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
;
/**
* 试交车间--检测线同步数据
* @Author: xiadongwei
* @Date: 2019/10/16 18:20
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
TestLineResultJob
extends
QuartzJobBean
{
@Resource
(
name
=
"testSqlServerJdbcTemplate"
)
private
JdbcTemplate
testSqlServerJdbcTemplate
;
@Autowired
private
TestLineResultMapper
testLineResultMapper
;
@Value
(
"${zt.ip.testlineresult}"
)
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: {}失败, 此次同步试交车间检测线数据操作结束!"
,
ipAddress
);
return
;
}
log
.
info
(
"--------开始同步试交车间检测线数据--------"
);
Date
startOfDay
=
DateUtils
.
getStartOfDay
(
0
);
String
dateString
=
DateUtils
.
parseDateToString
(
startOfDay
,
"yyyy-MM-dd HH:mm:ss"
);
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"SELECT PID, VIN, TEST_TIME, FST_WEIGHT, SEC_WEIGHT, TOTAL_WEIGHT, FST_LBRAKE_FORCE, FST_RBRAKE_FORCE, "
+
"SEC_LBRAKE_FORCE, SEC_RBRAKE_FORCE, SPEAKER, LAMP_LEFT_LUM, LAMP_RIGHT_LUM, GAS_HICO, GAS_HIHC, "
+
"GAS_LOWCO, GAS_LOWHC, SMOKE_AVER, SPEED, SIDESLIP, TEST_RESULT FROM CARTEST_RECORD_RESULT WHERE TEST_TIME > '"
);
sql
.
append
(
dateString
);
sql
.
append
(
"'"
);
List
<
TestLineResult
>
query
=
testSqlServerJdbcTemplate
.
query
(
sql
.
toString
(),
(
rs
,
rowNum
)
->
{
TestLineResult
map
=
new
TestLineResult
();
map
.
setPID
(
rs
.
getString
(
"PID"
));
map
.
setVIN
(
rs
.
getString
(
"VIN"
));
map
.
setTEST_TIME
(
rs
.
getTimestamp
(
"TEST_TIME"
));
map
.
setFST_WEIGHT
(
rs
.
getFloat
(
"FST_WEIGHT"
));
map
.
setSEC_WEIGHT
(
rs
.
getFloat
(
"SEC_WEIGHT"
));
map
.
setTOTAL_WEIGHT
(
rs
.
getFloat
(
"TOTAL_WEIGHT"
));
map
.
setFST_LBRAKE_FORCE
(
rs
.
getFloat
(
"FST_LBRAKE_FORCE"
));
map
.
setFST_RBRAKE_FORCE
(
rs
.
getFloat
(
"FST_RBRAKE_FORCE"
));
map
.
setSEC_LBRAKE_FORCE
(
rs
.
getFloat
(
"SEC_LBRAKE_FORCE"
));
map
.
setSEC_RBRAKE_FORCE
(
rs
.
getFloat
(
"SEC_RBRAKE_FORCE"
));
map
.
setSPEAKER
(
rs
.
getFloat
(
"SPEAKER"
));
map
.
setLAMP_LEFT_LUM
(
rs
.
getFloat
(
"LAMP_LEFT_LUM"
));
map
.
setLAMP_RIGHT_LUM
(
rs
.
getFloat
(
"LAMP_RIGHT_LUM"
));
map
.
setGAS_HICO
(
rs
.
getFloat
(
"GAS_HICO"
));
map
.
setGAS_HIHC
(
rs
.
getFloat
(
"GAS_HIHC"
));
map
.
setGAS_LOWCO
(
rs
.
getFloat
(
"GAS_LOWCO"
));
map
.
setGAS_LOWHC
(
rs
.
getFloat
(
"GAS_LOWHC"
));
map
.
setSMOKE_AVER
(
rs
.
getFloat
(
"SMOKE_AVER"
));
map
.
setSPEED
(
rs
.
getFloat
(
"SPEED"
));
map
.
setSIDESLIP
(
rs
.
getFloat
(
"SIDESLIP"
));
map
.
setTEST_RESULT
(
rs
.
getString
(
"TEST_RESULT"
));
return
map
;
});
log
.
error
(
"检测线查询到数据: {} 条"
,
query
.
size
());
if
(
CollectionUtils
.
isEmpty
(
query
))
{
//todo: ping通
log
.
error
(
"连接检测线SQL SERVER失败!"
);
return
;
}
testLineResultMapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"TEST_TIME"
,
Operation
.
GREATER_THAN
,
dateString
);
}},
TestLineResult
.
class
);
testLineResultMapper
.
insertList
(
query
);
log
.
info
(
"--------同步试交车间检测线数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/job/TestSpeedJob.java
0 → 100644
View file @
5d730e1a
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.DateUtils
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestLineResult
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestSpeedResult
;
import
net.vtstar.zhongtong.avi.sqlserver.mapper.TestSpeedMapper
;
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
;
/**
* 试交车间--限速值同步数据
* @Author: xiadongwei
* @Date: 2019/10/16 18:20
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public
class
TestSpeedJob
extends
QuartzJobBean
{
@Resource
(
name
=
"speedSqlServerJdbcTemplate"
)
private
JdbcTemplate
speedSqlServerJdbcTemplate
;
@Autowired
private
TestSpeedMapper
testSpeedMapper
;
@Value
(
"${zt.ip.testspeedresult}"
)
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: {}失败, 此次同步试交车间限速值数据操作结束!"
,
ipAddress
);
return
;
}
log
.
info
(
"--------开始同步试交车间限速值数据--------"
);
Date
startOfDay
=
DateUtils
.
getStartOfDay
(
0
);
String
dateString
=
DateUtils
.
parseDateToString
(
startOfDay
,
"yyyy-MM-dd HH:mm:ss"
);
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"SELECT vin, MODEL_ID, testDate, SPEED_MAX, SPEED_XSBZ0, SPEED_XSBZ1 FROM CARTEST_SPEED_RESULT WHERE testDate > '"
);
sql
.
append
(
dateString
);
sql
.
append
(
"'"
);
List
<
TestSpeedResult
>
query
=
speedSqlServerJdbcTemplate
.
query
(
sql
.
toString
(),
(
rs
,
rowNum
)
->
{
TestSpeedResult
map
=
new
TestSpeedResult
();
map
.
setVin
(
rs
.
getString
(
"vin"
));
map
.
setMODEL_ID
(
rs
.
getString
(
"MODEL_ID"
));
map
.
setTestDate
(
rs
.
getTimestamp
(
"testDate"
));
map
.
setSPEED_MAX
(
rs
.
getFloat
(
"SPEED_MAX"
));
map
.
setSPEED_XSBZ0
(
rs
.
getFloat
(
"SPEED_XSBZ0"
));
map
.
setSPEED_XSBZ1
(
rs
.
getFloat
(
"SPEED_XSBZ1"
));
return
map
;
});
log
.
error
(
"限速值查询到数据: {} 条"
,
query
.
size
());
if
(
CollectionUtils
.
isEmpty
(
query
))
{
//todo: ping通
log
.
error
(
"连接限速值SQL SERVER失败!"
);
return
;
}
testSpeedMapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"test_date"
,
Operation
.
GREATER_THAN
,
dateString
);
}},
TestLineResult
.
class
);
testSpeedMapper
.
insertList
(
query
);
log
.
info
(
"--------同步试交车间限速值数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/mapper/AssemblyTorqueWrenchMapper.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.AssemblyTorqueWrench
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author: xiadongwei
* @Date: 2019/10/16 18:04
*/
@Mapper
public
interface
AssemblyTorqueWrenchMapper
extends
BaseMapper
<
AssemblyTorqueWrench
>
{
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/mapper/TestLineResultMapper.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestLineResult
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author: xiadongwei
* @Date: 2019/10/16 18:04
*/
@Mapper
public
interface
TestLineResultMapper
extends
BaseMapper
<
TestLineResult
>
{
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/mapper/TestSpeedMapper.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
mapper
;
import
net.vtstar.user.mybatis.BaseMapper
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestSpeedResult
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author: xiadongwei
* @Date: 2019/10/16 18:04
*/
@Mapper
public
interface
TestSpeedMapper
extends
BaseMapper
<
TestSpeedResult
>
{
}
src/main/java/net/vtstar/zhongtong/avi/sqlserver/service/TestDeliverService.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
sqlserver
.
service
;
import
lombok.extern.slf4j.Slf4j
;
import
net.vtstar.user.mybatis.provider.Operation
;
import
net.vtstar.user.mybatis.provider.WhereFilter
;
import
net.vtstar.utils.DateUtils
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.AssemblyTorqueWrench
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestLineResult
;
import
net.vtstar.zhongtong.avi.sqlserver.domain.TestSpeedResult
;
import
net.vtstar.zhongtong.avi.sqlserver.mapper.AssemblyTorqueWrenchMapper
;
import
net.vtstar.zhongtong.avi.sqlserver.mapper.TestLineResultMapper
;
import
net.vtstar.zhongtong.avi.sqlserver.mapper.TestSpeedMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author: xiadongwei
* @Date: 2019/9/24 16:44
*/
@Slf4j
@Service
public
class
TestDeliverService
{
@Resource
(
name
=
"testSqlServerJdbcTemplate"
)
private
JdbcTemplate
testSqlServerJdbcTemplate
;
@Resource
(
name
=
"speedSqlServerJdbcTemplate"
)
private
JdbcTemplate
speedSqlServerJdbcTemplate
;
@Resource
(
name
=
"torqueSqlServerJdbcTemplate"
)
private
JdbcTemplate
torqueSqlServerJdbcTemplate
;
@Autowired
private
TestLineResultMapper
testLineResultMapper
;
@Autowired
private
TestSpeedMapper
testSpeedMapper
;
@Autowired
private
AssemblyTorqueWrenchMapper
assemblyTorqueWrenchMapper
;
public
void
tableTest
(
String
timeStr
)
{
log
.
error
(
DateUtils
.
parseDateToString
(
new
Date
(),
"HHmmss"
));
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"SELECT PID, VIN, TEST_TIME, FST_WEIGHT, SEC_WEIGHT, TOTAL_WEIGHT, FST_LBRAKE_FORCE, FST_RBRAKE_FORCE, "
+
"SEC_LBRAKE_FORCE, SEC_RBRAKE_FORCE, SPEAKER, LAMP_LEFT_LUM, LAMP_RIGHT_LUM, GAS_HICO, GAS_HIHC, "
+
"GAS_LOWCO, GAS_LOWHC, SMOKE_AVER, SPEED, SIDESLIP, TEST_RESULT FROM CARTEST_RECORD_RESULT WHERE TEST_TIME > '"
);
sql
.
append
(
timeStr
);
sql
.
append
(
"'"
);
List
<
TestLineResult
>
query
=
testSqlServerJdbcTemplate
.
query
(
sql
.
toString
(),
(
rs
,
rowNum
)
->
{
TestLineResult
map
=
new
TestLineResult
();
map
.
setPID
(
rs
.
getString
(
"PID"
));
map
.
setVIN
(
rs
.
getString
(
"VIN"
));
map
.
setTEST_TIME
(
rs
.
getTimestamp
(
"TEST_TIME"
));
map
.
setFST_WEIGHT
(
rs
.
getFloat
(
"FST_WEIGHT"
));
map
.
setSEC_WEIGHT
(
rs
.
getFloat
(
"SEC_WEIGHT"
));
map
.
setTOTAL_WEIGHT
(
rs
.
getFloat
(
"TOTAL_WEIGHT"
));
map
.
setFST_LBRAKE_FORCE
(
rs
.
getFloat
(
"FST_LBRAKE_FORCE"
));
map
.
setFST_RBRAKE_FORCE
(
rs
.
getFloat
(
"FST_RBRAKE_FORCE"
));
map
.
setSEC_LBRAKE_FORCE
(
rs
.
getFloat
(
"SEC_LBRAKE_FORCE"
));
map
.
setSEC_RBRAKE_FORCE
(
rs
.
getFloat
(
"SEC_RBRAKE_FORCE"
));
map
.
setSPEAKER
(
rs
.
getFloat
(
"SPEAKER"
));
map
.
setLAMP_LEFT_LUM
(
rs
.
getFloat
(
"LAMP_LEFT_LUM"
));
map
.
setLAMP_RIGHT_LUM
(
rs
.
getFloat
(
"LAMP_RIGHT_LUM"
));
map
.
setGAS_HICO
(
rs
.
getFloat
(
"GAS_HICO"
));
map
.
setGAS_HIHC
(
rs
.
getFloat
(
"GAS_HIHC"
));
map
.
setGAS_LOWCO
(
rs
.
getFloat
(
"GAS_LOWCO"
));
map
.
setGAS_LOWHC
(
rs
.
getFloat
(
"GAS_LOWHC"
));
map
.
setSMOKE_AVER
(
rs
.
getFloat
(
"SMOKE_AVER"
));
map
.
setSPEED
(
rs
.
getFloat
(
"SPEED"
));
map
.
setSIDESLIP
(
rs
.
getFloat
(
"SIDESLIP"
));
map
.
setTEST_RESULT
(
rs
.
getString
(
"TEST_RESULT"
));
return
map
;
});
log
.
error
(
"检测线查询到数据: {} 条"
,
query
.
size
());
if
(
CollectionUtils
.
isEmpty
(
query
))
{
//todo: ping通
log
.
error
(
"连接SQL SERVER失败!"
);
return
;
}
testLineResultMapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"TEST_TIME"
,
Operation
.
GREATER_THAN
,
timeStr
);
}},
TestLineResult
.
class
);
testLineResultMapper
.
insertList
(
query
);
log
.
error
(
DateUtils
.
parseDateToString
(
new
Date
(),
"HHmmss"
));
}
public
void
tableWrench
(
String
timeStr
)
{
log
.
info
(
"--------开始同步试交车间限速值数据--------"
);
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"SELECT vin, MODEL_ID, testDate, SPEED_MAX, SPEED_XSBZ0, SPEED_XSBZ1 FROM CARTEST_SPEED_RESULT WHERE testDate > '"
);
sql
.
append
(
timeStr
);
sql
.
append
(
"'"
);
List
<
TestSpeedResult
>
query
=
speedSqlServerJdbcTemplate
.
query
(
sql
.
toString
(),
(
rs
,
rowNum
)
->
{
TestSpeedResult
map
=
new
TestSpeedResult
();
map
.
setVin
(
rs
.
getString
(
"vin"
));
map
.
setMODEL_ID
(
rs
.
getString
(
"MODEL_ID"
));
map
.
setTestDate
(
rs
.
getTimestamp
(
"testDate"
));
map
.
setSPEED_MAX
(
rs
.
getFloat
(
"SPEED_MAX"
));
map
.
setSPEED_XSBZ0
(
rs
.
getFloat
(
"SPEED_XSBZ0"
));
map
.
setSPEED_XSBZ1
(
rs
.
getFloat
(
"SPEED_XSBZ1"
));
return
map
;
});
log
.
error
(
"检测线查询到数据: {} 条"
,
query
.
size
());
if
(
CollectionUtils
.
isEmpty
(
query
))
{
//todo: ping通
log
.
error
(
"连接SQL SERVER失败!"
);
return
;
}
testSpeedMapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"test_date"
,
Operation
.
GREATER_THAN
,
timeStr
);
}},
TestSpeedResult
.
class
);
testSpeedMapper
.
insertList
(
query
);
log
.
info
(
"--------同步试交车间限速值数据结束--------"
);
}
public
void
tabletorque
(
String
timeStr
)
{
log
.
info
(
"--------开始同步总装车间智能扭力扳手数据--------"
);
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"SELECT Result.ID AS ResultID, Result.ResultDateTime, rstoverall.LanguageConstant AS OverallStatus, "
+
"rsttorque.LanguageConstant AS TorqueStatus, ResultTightening.FinalTorque, Program.Name AS ProgramName, "
+
"Program.ProgramDateTime, Unit.Identifier "
+
"FROM Result "
+
"INNER JOIN ResultStatusType AS rstoverall ON Result.ResultStatusTypeID = rstoverall.ID "
+
"INNER JOIN ResultTightening ON Result.ID = ResultTightening.ResultID "
+
"INNER JOIN ResultStatusType AS rsttorque ON ResultTightening.FinalTorqueStatusID = rsttorque.ID "
+
"INNER JOIN Program ON Result.ProgramID = Program.ID "
+
"INNER JOIN Unit ON Result.UnitID = Unit.ID WHERE ResultDateTime > '"
);
sql
.
append
(
timeStr
);
sql
.
append
(
"'"
);
List
<
AssemblyTorqueWrench
>
query
=
torqueSqlServerJdbcTemplate
.
query
(
sql
.
toString
(),
(
rs
,
rowNum
)
->
{
AssemblyTorqueWrench
map
=
new
AssemblyTorqueWrench
();
map
.
setIdentifier
(
rs
.
getString
(
"Identifier"
));
map
.
setProgramName
(
rs
.
getString
(
"ProgramName"
));
map
.
setProgramDateTime
(
rs
.
getTimestamp
(
"ProgramDateTime"
));
map
.
setFinalTorque
(
rs
.
getFloat
(
"FinalTorque"
));
map
.
setResultDateTime
(
rs
.
getTimestamp
(
"ResultDateTime"
));
map
.
setOverallStatus
(
rs
.
getString
(
"OverallStatus"
));
map
.
setTorqueStatus
(
rs
.
getString
(
"TorqueStatus"
));
return
map
;
});
log
.
error
(
"总装车间智能扭力扳手查询到数据: {} 条"
,
query
.
size
());
if
(
CollectionUtils
.
isEmpty
(
query
))
{
//todo: ping通
log
.
error
(
"连接总装车间智能扭力扳手SQL SERVER失败!"
);
return
;
}
assemblyTorqueWrenchMapper
.
delByFilter
(
new
WhereFilter
()
{{
addFilter
(
"ResultDateTime"
,
Operation
.
GREATER_THAN
,
timeStr
);
}},
TestSpeedResult
.
class
);
assemblyTorqueWrenchMapper
.
insertList
(
query
);
log
.
info
(
"--------同步总装车间智能扭力扳手数据结束--------"
);
}
}
src/main/java/net/vtstar/zhongtong/avi/utils/GetFileName.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
utils
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
/**
* @Author: xiadongwei
* @Date: 2019/10/10 17:48
*/
public
class
GetFileName
{
public
static
String
[]
getFileName
(
String
path
)
{
File
file
=
new
File
(
path
);
String
[]
fileName
=
file
.
list
();
return
fileName
;
}
public
static
void
getAllFileName
(
String
path
,
ArrayList
<
String
>
fileName
)
{
File
file
=
new
File
(
path
);
File
[]
files
=
file
.
listFiles
();
String
[]
names
=
file
.
list
();
if
(
names
!=
null
)
{
fileName
.
addAll
(
Arrays
.
asList
(
names
));
}
for
(
File
a
:
files
)
{
if
(
a
.
isDirectory
())
{
getAllFileName
(
a
.
getAbsolutePath
(),
fileName
);
}
}
}
public
static
void
main
(
String
[]
args
)
{
String
[]
fileName
=
getFileName
(
"D:\\"
);
for
(
String
name
:
fileName
)
{
System
.
out
.
println
(
name
);
}
System
.
out
.
println
(
"--------------------------------"
);
// ArrayList<String> listFileName = new ArrayList<String>();
// getAllFileName("F:\\xiaoshuo", listFileName);
// for (String name : listFileName) {
// System.out.println(name);
// }
}
}
\ No newline at end of file
src/main/java/net/vtstar/zhongtong/avi/utils/PingIpUtils.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
utils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
/**
* @Author: xiadongwei
* @Date: 2019/10/17 17:42
*/
@Slf4j
public
class
PingIpUtils
{
/**
* @param ipAddress ip地址
* @param pingTimes 次数(一次ping,对方返回的ping的结果的次数)
* @param timeOut 超时时间 单位ms(ping不通,设置的此次ping结束时间)
* @return
*/
public
static
boolean
ping
(
String
ipAddress
,
int
pingTimes
,
int
timeOut
)
{
BufferedReader
in
=
null
;
String
pingCommand
=
null
;
Runtime
r
=
Runtime
.
getRuntime
();
String
osName
=
System
.
getProperty
(
"os.name"
);
log
.
info
(
"项目所在系统是:"
+
osName
);
if
(
osName
.
contains
(
"Windows"
)){
//将要执行的ping命令,此命令是windows格式的命令
pingCommand
=
"ping "
+
ipAddress
+
" -n "
+
pingTimes
+
" -w "
+
timeOut
;
}
else
{
//将要执行的ping命令,此命令是Linux格式的命令
//-c:次数,-w:超时时间(单位/ms) ping -c 10 -w 0.5 192.168.120.206
pingCommand
=
"ping "
+
" -c "
+
"4"
+
" -w "
+
"2 "
+
ipAddress
;
}
try
{
//执行命令并获取输出
Process
p
=
r
.
exec
(
pingCommand
);
if
(
p
==
null
)
{
return
false
;
}
in
=
new
BufferedReader
(
new
InputStreamReader
(
p
.
getInputStream
()));
int
connectedCount
=
0
;
String
line
=
null
;
while
((
line
=
in
.
readLine
())
!=
null
)
{
connectedCount
+=
getCheckResult
(
line
,
osName
);
}
//如果出现类似=23 ms ttl=64(TTL=64 Windows)这样的字样,出现的次数=测试次数则返回真
//return connectedCount == pingTimes;
log
.
info
(
"ping通设备IP :{}的次数为:"
+
connectedCount
,
ipAddress
);
return
connectedCount
>=
2
?
true
:
false
;
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
//出现异常则返回假
return
false
;
}
finally
{
try
{
in
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
//若line含有=18 ms ttl=64字样,说明已经ping通,返回1,否則返回0.
private
static
int
getCheckResult
(
String
line
,
String
osName
)
{
if
(
osName
.
contains
(
"Windows"
)){
if
(
line
.
contains
(
"TTL="
)){
return
1
;
}
}
else
{
if
(
line
.
contains
(
"ttl="
)){
return
1
;
}
}
return
0
;
}
public
static
void
main
(
String
[]
args
)
{
String
ipAddress
=
"10.100.172.150"
;
String
osName
=
System
.
getProperty
(
"os.name"
);
System
.
out
.
println
(
osName
);
System
.
out
.
println
(
ping
(
ipAddress
,
1
,
1000
));
}
}
src/main/java/net/vtstar/zhongtong/avi/utils/SmbFileUtil.java
0 → 100644
View file @
5d730e1a
package
net
.
vtstar
.
zhongtong
.
avi
.
utils
;
import
jcifs.smb.SmbFile
;
import
jcifs.smb.SmbFileInputStream
;
import
jcifs.smb.SmbFileOutputStream
;
import
java.io.*
;
/**
* 远程共享文件访问(上传、下发)
*
* @Author: xiadongwei
* @Date: 2019/10/11 10:40
*/
public
class
SmbFileUtil
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
//smb://xxx:xxx@192.168.2.188/testIndex/
//xxx:xxx是共享机器的用户名密码
String
url
=
"smb://wanteng:wanteng@192.168.43.158/Music/"
;
SmbFile
file
=
new
SmbFile
(
url
);
if
(
file
.
exists
())
{
SmbFile
[]
files
=
file
.
listFiles
();
for
(
SmbFile
f
:
files
)
{
System
.
out
.
println
(
f
.
getName
());
}
}
// smbGet("smb://C1307890:Ivo123@10.20.2.33/CIMPublic/02 MES/SPC/Spc_Check_IVO_V1_00.ppt", "D:/ap_log");
// smbPut("smb://wanteng:wanteng@192.168.43.158/d$/英雄时刻/", "D:/error.xls");
}
// 从共享目录下载文件
public
static
void
smbGet
(
String
remoteUrl
,
String
localDir
)
{
InputStream
in
=
null
;
OutputStream
out
=
null
;
try
{
SmbFile
remoteFile
=
new
SmbFile
(
remoteUrl
);
if
(
remoteFile
==
null
)
{
System
.
out
.
println
(
"共享文件不存在"
);
return
;
}
String
fileName
=
remoteFile
.
getName
();
File
localFile
=
new
File
(
localDir
+
File
.
separator
+
fileName
);
in
=
new
BufferedInputStream
(
new
SmbFileInputStream
(
remoteFile
));
out
=
new
BufferedOutputStream
(
new
FileOutputStream
(
localFile
));
byte
[]
buffer
=
new
byte
[
1024
];
while
(
in
.
read
(
buffer
)
!=
-
1
)
{
out
.
write
(
buffer
);
buffer
=
new
byte
[
1024
];
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
out
.
close
();
in
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
//向共享目录上传文件
public
static
void
smbPut
(
String
remoteUrl
,
String
localFilePath
)
{
InputStream
in
=
null
;
OutputStream
out
=
null
;
try
{
File
localFile
=
new
File
(
localFilePath
);
String
fileName
=
localFile
.
getName
();
SmbFile
remoteFile
=
new
SmbFile
(
remoteUrl
+
"/"
+
fileName
);
in
=
new
BufferedInputStream
(
new
FileInputStream
(
localFile
));
out
=
new
BufferedOutputStream
(
new
SmbFileOutputStream
(
remoteFile
));
byte
[]
buffer
=
new
byte
[
1024
];
while
(
in
.
read
(
buffer
)
!=
-
1
)
{
out
.
write
(
buffer
);
buffer
=
new
byte
[
1024
];
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
out
.
close
();
in
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
src/main/resources/config/application-dev.properties
View file @
5d730e1a
spring.profiles.include
=
mybatis,quartz,swagger,security
spring.profiles.include
=
mybatis,quartz,swagger,security
,ztip,mqtt
# Mysql
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
...
...
src/main/resources/config/application-mqtt.properties
View file @
5d730e1a
# Mqtt
mqtt.server-uri
=
tcp://127.0.0.1:1883
mqtt.connection-timeout-second
=
10
mqtt.username
=
huaying
mqtt.password
=
huaying-2018
mqtt.username
=
admin
mqtt.password
=
public
#\u56FA\u5B9AclientId\uFF0Cclean-session=false\uFF0C\u53EF\u63A5\u6536\u79BB\u7EBF\u6D88\u606F\uFF0C\u96C6\u7FA4\u90E8\u7F72\u65F6clientId\u4E0D\u53EF\u91CD\u590D
#mqtt.clean-session=false
#mqtt.subscribe.clientId=VTS-huaying
...
...
@@ -16,7 +16,27 @@ mqtt.subscribe.data-system-topic-suffix=system
mqtt.subscribe.data-alarm-topic-suffix
=
alarm
mqtt.subscribe.data-all-topic-suffix
=
all
mqtt.subscribe.topics
=
\
$local/$queue/${mqtt.subscribe.topic-prefix}/${mqtt.subscribe.equipment-name}/${mqtt.subscribe.equipment-number}/${mqtt.subscribe.data-topic-key}/${mqtt.subscribe.data-all-topic-suffix},
\
iot/testmachine/+/data/result,
\
iot/testmachine/+/data/key,
\
iot/testmachine/+/data/alarm
ZT/translation/rfid01/data/all,
\
ZT/translation/rfid02/data/all,
\
ZT/translation/rfid03/data/all,
\
ZT/translation/rfid04/data/all,
\
ZT/translation/rfid05/data/all,
\
ZT/translation/rfid06/data/all,
\
ZT/translation/rfid07/data/all,
\
ZT/translation/rfid08/data/all,
\
ZT/translation/rfid09/data/all,
\
ZT/translation/rfid10/data/all,
\
ZT/translation/rfid11/data/all,
\
ZT/translation/rfid12/data/all,
\
ZT/translation/rfid13/data/all,
\
ZT/skid/rfid01/data/all,
\
ZT/skid/rfid02/data/all,
\
ZT/skid/rfid03/data/all,
\
ZT/skid/rfid04/data/all,
\
ZT/skid/rfid05/data/all,
\
ZT/skid/rfid06/data/all,
\
ZT/skid/rfid07/data/all,
\
ZT/skid/rfid08/data/all,
\
ZT/skid/rfid09/data/all,
\
ZT/skid/rfid10/data/all,
\
ZT/skid/rfid11/data/all
src/main/resources/config/application-quartz.properties
View file @
5d730e1a
...
...
@@ -39,6 +39,41 @@ quartz.job.taskInfos[2].jobDescription=\u8ba1\u7b97\u8fd0\u884c\u65f6\u95f4Job
quartz.job.taskInfos[2]
.cronExpression
=
0 0 1 * * ?
quartz.job.taskInfos[2]
.start
=
false
#检测线
quartz.job.taskInfos[3]
.jobName
=
net.vtstar.zhongtong.avi.sqlserver.job.TestLineResultJob
quartz.job.taskInfos[3]
.jobGroup
=
TestLineResultJob
quartz.job.taskInfos[3]
.jobDescription
=
\u
68c0
\u
6d4b
\u
7ebfJob
quartz.job.taskInfos[3]
.cronExpression
=
0 0/15 * * * ?
quartz.job.taskInfos[3]
.start
=
false
#限速值
quartz.job.taskInfos[4]
.jobName
=
net.vtstar.zhongtong.avi.sqlserver.job.TestSpeedResultJob
quartz.job.taskInfos[4]
.jobGroup
=
TestSpeedResultJob
quartz.job.taskInfos[4]
.jobDescription
=
\u9650\u
901f
\u
503cJob
quartz.job.taskInfos[4]
.cronExpression
=
0 0/15 * * * ?
quartz.job.taskInfos[4]
.start
=
false
#智能扭力扳手
quartz.job.taskInfos[5]
.jobName
=
net.vtstar.zhongtong.avi.sqlserver.job.AssemblyTorqueWrenchJob
quartz.job.taskInfos[5]
.jobGroup
=
AssemblyTorqueWrenchJob
quartz.job.taskInfos[5]
.jobDescription
=
\u
667a
\u
80fd
\u
626d
\u
529b
\u6273\u
624bJob
quartz.job.taskInfos[5]
.cronExpression
=
0 0/15 * * * ?
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]
.start
=
false
#四轮定位同步
quartz.job.taskInfos[7]
.jobName
=
net.vtstar.zhongtong.avi.access.job.WheelAlignmentJob
quartz.job.taskInfos[7]
.jobGroup
=
WheelAlignmentJob
quartz.job.taskInfos[7]
.jobDescription
=
\u
56db
\u
8f6e
\u
5b9a
\u
4f4dJob
quartz.job.taskInfos[7]
.cronExpression
=
0 0/15 * * * ?
quartz.job.taskInfos[7]
.start
=
false
#quartz.job.taskInfos[2].jobName=net.vtstar.scada.base.equipmgt.job.CleanEquipStatusJob
#quartz.job.taskInfos[2].jobGroup=CleanEquipStatusJob
#quartz.job.taskInfos[2].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
...
...
src/main/resources/config/application-xdw.properties
View file @
5d730e1a
spring.profiles.include
=
mybatis,quartz,swagger,security
spring.profiles.include
=
mybatis,quartz,swagger,security
,ztip,mqtt
# Mysql
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
...
...
@@ -7,20 +7,26 @@ spring.datasource.username=root
spring.datasource.password
=
123456
# redis
spring.redis.host
=
1
0.100.172.102
spring.redis.host
=
1
27.0.0.1
spring.redis.port
=
6379
spring.redis.password
=
# sql server
#spring.datasource
.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
##spring.datasource
.sqlserver.jdbc-url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CARTEST_ZTKC
##spring.datasource
.sqlserver.username=admin
##spring.datasource
.sqlserver.password=123456
# sql server
(试交车间--检测线192.168.1.200)
spring.test
.sqlserver.driver-class-name
=
com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.test
.sqlserver.jdbc-url
=
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CARTEST_ZTKC
spring.test
.sqlserver.username
=
admin
spring.test
.sqlserver.password
=
123456
# secondary datasource (MS SQL Server)
sqlserver.driver-class-name
=
com.microsoft.sqlserver.jdbc.SQLServerDriver
sqlserver.jdbc-url
=
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CARTEST_ZTKC
sqlserver.username
=
admin
sqlserver.password
=
123456
# sql server(试交车间--限速值)
spring.speed.sqlserver.driver-class-name
=
com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.speed.sqlserver.jdbc-url
=
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=localdb
spring.speed.sqlserver.username
=
admin
spring.speed.sqlserver.password
=
123456
# sql server(总装车间--智能扭力扳手)
spring.torque.sqlserver.driver-class-name
=
com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.torque.sqlserver.jdbc-url
=
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=AtlasCopco_ToolsNet_Database
spring.torque.sqlserver.username
=
admin
spring.torque.sqlserver.password
=
123456
server.port
=
8888
src/main/resources/config/application-ztip.properties
0 → 100644
View file @
5d730e1a
#中通设备ip表
#试交车间--检测线
zt.ip.testlineresult
=
10.100.172.150
#试交车间--限速值
zt.ip.testspeedresult
=
10.100.172.150
#总装车间--智能扭力扳手
zt.ip.assemblytorquewrench
=
10.100.172.150
#总装车间--新能源检测点1
zt.ip.assemblynewenergy1
=
10.1.25.128
#总装车间--新能源检测点2
zt.ip.assemblynewenergy2
=
10.1.25.129
#总装车间--新能源检测点3
zt.ip.assemblynewenergy3
=
10.1.25.130
#总装车间--新能源检测点4
zt.ip.assemblynewenergy4
=
10.1.25.131
#底盘车间--四轮定位1
zt.ip.wheelalignment1
=
10.1.25.85
#底盘车间--四轮定位2
zt.ip.wheelalignment2
=
10.1.25.86
#底盘车间--四轮定位3
zt.ip.wheelalignment3
=
10.1.25.87
zt.ip.pingtimes
=
2
zt.ip.timeout
=
1000
\ No newline at end of file
src/main/resources/lib/RSNetDevice-2.2.1.jar
0 → 100644
View file @
5d730e1a
File added
src/main/resources/lib/param.dat
0 → 100644
View file @
5d730e1a
File added
src/main/resources/mapper/mysql/AssemblyNewEnergyMapper.xml
0 → 100644
View file @
5d730e1a
<?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.access.mapper.AssemblyNewEnergyMapper"
>
</mapper>
\ No newline at end of file
src/main/resources/mapper/mysql/AssemblyTorqueWrenchMapper.xml
0 → 100644
View file @
5d730e1a
<?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.sqlserver.mapper.AssemblyTorqueWrenchMapper"
>
</mapper>
\ No newline at end of file
src/main/resources/mapper/mysql/TestLineResultMapper.xml
0 → 100644
View file @
5d730e1a
<?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.sqlserver.mapper.TestLineResultMapper"
>
</mapper>
\ No newline at end of file
src/main/resources/mapper/mysql/TestSpeedMapper.xml
0 → 100644
View file @
5d730e1a
<?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.sqlserver.mapper.TestSpeedMapper"
>
</mapper>
\ No newline at end of file
src/main/resources/mapper/mysql/WheelAlignmentMapper.xml
0 → 100644
View file @
5d730e1a
<?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.access.mapper.WheelAlignmentMapper"
>
</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