Commit 63789124 authored by 夏东伟's avatar 夏东伟

网关采集

parent bbf3cf15
...@@ -102,7 +102,12 @@ ...@@ -102,7 +102,12 @@
<artifactId>poi-ooxml</artifactId> <artifactId>poi-ooxml</artifactId>
<version>3.17</version> <version>3.17</version>
</dependency> </dependency>
<!--解析mdb文件--> <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<!--解析mdb文件-->
<!-- https://mvnrepository.com/artifact/com.healthmarketscience.jackcess/jackcess --> <!-- https://mvnrepository.com/artifact/com.healthmarketscience.jackcess/jackcess -->
<dependency> <dependency>
<groupId>com.healthmarketscience.jackcess</groupId> <groupId>com.healthmarketscience.jackcess</groupId>
...@@ -171,6 +176,17 @@ ...@@ -171,6 +176,17 @@
</compilerArguments> </compilerArguments>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>
package net.vtstar.zhongtong.avi.gateway.assembly.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("总装车间车间--离合油加注")
@Data
@Search(code = "CENTRALIZED_FILLING_CLUTCH")
@Table(name = "eqp_data_centralized_filling_clutch")
public class CentralizedFillingClutchMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "加注量(ml)")
@ApiModelProperty(notes = "加注量")
@Column(name = "filling_amount")
private Long fillingAmount;
@Show(label = "加注压力(bar)")
@ApiModelProperty(notes = "加注压力(bar)")
@Column(name = "filling_pressure")
private Integer fillingPressure;
@Show(label = "设备状态")
@Column(name = "state")
@ApiModelProperty(notes = "设备状态(0是关机,1是运行)")
private int state;
@Show(label = "时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.assembly.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("总装车间车间--地板革热熔涂胶设备")
@Data
@Search(code = "FLOOR_LEATHER_HOT")
@Table(name = "eqp_data_floor_leather_hot")
public class FloorLeatherHotMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "模头1区温度")
@ApiModelProperty(notes = "模头1区温度")
@Column(name = "die_temperature1")
private Integer dieTemperature1;
@Show(label = "模头2区温度")
@ApiModelProperty(notes = "模头2区温度")
@Column(name = "die_temperature2")
private Integer dieTemperature2;
@Show(label = "模头3区温度")
@ApiModelProperty(notes = "模头3区温度")
@Column(name = "die_temperature3")
private Integer dieTemperature3;
@Show(label = "模头4区温度")
@ApiModelProperty(notes = "模头4区温度")
@Column(name = "die_temperature4")
private Integer dieTemperature4;
@Show(label = "模头5区温度")
@ApiModelProperty(notes = "模头5区温度")
@Column(name = "die_temperature5")
private Integer dieTemperature5;
@Show(label = "模头6区温度")
@ApiModelProperty(notes = "模头6区温度")
@Column(name = "die_temperature6")
private Integer dieTemperature6;
@Show(label = "模头7区温度")
@ApiModelProperty(notes = "模头7区温度")
@Column(name = "die_temperature7")
private Integer dieTemperature7;
@Show(label = "模头8区温度")
@ApiModelProperty(notes = "模头8区温度")
@Column(name = "die_temperature8")
private Integer dieTemperature8;
@Show(label = "模头9区温度")
@ApiModelProperty(notes = "模头9区温度")
@Column(name = "die_temperature9")
private Integer dieTemperature9;
@Show(label = "模头10区温度")
@ApiModelProperty(notes = "模头10区温度")
@Column(name = "die_temperature10")
private Integer dieTemperature10;
@Show(label = "模头11区温度")
@ApiModelProperty(notes = "模头11区温度")
@Column(name = "die_temperature11")
private Integer dieTemperature11;
@Show(label = "当前产量")
@ApiModelProperty(notes = "当前产量")
@Column(name = "current_yield")
private Float currentYield;
@Show(label = "上胶量")
@ApiModelProperty(notes = "上胶量")
@Column(name = "gluing_amount")
private Float gluingAmount;
@Show(label = "设备状态")
@Column(name = "state")
@ApiModelProperty(notes = "设备状态(0是关机,1是运行)")
private int state;
@Show(label = "时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.assembly.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("总装车间车间--冷媒加注机")
@Data
@Search(code = "FOCUS_ADDING_REFRIGERANT")
@Table(name = "eqp_data_focus_adding_refrigerant")
public class FocusAddingRefrigerantMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "加注量(ml)")
@ApiModelProperty(notes = "加注量")
@Column(name = "filling_amount")
private Long fillingAmount;
@Show(label = "加注压力(Mpa)")
@ApiModelProperty(notes = "加注压力(Mpa)")
@Column(name = "filling_pressure")
private Integer fillingPressure;
@Show(label = "设备状态")
@Column(name = "state")
@ApiModelProperty(notes = "设备状态(0是关机,1是运行)")
private int state;
@Show(label = "时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.assembly.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("总装车间车间--助力油加注")
@Data
@Search(code = "FOCUS_BOOSTER_OIL")
@Table(name = "eqp_data_focus_booster_oil")
public class FocusBoosterOilMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "枪1加注量(ml)")
@ApiModelProperty(notes = "枪1加注量(ml)")
@Column(name = "filling_amount1")
private int fillingAmount1;
@Show(label = "枪2加注量(ml)")
@ApiModelProperty(notes = "枪2加注量(ml)")
@Column(name = "filling_amount2")
private int fillingAmount2;
@Show(label = "设备状态")
@Column(name = "state")
@ApiModelProperty(notes = "设备状态(0是关机,1是运行)")
private int state;
@Show(label = "时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.assembly.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.assembly.domain.CentralizedFillingClutchMachine;
import net.vtstar.zhongtong.avi.gateway.assembly.domain.FloorLeatherHotMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 离合油加注设备数据采集JOB
*/
@Slf4j
@Component
public class CentralizedFillingClutchMachineJob extends GatherJob {
private static final String NAME = "CENTRALIZED_FILLING_CLUTCH";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, CentralizedFillingClutchMachine.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
CentralizedFillingClutchMachine data = (CentralizedFillingClutchMachine) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
if ("fillingPressure".equals(fieldName)){
return Integer.valueOf(value.toString()) / 10;
}
return value;
}
}
package net.vtstar.zhongtong.avi.gateway.assembly.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.assembly.domain.FloorLeatherHotMachine;
import net.vtstar.zhongtong.avi.gateway.chassis.domain.ChassisTorqueWrench;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 地板革热熔涂胶设备数据采集JOB
*/
@Slf4j
@Component
public class FloorLeatherHotMachineJob extends GatherJob {
private static final String NAME = "FLOOR_LEATHER_HOT";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, FloorLeatherHotMachine.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
FloorLeatherHotMachine data = (FloorLeatherHotMachine) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
return value;
}
}
package net.vtstar.zhongtong.avi.gateway.assembly.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.assembly.domain.FocusAddingRefrigerantMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 冷媒加注机设备数据采集JOB
*/
@Slf4j
@Component
public class FocusAddingRefrigerantMachineJob extends GatherJob {
private static final String NAME = "FOCUS_ADDING_REFRIGERANT";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, FocusAddingRefrigerantMachine.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
FocusAddingRefrigerantMachine data = (FocusAddingRefrigerantMachine) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
return value;
}
}
package net.vtstar.zhongtong.avi.gateway.assembly.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.assembly.domain.FocusBoosterOilMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 助力油加注设备数据采集JOB
*/
@Slf4j
@Component
public class FocusBoosterOilMachineJob extends GatherJob {
private static final String NAME = "FOCUS_BOOSTER_OIL";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, FocusBoosterOilMachine.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
FocusBoosterOilMachine data = (FocusBoosterOilMachine) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
return value;
}
}
package net.vtstar.zhongtong.avi.gateway.chassis.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("底盘车间车间--智能扭力扳手")
@Data
@Search(code = "CHASSIS_TORQUE_WRENCH")
@Table(name = "eqp_data_chassis_torque_wrench")
public class ChassisTorqueWrench extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "一轴扭矩")
@ApiModelProperty(notes = "一轴扭矩")
@Column(name = "shaft_torque_1")
private Integer shaftTorque1;
@Show(label = "二轴扭矩")
@ApiModelProperty(notes = "二轴扭矩")
@Column(name = "shaft_torque_2")
private Integer shaftTorque2;
@Show(label = "三轴扭矩")
@ApiModelProperty(notes = "三轴扭矩")
@Column(name = "shaft_torque_3")
private Integer shaftTorque3;
@Show(label = "四轴扭矩")
@ApiModelProperty(notes = "四轴扭矩")
@Column(name = "shaft_torque_4")
private Integer shaftTorque4;
@Show(label = "设备状态")
@Column(name = "state")
@ApiModelProperty(notes = "设备状态(0是关机,1是运行)")
private int state;
@Show(label = "时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.chassis.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.chassis.domain.ChassisTorqueWrench;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 底盘车间智能扭力扳手数据采集JOB
*/
@Slf4j
@Component
public class ChassisTorqueMachineJob extends GatherJob {
private static final String NAME = "PAINTING_ROBOT";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, ChassisTorqueWrench.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
ChassisTorqueWrench data = (ChassisTorqueWrench) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
return value;
}
}
package net.vtstar.zhongtong.avi.gateway.welding.domain; package net.vtstar.zhongtong.avi.gateway.painting.domain;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -13,10 +13,10 @@ import javax.persistence.Table; ...@@ -13,10 +13,10 @@ import javax.persistence.Table;
import java.util.Date; import java.util.Date;
@Data @Data
@Search(code = "PLC_CONTROL_TIRE_1") @Search(code = "PAINTING_ROBOT")
@ApiModel("PLC数控合装胎") @ApiModel("喷涂机器人")
@Table(name = "eqp_data_control_tire") @Table(name = "eqp_data_painting_robot")
public class PlcControlTireMachine extends EquipmentData { public class PaintingRobotMachine extends EquipmentData {
@Show(label = "设备编号") @Show(label = "设备编号")
@Column(name = "eqp_code") @Column(name = "eqp_code")
...@@ -28,14 +28,19 @@ public class PlcControlTireMachine extends EquipmentData { ...@@ -28,14 +28,19 @@ public class PlcControlTireMachine extends EquipmentData {
@ApiModelProperty(notes = "设备名称") @ApiModelProperty(notes = "设备名称")
private String eqpName; private String eqpName;
@Show(label = "系统是否运行")
@Column(name = "run_state")
@ApiModelProperty(notes = "系统是否运行")
private int runState;
@Show(label = "系统是否报警") @Show(label = "系统是否报警")
@Column(name = "error_state") @Column(name = "error_state")
@ApiModelProperty(notes = "系统是否报警") @ApiModelProperty(notes = "系统是否报警")
private int errorState; private int errorState;
@Show(label = "系统是否运行") @Show(label = "系统状态")
@Column(name = "state") @Column(name = "state")
@ApiModelProperty(notes = "系统是否运行") @ApiModelProperty(notes = "系统状态")
private int state; private int state;
@Show(label = "时间",dataType = FieldType.DATETIME) @Show(label = "时间",dataType = FieldType.DATETIME)
......
package net.vtstar.zhongtong.avi.gateway.painting.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.scada.base.gather.job.GatherJob;
import net.vtstar.zhongtong.avi.gateway.painting.domain.PaintingRobotMachine;
import net.vtstar.zhongtong.avi.gateway.welding.domain.PlateChainMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 涂装机器人数据采集JOB
*/
@Slf4j
@Component
public class PaintingRobotMachineJob extends GatherJob {
private static final String NAME = "PAINTING_ROBOT";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, PaintingRobotMachine.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
PaintingRobotMachine data = (PaintingRobotMachine) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
return value;
}
}
package net.vtstar.zhongtong.avi.gateway.parts.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;
@Data
@Search(code = "WELDING_ROBOT")
@ApiModel("机器人焊接")
@Table(name = "eqp_data_welding_robot")
public class WeldingRobotMachine{
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "开机时间")
@Column(name = "turn_on_time")
@ApiModelProperty(notes = "开机时间")
private String turnOnTime;
@Show(label = "焊接时间")
@Column(name = "welding_time")
@ApiModelProperty(notes = "焊接时间")
private String weldingTime;
@Show(label = "时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
...@@ -5,7 +5,6 @@ import net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum; ...@@ -5,7 +5,6 @@ import net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum;
import net.vtstar.scada.base.gather.domain.EquipmentData; import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.scada.base.gather.job.GatherJob; import net.vtstar.scada.base.gather.job.GatherJob;
import net.vtstar.zhongtong.avi.gateway.parts.domain.DustingLineMachine; import net.vtstar.zhongtong.avi.gateway.parts.domain.DustingLineMachine;
import net.vtstar.zhongtong.avi.gateway.parts.domain.PretreatmentMachine;
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
......
package net.vtstar.zhongtong.avi.gateway.parts.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.protocol.modbus.tcp.netty.utils.NettyUtils;
import net.vtstar.protocol.modbus.tcp.netty.utils.PoolKey;
import net.vtstar.scada.base.global.service.ModbusService;
import net.vtstar.zhongtong.avi.gateway.parts.domain.WeldingRobotMachine;
import net.vtstar.zhongtong.avi.gateway.parts.mapper.WeldingRobotMapper;
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.scheduling.quartz.QuartzJobBean;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 制件焊接机器人数据采集JOB
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public class WeldingRobotMachineJob extends QuartzJobBean {
@Value("${zt.ip.weldingrobot1}")
private String ipAddress1;
@Value("${zt.ip.weldingrobot2}")
private String ipAddress2;
@Value("${zt.ip.weldingrobot3}")
private String ipAddress3;
@Value("${zt.ip.weldingrobot4}")
private String ipAddress4;
@Value("${zt.ip.pingtimes}")
private int pingTimes;
@Value("${zt.ip.timeout}")
private int timeOut;
@Autowired
private ModbusService service;
@Autowired
private WeldingRobotMapper mapper;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
List<String> ipAddressList = Arrays.asList(ipAddress1, ipAddress2, ipAddress3, ipAddress4);
for (String ipAddress : ipAddressList) {
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
log.error("ping: {}失败, 读取焊接机器人数据操作结束!", ipAddress);
return;
}
//1.获得当天日期,2.通过日期去查询当天的开机时间和焊接时间
Calendar calendar = Calendar.getInstance();
int date = calendar.get(Calendar.DATE);
PoolKey poolKey = NettyUtils.wrapPoolKey(ipAddress, 502);
try {
Object second = service.getSingleValue(poolKey, 1, date * 4 - 4, "Integer");
Object minute = service.getSingleValue(poolKey, 1, date * 4 - 3, "Integer");
Object hour = service.getSingleValue(poolKey, 1, date * 4 - 2, "Integer");
String turnOnTime = Integer.valueOf(hour.toString()) + "小时" + Integer.valueOf(minute.toString()) + "分" +
Integer.valueOf(second.toString()) + "秒";
Object secondWelding = service.getSingleValue(poolKey, 1, date * 4 - 4 + 300, "Integer");
Object minuteWelding = service.getSingleValue(poolKey, 1, date * 4 - 3 + 300, "Integer");
Object hourWelding = service.getSingleValue(poolKey, 1, date * 4 - 2 + 300, "Integer");
String weldingTime = Integer.valueOf(hourWelding.toString()) + "小时" + Integer.valueOf(minuteWelding.toString()) + "分" +
Integer.valueOf(secondWelding.toString()) + "秒";
WeldingRobotMachine machine = new WeldingRobotMachine();
machine.setEqpCode(ipAddress);
machine.setEqpName("焊接机器人");
machine.setTurnOnTime(turnOnTime);
machine.setWeldingTime(weldingTime);
machine.setCreateTime(new Date());
mapper.insert(machine);
} catch (Exception e) {
log.error("读取焊接机器人数据失败! e : {}", e.getMessage());
return;
}
}
}
}
package net.vtstar.zhongtong.avi.gateway.parts.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.gateway.parts.domain.WeldingRobotMachine;
import org.apache.ibatis.annotations.Mapper;
/**
* 制件焊接机器人
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface WeldingRobotMapper extends BaseMapper<WeldingRobotMachine> {
}
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("试交车间--充电桩")
@Data
@Search(code = "CHARGING_PILE")
@Table(name = "eqp_data_charging_pile")
public class ChargingPileMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "车辆编号")
@ApiModelProperty(notes = "车辆编号")
@Column(name = "bus_code")
private String busCode;
@Show(label = "输出电压(V)")
@ApiModelProperty(notes = "输出电压(V)")
@Column(name = "output_voltage")
private Float outputVoltage;
@Show(label = "输出电流(A)")
@ApiModelProperty(notes = "输出电流(A)")
@Column(name = "output_current")
private Float outputCurrent;
@Show(label = "直流电量")
@ApiModelProperty(notes = "直流电量")
@Column(name = "dc_power")
private Integer dcPower;
@Show(label = "使用电量")
@ApiModelProperty(notes = "使用电量")
@Column(name = "use_power")
private Float usePower;
@Show(label = "最高单体蓄电池温度")
@ApiModelProperty(notes = "最高单体蓄电池温度")
@Column(name = "max_temperature")
private Integer maxTemperature;
@Show(label = "最高单体蓄电池温度编号")
@ApiModelProperty(notes = "最高单体蓄电池温度编号")
@Column(name = "max_temperature_code")
private Integer maxTemperatureCode;
@Show(label = "最低单体蓄电池温度")
@ApiModelProperty(notes = "最低单体蓄电池温度")
@Column(name = "min_temperature")
private Integer minTemperature;
@Show(label = "最低单体蓄电池温度编号")
@ApiModelProperty(notes = "最低单体蓄电池温度编号")
@Column(name = "min_temperature_code")
private Integer minTemperatureCode;
@Show(label = "SOC(%)")
@ApiModelProperty(notes = "SOC(%)")
@Column(name = "soc")
private Integer soc;
@Show(label = "设备状态")
@Column(name = "state")
@ApiModelProperty(notes = "设备状态(0是关机,1是运行)")
private int state;
@Show(label = "时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
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.ChargingPileMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 试交车间充电桩设备数据采集JOB
*/
@Slf4j
@Component
public class ChargingPileMachineJob extends GatherJob {
private static final String NAME = "CHARGING_PILE";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, ChargingPileMachine.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
ChargingPileMachine data = (ChargingPileMachine) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
if ("outputVoltage".equals(fieldName) || "outputCurrent".equals(fieldName)){
return Integer.valueOf(value.toString()) / 10f;
}
if ("usePower".equals(fieldName)){
return Integer.valueOf(value.toString()) / 100f;
}
return value;
}
}
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 = "PLC_CONTROL_TIRE_1")
@ApiModel("PLC数控合装胎, 串口")
@Table(name = "eqp_data_control_tire_1")
public class PlcControlTireMachine1 extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "1#上车长宽")
@Column(name = "top_bus_width")
@ApiModelProperty(notes = "1#上车长宽")
private Float topBusWidth;
@Show(label = "1#上车长高")
@Column(name = "top_bus_height")
@ApiModelProperty(notes = "1#上车长高")
private Float topBusHeight;
@Show(label = "1#上车长长")
@Column(name = "top_bus_length")
@ApiModelProperty(notes = "1#上车长长")
private Float topBusLength;
@Show(label = "1#前围宽")
@Column(name = "front_bus_width")
@ApiModelProperty(notes = "1#前围宽")
private Float frontBusWidth;
@Show(label = "1#前围高")
@Column(name = "front_bus_height")
@ApiModelProperty(notes = "1#前围高")
private Float frontBusHeight;
@Show(label = "1#下车长宽")
@Column(name = "bottom_bus_width")
@ApiModelProperty(notes = "1#下车长宽")
private Float bottomBusWidth;
@Show(label = "1#下车长长")
@Column(name = "bottom_bus_length")
@ApiModelProperty(notes = "1#下车长长")
private Float bottomBusLength;
@Show(label = "窗立柱宽")
@Column(name = "column_width")
@ApiModelProperty(notes = "窗立柱宽")
private Float columnWidth;
@Show(label = "窗立柱高")
@Column(name = "column_height")
@ApiModelProperty(notes = "窗立柱高")
private Float columnHeight;
@Show(label = "窗下梁高")
@Column(name = "underbeam_heigth")
@ApiModelProperty(notes = "窗下梁高")
private Float underbeamHeigth;
@Show(label = "腰梁高")
@Column(name = "waist_heigth")
@ApiModelProperty(notes = "腰梁高")
private Float waistHeigth;
@Show(label = "地板高度")
@Column(name = "floor_height")
@ApiModelProperty(notes = "地板高度")
private Float floorHeight;
@Show(label = "裙边宽")
@Column(name = "skirt_width")
@ApiModelProperty(notes = "裙边宽")
private Float skirtWidth;
@Show(label = "车型宽")
@Column(name = "vehicle_width")
@ApiModelProperty(notes = "车型宽")
private Float vehicleWidth;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "系统运行(1,0)")
private Integer state;
}
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 javax.persistence.Column;
import javax.persistence.Table;
@Data
@Search(code = "PLC_CONTROL_TIRE_2")
@ApiModel("PLC数控合装胎, 网口")
@Table(name = "eqp_data_control_tire_2")
public class PlcControlTireMachine2 extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String eqpCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
private String eqpName;
@Show(label = "上梁宽")
@Column(name = "top_bus_width")
@ApiModelProperty(notes = "上梁宽")
private Float topBusWidth;
@Show(label = "上梁高")
@Column(name = "top_bus_height")
@ApiModelProperty(notes = "上梁高")
private Float topBusHeight;
@Show(label = "下梁宽")
@Column(name = "bottom_bus_width")
@ApiModelProperty(notes = "下梁宽")
private Float bottomBusWidth;
@Show(label = "上/下车长")
@Column(name = "bus_length")
@ApiModelProperty(notes = "上/下车长")
private Float busLength;
@Show(label = "上/下车宽")
@Column(name = "bus_width")
@ApiModelProperty(notes = "上/下车宽")
private Float busWidth;
@Show(label = "裙边宽")
@Column(name = "skirt_width")
@ApiModelProperty(notes = "裙边宽")
private Float skirtWidth;
@Show(label = "裙边高")
@Column(name = "skirt_height")
@ApiModelProperty(notes = "裙边高")
private Float skirtHeight;
@Show(label = "腰梁高")
@Column(name = "waist_height")
@ApiModelProperty(notes = "腰梁高")
private Float waistHeight;
@Show(label = "地盘高")
@Column(name = "site_height")
@ApiModelProperty(notes = "地盘高")
private Float siteHeight;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "系统运行(1,0)")
private Integer state;
}
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.PlcControlTireMachine1;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* PLC数控合装胎数据采集JOB
*/
@Slf4j
@Component
public class PlcControlTireMachine1Job extends GatherJob {
private static final String NAME = "PLC_CONTROL_TIRE_1";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, PlcControlTireMachine1.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
PlcControlTireMachine1 data = (PlcControlTireMachine1) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
if (!"state".equals(fieldName)){
return Long.valueOf(value.toString()) / 100f;
}
return value;
}
}
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.PlcControlTireMachine2;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* PLC数控合装胎数据采集JOB
*/
@Slf4j
@Component
public class PlcControlTireMachine2Job extends GatherJob {
private static final String NAME = "PLC_CONTROL_TIRE_2";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, PlcControlTireMachine2.class);
}
protected boolean handleObject(EquipmentData equipmentData) {
PlcControlTireMachine2 data = (PlcControlTireMachine2) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
}
switch (state) {
case 0:
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
return false;
}
return true;
}
@Override
protected Object handleValue(String fieldName, Object value) {
if (!"state".equals(fieldName)){
return Long.valueOf(value.toString()) / 100f;
}
return value;
}
}
...@@ -22,7 +22,8 @@ import javax.sql.DataSource; ...@@ -22,7 +22,8 @@ import javax.sql.DataSource;
"net.vtstar.zhongtong.avi.equipment.mapper", "net.vtstar.zhongtong.avi.equipment.mapper",
"net.vtstar.zhongtong.avi.sqlserver.mapper", "net.vtstar.zhongtong.avi.sqlserver.mapper",
"net.vtstar.zhongtong.avi.access.mapper", "net.vtstar.zhongtong.avi.access.mapper",
"net.vtstar.zhongtong.avi.laboratory.mapper" "net.vtstar.zhongtong.avi.laboratory.mapper",
"net.vtstar.zhongtong.avi.gateway.parts.mapper"
}, },
sqlSessionFactoryRef = "sqlSessionFactoryMySQL") sqlSessionFactoryRef = "sqlSessionFactoryMySQL")
public class MybatisMySQLConfig { public class MybatisMySQLConfig {
......
...@@ -20,15 +20,17 @@ public class ShowFieldController { ...@@ -20,15 +20,17 @@ public class ShowFieldController {
@Autowired @Autowired
private ShowFieldService showFieldService; private ShowFieldService showFieldService;
@ApiOperation(value = "根据searchCode获得此模块需要展示字段",notes = "现有设备类型对应searchCode:\r\n" + @ApiOperation(value = "根据searchCode获得此模块需要展示字段", notes = "现有设备类型对应searchCode:\r\n" +
"三维激光切割机: 3D_LASER_CUTTING\r\n激光切管机: LASER_CUTTING\r\n平板激光切割机: FLAT_LASER_CUTTING\r\n" + "三维激光切割机: 3D_LASER_CUTTING\r\n激光切管机: LASER_CUTTING\r\n平板激光切割机: FLAT_LASER_CUTTING\r\n" +
"等离子切割机: PLASMA_CUTTING\r\n机器人焊接: WELDING_ROBOT\r\n前处理: PRETREATMENT\r\n" + "等离子切割机: PLASMA_CUTTING\r\n机器人焊接: WELDING_ROBOT\r\n前处理: PRETREATMENT\r\n" +
"型钢数控下料:STEEL_CNC_CUTTING\r\n喷粉线:DUSTING_LINE\r\n车顶自动点焊:AUTOMATIC_SPOT_WELDING\r\n" + "型钢数控下料:STEEL_CNC_CUTTING\r\n喷粉线:DUSTING_LINE\r\n车顶自动点焊:AUTOMATIC_SPOT_WELDING\r\n" +
"PLC数控合装胎:PLC_CONTROL_TIRE\r\n板链:PLATE_CHAIN\r\n旋转辊床:ROTARY_ROLLER_BED\r\n" + "PLC数控合装胎1:PLC_CONTROL_TIRE_1\\r\\n" +
"PLC数控合装胎2:PLC_CONTROL_TIRE_2\r\n板链:PLATE_CHAIN\r\n旋转辊床:ROTARY_ROLLER_BED\r\n" +
"整车前处理电泳: VEHICLE_PRETREATMENT_ELECTROPHORESIS\r\n整车电泳输出: VEHICLE_ELECTROPHORESIS_OUTPUT\r\n" + "整车前处理电泳: VEHICLE_PRETREATMENT_ELECTROPHORESIS\r\n整车电泳输出: VEHICLE_ELECTROPHORESIS_OUTPUT\r\n" +
"电泳整流: ELECTROPHORESIS_RECTIFICATION\r\n喷漆室:SPRAY_BOOTH\r\n烘干室:DRYING_ROOM\r\n" + "电泳整流: ELECTROPHORESIS_RECTIFICATION\r\n喷漆室:SPRAY_BOOTH\r\n烘干室:DRYING_ROOM\r\n" +
"打磨室: POLISHING_ROOM\r\n喷涂机器人: PAINTING_ROBOT\r\n 过程扫码设备: PROCESS_SCAN_CODE\r\n" + "打磨室: POLISHING_ROOM\r\n喷涂机器人: PAINTING_ROBOT\r\n 过程扫码设备: PROCESS_SCAN_CODE\r\n" +
"智能扭力扳手: INTELLIGENT_TORQUE_WRENCH\r\n润滑油集中加注:LUBRICATING_OIL_CONCENTRATE\r\n" + "底盘智能扭力扳手: CHASSIS_TORQUE_WRENCH\n" +
"总装智能扭力扳手: ASSEMBLY_TORQUE_WRENCH\r\n润滑油集中加注:LUBRICATING_OIL_CONCENTRATE\r\n" +
"四轮定位:WHEEL_ALIGNMENT\r\n铆接设备: RIVETING_EQUIPMENT\r\n集中加注冷媒:FOCUS_ADDING_REFRIGERANT\r\n" + "四轮定位:WHEEL_ALIGNMENT\r\n铆接设备: RIVETING_EQUIPMENT\r\n集中加注冷媒:FOCUS_ADDING_REFRIGERANT\r\n" +
"集中加注离合器:CENTRALIZED_FILLING_CLUTCH\r\n集中加注助力油: FOCUS_BOOSTER_OIL\r\n" + "集中加注离合器:CENTRALIZED_FILLING_CLUTCH\r\n集中加注助力油: FOCUS_BOOSTER_OIL\r\n" +
"地板革热熔胶涂布设备: FLOOR_LEATHER_HOT\r\n新能源在线检测点: NEW_ENERGY\r\n检测线: CHECK_LINE\r\n" + "地板革热熔胶涂布设备: FLOOR_LEATHER_HOT\r\n新能源在线检测点: NEW_ENERGY\r\n检测线: CHECK_LINE\r\n" +
......
...@@ -92,8 +92,8 @@ public class DailyCheckController { ...@@ -92,8 +92,8 @@ public class DailyCheckController {
} }
@ApiOperation("打印") @ApiOperation("打印")
@PostMapping("/expert/{recordId}") @GetMapping("/expert")
public void expert(@PathVariable("recordId") Long recordId, HttpServletResponse response){ public void expert(@RequestParam("recordId") Long recordId, HttpServletResponse response){
service.expert(recordId, response); service.expert(recordId, response);
} }
} }
...@@ -48,4 +48,6 @@ public class DailyCheckModel{ ...@@ -48,4 +48,6 @@ public class DailyCheckModel{
@Column(name = "create_time") @Column(name = "create_time")
private Date createTime; private Date createTime;
private String createBy;
} }
\ No newline at end of file
...@@ -23,7 +23,7 @@ public class DailyCheckRecord { ...@@ -23,7 +23,7 @@ public class DailyCheckRecord {
@Id @Id
@ApiModelProperty(notes = "序号") @ApiModelProperty(notes = "序号")
private Long id; private Integer id;
@Column(name = "type") @Column(name = "type")
@ApiModelProperty(notes = "类型(酸洗/电泳槽/前处理)") @ApiModelProperty(notes = "类型(酸洗/电泳槽/前处理)")
...@@ -57,6 +57,6 @@ public class DailyCheckRecord { ...@@ -57,6 +57,6 @@ public class DailyCheckRecord {
@Search @Search
@Column(name = "create_time") @Column(name = "create_time")
@ApiModelProperty(notes = "化验时间") @ApiModelProperty(notes = "检测日期")
private Date createTime; private Date createTime;
} }
\ No newline at end of file
...@@ -12,6 +12,5 @@ import org.apache.ibatis.annotations.Param; ...@@ -12,6 +12,5 @@ import org.apache.ibatis.annotations.Param;
@Mapper @Mapper
public interface DailyCheckRecordMapper extends BaseMapper<DailyCheckRecord> { public interface DailyCheckRecordMapper extends BaseMapper<DailyCheckRecord> {
@Override int insertRecord(DailyCheckRecord record);
int insert(@Param("checkRecord") DailyCheckRecord record);
} }
...@@ -116,10 +116,10 @@ public class DailyCheckService { ...@@ -116,10 +116,10 @@ public class DailyCheckService {
@Transactional @Transactional
public void addCheckRecord(CheckRecordVo checkRecordVo) { public void addCheckRecord(CheckRecordVo checkRecordVo) {
DailyCheckRecord checkRecord = checkRecordVo.getCheckRecord(); DailyCheckRecord checkRecord = checkRecordVo.getCheckRecord();
int recordId = checkRecordMapper.insert(checkRecord); checkRecordMapper.insertRecord(checkRecord);
List<DailyItemRecord> itemRecords = checkRecordVo.getItemRecords(); List<DailyItemRecord> itemRecords = checkRecordVo.getItemRecords();
for (DailyItemRecord itemRecord : itemRecords) { for (DailyItemRecord itemRecord : itemRecords) {
itemRecord.setCheckRecordId(recordId); itemRecord.setCheckRecordId(checkRecord.getId());
} }
itemRecordMapper.insertList(itemRecords); itemRecordMapper.insertList(itemRecords);
} }
...@@ -168,7 +168,7 @@ public class DailyCheckService { ...@@ -168,7 +168,7 @@ public class DailyCheckService {
addFilter("check_record_id", Operation.EQUAL, recordById.getId()); addFilter("check_record_id", Operation.EQUAL, recordById.getId());
}}, DailyItemRecord.class); }}, DailyItemRecord.class);
try { try {
File file = ResourceUtils.getFile("classpath:template/化验室检测模板.xlsx"); File file = ResourceUtils.getFile("classpath:template/化验室检测模板.xls");
//将检测数据写入检测报告,并下载 //将检测数据写入检测报告,并下载
XSSFWorkbook workbook = null; XSSFWorkbook workbook = null;
XSSFSheet sheet = null; XSSFSheet sheet = null;
...@@ -195,6 +195,7 @@ public class DailyCheckService { ...@@ -195,6 +195,7 @@ public class DailyCheckService {
sheet.getRow(num).getCell(4).setCellValue(itemRecord.getRangeAll()); sheet.getRow(num).getCell(4).setCellValue(itemRecord.getRangeAll());
sheet.getRow(num).getCell(5).setCellValue(itemRecord.getFrequency()); sheet.getRow(num).getCell(5).setCellValue(itemRecord.getFrequency());
sheet.getRow(num).getCell(6).setCellValue(DateUtils.parseDateToString(itemRecord.getCreateTime(), "yyyyMMdd HH:mm:ss")); sheet.getRow(num).getCell(6).setCellValue(DateUtils.parseDateToString(itemRecord.getCreateTime(), "yyyyMMdd HH:mm:ss"));
num ++;
} }
sheet.getRow(26).getCell(1).setCellValue(recordById.getRecordInfo()); sheet.getRow(26).getCell(1).setCellValue(recordById.getRecordInfo());
sheet.getRow(34).getCell(1).setCellValue(recordById.getCreateBy()); sheet.getRow(34).getCell(1).setCellValue(recordById.getCreateBy());
...@@ -213,7 +214,7 @@ public class DailyCheckService { ...@@ -213,7 +214,7 @@ public class DailyCheckService {
response.setContentType("application/vnd.ms-excel"); response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename=" + codedFileName + ".xls"); response.setHeader("Content-disposition", "attachment;filename=" + codedFileName + ".xls");
response.setHeader("fileName", codedFileName + ".xlsx"); response.setHeader("fileName", codedFileName + ".xls");
workbook.write(outputStream); workbook.write(outputStream);
outputStream.flush(); outputStream.flush();
outputStream.close(); outputStream.close();
......
...@@ -18,7 +18,7 @@ import java.util.Date; ...@@ -18,7 +18,7 @@ import java.util.Date;
@ApiModel("总装车间车间--智能扭力扳手") @ApiModel("总装车间车间--智能扭力扳手")
@Data @Data
@Search(code = "INTELLIGENT_TORQUE_WRENCH") @Search(code = "ASSEMBLY_TORQUE_WRENCH")
@Table(name = "assembly_torque_wrench") @Table(name = "assembly_torque_wrench")
public class AssemblyTorqueWrench { public class AssemblyTorqueWrench {
......
...@@ -39,19 +39,108 @@ quartz.job.taskInfos[2].jobDescription=\u8ba1\u7b97\u8fd0\u884c\u65f6\u95f4Job ...@@ -39,19 +39,108 @@ quartz.job.taskInfos[2].jobDescription=\u8ba1\u7b97\u8fd0\u884c\u65f6\u95f4Job
quartz.job.taskInfos[2].cronExpression=0 0 1 * * ? quartz.job.taskInfos[2].cronExpression=0 0 1 * * ?
quartz.job.taskInfos[2].start=false quartz.job.taskInfos[2].start=false
#检测线 #制件车间(PARTS)
quartz.job.taskInfos[3].jobName=net.vtstar.zhongtong.avi.sqlserver.job.TestLineResultJob #喷粉线
quartz.job.taskInfos[3].jobGroup=TestLineResultJob quartz.job.taskInfos[8].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.DustingLineMachineJob
quartz.job.taskInfos[3].jobDescription=\u68c0\u6d4b\u7ebfJob quartz.job.taskInfos[8].jobGroup=DustingLineMachineJob
quartz.job.taskInfos[3].cronExpression=0 0/15 * * * ? quartz.job.taskInfos[8].jobDescription=\u55b7\u7c89\u7ebfJob
quartz.job.taskInfos[3].start=false quartz.job.taskInfos[8].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[8].start=true
#限速值 #前处理
quartz.job.taskInfos[4].jobName=net.vtstar.zhongtong.avi.sqlserver.job.TestSpeedResultJob quartz.job.taskInfos[9].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.PretreamentMachineJob
quartz.job.taskInfos[4].jobGroup=TestSpeedResultJob quartz.job.taskInfos[9].jobGroup=PretreamentMachineJob
quartz.job.taskInfos[4].jobDescription=\u9650\u901f\u503cJob quartz.job.taskInfos[9].jobDescription=\u55b7\u7c89\u7ebfJob
quartz.job.taskInfos[4].cronExpression=0 0/15 * * * ? quartz.job.taskInfos[9].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[4].start=false quartz.job.taskInfos[9].start=false
#型钢下料
quartz.job.taskInfos[10].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.SteelCncCuttingMachineJob
quartz.job.taskInfos[10].jobGroup=SteelCncCuttingMachineJob
quartz.job.taskInfos[10].jobDescription=\u578b\u94a2\u4e0b\u6599Job
quartz.job.taskInfos[10].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[10].start=false
#焊接机器人
quartz.job.taskInfos[21].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.WeldingRobotMachineJob
quartz.job.taskInfos[21].jobGroup=WeldingRobotMachineJob
quartz.job.taskInfos[21].jobDescription=\u710a\u63a5\u673a\u5668\u4ebaJob
quartz.job.taskInfos[21].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[21].start=false
#焊装车间(WELDING)
#焊装板链
quartz.job.taskInfos[11].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlateChainMachineJob
quartz.job.taskInfos[11].jobGroup=PlateChainMachineJob
quartz.job.taskInfos[11].jobDescription=\u710a\u88c5\u677f\u94feJob
quartz.job.taskInfos[11].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[11].start=false
#PLC数控合装胎(串口)
quartz.job.taskInfos[12].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlcControlTireMachine1Job
quartz.job.taskInfos[12].jobGroup=PlcControlTireMachine1Job
quartz.job.taskInfos[12].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
quartz.job.taskInfos[12].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[12].start=false
#PLC数控合装胎(网口)
quartz.job.taskInfos[13].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlcControlTireMachine2Job
quartz.job.taskInfos[13].jobGroup=PlcControlTireMachine2Job
quartz.job.taskInfos[13].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
quartz.job.taskInfos[13].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[13].start=false
#涂装车间(PAINTING)
#喷涂机器人
quartz.job.taskInfos[14].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.PaintingRobotMachineJob
quartz.job.taskInfos[14].jobGroup=PaintingRobotMachineJob
quartz.job.taskInfos[14].jobDescription=\u55b7\u6d82\u673a\u5668\u4ebaJob
quartz.job.taskInfos[14].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[14].start=false
#底盘车间(CHASSIS)
#底盘智能扭力扳手
quartz.job.taskInfos[15].jobName=net.vtstar.zhongtong.avi.gateway.chassis.job.ChassisTorqueMachineJob
quartz.job.taskInfos[15].jobGroup=ChassisTorqueMachineJob
quartz.job.taskInfos[15].jobDescription=\u667a\u80fd\u626d\u529b\u6273\u624bJob
quartz.job.taskInfos[15].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[15].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=\u56db\u8f6e\u5b9a\u4f4dJob
quartz.job.taskInfos[7].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[7].start=false
#总装车间(ASSEMBLY)
#离合油加注机
quartz.job.taskInfos[16].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.CentralizedFillingClutchMachineJob
quartz.job.taskInfos[16].jobGroup=CentralizedFillingClutchMachineJob
quartz.job.taskInfos[16].jobDescription=\u79bb\u5408\u6cb9\u52a0\u6ce8\u673aJob
quartz.job.taskInfos[16].cronExpression=0 0/15 * * * ?
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=\u51b7\u5a92\u52a0\u6ce8\u673aJob
quartz.job.taskInfos[17].cronExpression=0 0/15 * * * ?
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=\u52a9\u529b\u6cb9\u52a0\u6ce8\u673aJob
quartz.job.taskInfos[18].cronExpression=0 0/15 * * * ?
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\u677f\u9694\u70ed\u7194\u8bbe\u5907Job
quartz.job.taskInfos[19].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[19].start=false
#智能扭力扳手 #智能扭力扳手
quartz.job.taskInfos[5].jobName=net.vtstar.zhongtong.avi.sqlserver.job.AssemblyTorqueWrenchJob quartz.job.taskInfos[5].jobName=net.vtstar.zhongtong.avi.sqlserver.job.AssemblyTorqueWrenchJob
...@@ -67,15 +156,30 @@ quartz.job.taskInfos[6].jobDescription=\u65b0\u80fd\u6e90\u68c0\u6d4b\u70b9Job ...@@ -67,15 +156,30 @@ quartz.job.taskInfos[6].jobDescription=\u65b0\u80fd\u6e90\u68c0\u6d4b\u70b9Job
quartz.job.taskInfos[6].cronExpression=0 0/15 * * * ? quartz.job.taskInfos[6].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[6].start=false 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[3].jobName=net.vtstar.zhongtong.avi.sqlserver.job.TestLineResultJob
quartz.job.taskInfos[7].jobDescription=\u56db\u8f6e\u5b9a\u4f4dJob quartz.job.taskInfos[3].jobGroup=TestLineResultJob
quartz.job.taskInfos[7].cronExpression=0 0/15 * * * ? quartz.job.taskInfos[3].jobDescription=\u68c0\u6d4b\u7ebfJob
quartz.job.taskInfos[7].start=false 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\u901f\u503cJob
quartz.job.taskInfos[4].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[4].start=false
#充电桩
quartz.job.taskInfos[20].jobName=net.vtstar.zhongtong.avi.gateway.trial.job.ChargingPileMachineJob
quartz.job.taskInfos[20].jobGroup=ChargingPileMachineJob
quartz.job.taskInfos[20].jobDescription=\u5145\u7535\u6869Job
quartz.job.taskInfos[20].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[20].start=false
#quartz.job.taskInfos[2].jobName=net.vtstar.scada.base.equipmgt.job.CleanEquipStatusJob #quartz.job.taskInfos[8].jobName=net.vtstar.scada.base.equipmgt.job.CleanEquipStatusJob
#quartz.job.taskInfos[2].jobGroup=CleanEquipStatusJob ##quartz.job.taskInfos[8].jobGroup=CleanEquipStatusJob
#quartz.job.taskInfos[2].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job ##quartz.job.taskInfos[8].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
#quartz.job.taskInfos[2].cronExpression=0/20 * * * * ? ##quartz.job.taskInfos[8].cronExpression=0/10 * * * * ?
#quartz.job.taskInfos[2].start=true ##quartz.job.taskInfos[8].start=true
\ No newline at end of file \ No newline at end of file
#中通设备ip表 #中通设备ip表
#试交车间--检测线 #制件车间
zt.ip.testlineresult=10.100.172.150 #焊接机器人
#试交车间--限速值 zt.ip.weldingrobot1=10.1.25.186
zt.ip.testspeedresult=10.100.172.150 zt.ip.weldingrobot2=10.1.25.187
#总装车间--智能扭力扳手 zt.ip.weldingrobot3=10.1.25.188
zt.ip.assemblytorquewrench=10.100.172.150 zt.ip.weldingrobot4=10.1.25.189
#总装车间--新能源检测点1 #总装车间--新能源检测点1
zt.ip.assemblynewenergy1=10.1.25.128 zt.ip.assemblynewenergy1=10.1.25.128
...@@ -22,5 +22,12 @@ zt.ip.wheelalignment2=10.1.25.86 ...@@ -22,5 +22,12 @@ zt.ip.wheelalignment2=10.1.25.86
#底盘车间--四轮定位3 #底盘车间--四轮定位3
zt.ip.wheelalignment3=10.1.25.87 zt.ip.wheelalignment3=10.1.25.87
#试交车间--检测线
zt.ip.testlineresult=10.100.172.150
#试交车间--限速值
zt.ip.testspeedresult=10.100.172.150
#总装车间--智能扭力扳手
zt.ip.assemblytorquewrench=10.100.172.150
zt.ip.pingtimes=2 zt.ip.pingtimes=2
zt.ip.timeout=1000 zt.ip.timeout=1000
\ No newline at end of file
<?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.laboratory.mapper.DailyCheckModelMapper">
</mapper>
\ No newline at end of file
<?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.laboratory.mapper.DailyCheckRecordMapper">
<insert id="insertRecord" parameterType="net.vtstar.zhongtong.avi.laboratory.domain.DailyCheckRecord">
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT @@IDENTITY
</selectKey>
insert into daily_check_record (type, rev, sheet_no, no, create_by, create_time, record_info)
values(#{type},#{rev},#{sheetNo},#{no},#{createBy},#{createTime},#{recordInfo})
</insert>
</mapper>
\ No newline at end of file
<?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.laboratory.mapper.DailyItemModelMapper">
</mapper>
\ No newline at end of file
<?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.laboratory.mapper.DailyItemRecordMapper">
</mapper>
\ No newline at end of file
<?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.parts.mapper.WeldingRobotMapper">
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment