Commit 492c84b8 authored by 夏东伟's avatar 夏东伟

大族激光设备采集

parent b1c89e87
...@@ -83,7 +83,6 @@ public class AssemblyNewEnergyJob extends QuartzJobBean { ...@@ -83,7 +83,6 @@ public class AssemblyNewEnergyJob extends QuartzJobBean {
break; break;
} }
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) { if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
log.error("ping: {}失败, 此次同步总装新能源检测点数据操作结束!", ipAddress);
realTimeService.saveEquip("总装车间", equipCode, "新能源检测点", "关机"); realTimeService.saveEquip("总装车间", equipCode, "新能源检测点", "关机");
continue; continue;
} }
......
...@@ -85,7 +85,6 @@ public class WheelAlignmentJob extends QuartzJobBean { ...@@ -85,7 +85,6 @@ public class WheelAlignmentJob extends QuartzJobBean {
break; break;
} }
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) { if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
log.error("ping: {}失败, 此次同步底盘四轮定位数据操作结束!", ipAddress);
realTimeService.saveEquip("底盘车间", equipCode, equipName, "关机"); realTimeService.saveEquip("底盘车间", equipCode, equipName, "关机");
continue; continue;
} }
......
...@@ -50,8 +50,12 @@ public class EquipmentController { ...@@ -50,8 +50,12 @@ public class EquipmentController {
@ApiOperation(value = "程序传输") @ApiOperation(value = "程序传输")
@PostMapping("/program/transfer") @PostMapping("/program/transfer")
private Return programTransfer(@RequestBody ProgramTransferVO transferVO){ private Return programTransfer(@RequestBody ProgramTransferVO transferVO){
equipmentService.putFile(transferVO); if (equipmentService.putFile(transferVO)){
return Return.success(); return Return.success();
}else {
return Return.failed("下发文件失败!");
}
} }
@ApiOperation(value = "报表导出") @ApiOperation(value = "报表导出")
......
...@@ -66,4 +66,7 @@ public class EquipInfo { ...@@ -66,4 +66,7 @@ public class EquipInfo {
@Column(name = "equip_code") @Column(name = "equip_code")
private String equipName; private String equipName;
@Column(name = "remarks")
private String remarks;
} }
...@@ -117,6 +117,9 @@ public class CleanStatusDataJob extends QuartzJobBean { ...@@ -117,6 +117,9 @@ public class CleanStatusDataJob extends QuartzJobBean {
if ("PLC".equals(info.getEquipType())){ if ("PLC".equals(info.getEquipType())){
continue; continue;
} }
if (null != info.getRemarks()){
return;
}
EquipmentData data = (EquipmentData) valueOperations.get(EquipDataUtil.getLastStatusKey(info.getAlias())); EquipmentData data = (EquipmentData) valueOperations.get(EquipDataUtil.getLastStatusKey(info.getAlias()));
if (null == data || null == data.getEquipStatus()){ if (null == data || null == data.getEquipStatus()){
realTimeService.saveEquip(info.getWorkshopName(), info.getEquipCode(), info.getAlias(), "关机"); realTimeService.saveEquip(info.getWorkshopName(), info.getEquipCode(), info.getAlias(), "关机");
......
...@@ -2,6 +2,7 @@ package net.vtstar.zhongtong.avi.equipment.service; ...@@ -2,6 +2,7 @@ package net.vtstar.zhongtong.avi.equipment.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import jcifs.smb.NtlmPasswordAuthentication;
import net.vtstar.scada.base.equipmgt.service.EquipDataChannelService; import net.vtstar.scada.base.equipmgt.service.EquipDataChannelService;
import net.vtstar.user.mybatis.provider.Operation; import net.vtstar.user.mybatis.provider.Operation;
import net.vtstar.user.mybatis.provider.WhereFilter; import net.vtstar.user.mybatis.provider.WhereFilter;
...@@ -182,30 +183,76 @@ public class EquipmentService { ...@@ -182,30 +183,76 @@ public class EquipmentService {
} }
} }
public void putFile(ProgramTransferVO transferVO) { public boolean putFile(ProgramTransferVO transferVO) {
String ip = ""; String ip = "";
String path = "";
NtlmPasswordAuthentication auth = null;
switch (transferVO.getEquipCode()) { switch (transferVO.getEquipCode()) {
case "076103-19": case "076103-19":
ip = "10.1.25.192"; ip = "10.1.4.120";
path = "smb://" + ip + " /数控下料/";
break; break;
case "076103-28": case "076103-28":
ip = "10.1.25.114"; ip = "10.1.25.114";
path = "smb://" + ip + " /数控下料/";
break; break;
case "076103-14": case "076103-14":
ip = "10.1.4.107"; ip = "10.1.4.107";
path = "smb://" + ip + " /数控下料/";
break; break;
case "076103-25": case "076103-25":
ip = "10.1.4.129"; ip = "10.1.4.129";
path = "smb://" + ip + " /数控下料/";
break; break;
//TODO: 网口不通
case "076103-13": case "076103-13":
ip = "10.1.4.106"; ip = "10.1.4.108";
path = "smb://" + ip + " /数控下料/";
break; break;
case "076103-17": case "076103-17":
ip = "10.1.4.120"; ip = "10.1.4.106";
path = "smb://" + ip + " /数控下料/";
break;
//三维激光切割机
case "076707-165":
ip = "10.1.25.175";
break;
//激光切管机
case "076707-174":
//NCPrg, PA8000
ip = "10.1.25.176";
path = "smb://" + ip + " /NCPrg/";
break;
//激光切管机
case "076707-166":
ip = "10.1.25.177";
break;
//平板激光切割机
case "076707-114":
//NCPrg, PA8000
ip = "10.1.25.178";
path = "smb://" + ip + " /NCPrg/";
break;
//平板激光切割机
case "076707-167":
ip = "10.1.25.179";
path = "smb://" + ip + " /NCPrg/";
break;
//平板激光切割机
case "076707-146":
ip = "10.1.25.180";
break;
//平板激光切割机
case "076707-178":
ip = "10.1.25.181";
break;
//平板激光切割机
case "076707-177":
ip = "10.1.25.182";
break; break;
} }
// SmbFileUtil.smbPut("smb://10.1.4.107/数控下料/", transferVO.getFilePath()); // SmbFileUtil.smbPut("smb://10.1.4.107/数控下料/", transferVO.getFilePath());
SmbFileUtil.smbPut("smb://" + ip +" /数控下料/", transferVO.getFilePath()); return SmbFileUtil.smbPut(path, transferVO.getFilePath());
} }
public List<EquipInfo> findByShopCode(String workshopCode) { public List<EquipInfo> findByShopCode(String workshopCode) {
......
...@@ -17,7 +17,7 @@ import net.vtstar.zhongtong.avi.equipment.mapper.EquipmentDataMapper; ...@@ -17,7 +17,7 @@ import net.vtstar.zhongtong.avi.equipment.mapper.EquipmentDataMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.FaultRecordMapper; import net.vtstar.zhongtong.avi.equipment.mapper.FaultRecordMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.RuntimeRecordMapper; import net.vtstar.zhongtong.avi.equipment.mapper.RuntimeRecordMapper;
import net.vtstar.zhongtong.avi.monitoring.domain.Warning; import net.vtstar.zhongtong.avi.monitoring.domain.Warning;
import net.vtstar.zhongtong.avi.stamping.domain.LaserCutting3DMachine; import net.vtstar.zhongtong.avi.gateway.stamping.domain.LaserCutting3DMachine;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
......
...@@ -24,7 +24,7 @@ public class DustingLineMachine extends EquipmentData { ...@@ -24,7 +24,7 @@ public class DustingLineMachine extends EquipmentData {
@ApiModelProperty(notes = "设备名称") @ApiModelProperty(notes = "设备名称")
private String equipCode; private String equipCode;
@Show(label = "链速") @Show(label = "链速(Hz)")
@Column(name = "chain_speed") @Column(name = "chain_speed")
@ApiModelProperty(notes = "链速") @ApiModelProperty(notes = "链速")
private int chainSpeed; private int chainSpeed;
......
...@@ -66,7 +66,6 @@ public class SteelCncCuttingMachineStateJob extends QuartzJobBean { ...@@ -66,7 +66,6 @@ public class SteelCncCuttingMachineStateJob extends QuartzJobBean {
break; break;
} }
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) { if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
log.error("ping: {}失败, 读取焊接机器人数据操作结束!", ipAddress);
realTimeService.saveEquip("制件车间", equipCode, equipName, "关机"); realTimeService.saveEquip("制件车间", equipCode, equipName, "关机");
continue; continue;
} }
......
...@@ -74,7 +74,6 @@ public class WeldingRobotMachineJob extends QuartzJobBean { ...@@ -74,7 +74,6 @@ public class WeldingRobotMachineJob extends QuartzJobBean {
break; break;
} }
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) { if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
log.error("ping: {}失败, 读取焊接机器人数据操作结束!", ipAddress);
realTimeService.saveEquip("制件车间", equipCode, "焊接机器人", "关机"); realTimeService.saveEquip("制件车间", equipCode, "焊接机器人", "关机");
continue; continue;
} }
......
package net.vtstar.zhongtong.avi.stamping.domain; package net.vtstar.zhongtong.avi.gateway.stamping.domain;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -16,9 +16,21 @@ import java.util.Date; ...@@ -16,9 +16,21 @@ import java.util.Date;
@Data @Data
@Search(code = "FLAT_LASER_CUTTING") @Search(code = "FLAT_LASER_CUTTING")
@ApiModel(value = "平板激光切割机", description = "激光切割机监控数据表") @ApiModel(value = "平板激光切割机", description = "激光切割机监控数据表")
@Table(name = "eqp_data_laser_cutting") @Table(name = "eqp_data_flat_laser_cutting")
public class FlatLaserCuttingMachine extends EquipmentData { public class FlatLaserCuttingMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
@Search
private String equipCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
@Search
private String alias;
@Search @Search
@Show(label = "切割速率",sortable = true) @Show(label = "切割速率",sortable = true)
@ApiModelProperty("切割速率") @ApiModelProperty("切割速率")
......
package net.vtstar.zhongtong.avi.stamping.domain; package net.vtstar.zhongtong.avi.gateway.stamping.domain;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package net.vtstar.zhongtong.avi.stamping.domain; package net.vtstar.zhongtong.avi.gateway.stamping.domain;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -19,6 +19,19 @@ import java.util.Date; ...@@ -19,6 +19,19 @@ import java.util.Date;
@Table(name = "eqp_data_laser_cutting") @Table(name = "eqp_data_laser_cutting")
public class LaserCuttingMachine extends EquipmentData { public class LaserCuttingMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
@Search
private String equipCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
@Search
private String alias;
@Search @Search
@Show(label = "切割速率",sortable = true) @Show(label = "切割速率",sortable = true)
@ApiModelProperty("切割速率") @ApiModelProperty("切割速率")
......
package net.vtstar.zhongtong.avi.stamping.domain; package net.vtstar.zhongtong.avi.gateway.stamping.domain;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package net.vtstar.zhongtong.avi.gateway.stamping.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.zhongtong.avi.equipment.service.EquipStatusRealTimeService;
import net.vtstar.zhongtong.avi.gateway.stamping.domain.FlatLaserCuttingMachine;
import net.vtstar.zhongtong.avi.gateway.stamping.mapper.FlatLaserCuttingMapper;
import net.vtstar.zhongtong.avi.gateway.stamping.utils.ClientSocketUtil;
import net.vtstar.zhongtong.avi.utils.PingIpUtils;
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.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 平板激光切割机数据采集JOB
*/
@Slf4j
@Component
public class FlatLaserCuttingMachineJob extends QuartzJobBean {
private String ipAddress1 = "10.1.25.178";
private String ipAddress2 = "10.1.25.179";
private String ipAddress3 = "10.1.25.180";
private String ipAddress4 = "10.1.25.181";
private String ipAddress5 = "10.1.25.182";
@Value("${zt.ip.pingtimes}")
private int pingTimes;
@Value("${zt.ip.timeout}")
private int timeOut;
@Autowired
private EquipStatusRealTimeService realTimeService;
@Autowired
private FlatLaserCuttingMapper mapper;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
List<String> ipAddressList = Arrays.asList(ipAddress1, ipAddress2, ipAddress3, ipAddress4, ipAddress5);
for (String ipAddress : ipAddressList) {
String equipCode = "";
String equipName = "";
String equipFactory = "";
switch (ipAddress) {
case "10.1.25.178":
equipCode = "076707-114";
equipName = "平板激光切割机";
equipFactory = "01跨西南";
break;
case "10.1.25.179":
equipCode = "076707-167";
equipName = "平板激光切割机";
equipFactory = "02跨西北";
break;
case "10.1.25.180":
equipCode = "076707-146";
equipName = "平板激光切割机";
equipFactory = "01跨西北";
break;
case "10.1.25.181":
equipCode = "076707-178";
equipName = "平板激光切割机";
equipFactory = "02跨西南";
break;
case "10.1.25.182":
equipCode = "076707-177";
equipName = "平板激光切割机";
equipFactory = "02西西南";
break;
}
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
realTimeService.saveEquip("制件车间", equipCode, equipName, "关机");
continue;
}
realTimeService.saveEquip("制件车间", equipCode, equipName, "开机");
//速度
String cuttingSpeed = ClientSocketUtil.send(ipAddress, "P101");
//功率
String laserPower = ClientSocketUtil.send(ipAddress, "P102");
//气体压力
String gasPressure = ClientSocketUtil.send(ipAddress, "P107");
if ("0".equals(cuttingSpeed) && "0".equals(laserPower) && "0".equals(gasPressure)){
log.error("ip: {}能ping通, 但62944端口连接不上", ipAddress);
continue;
}
FlatLaserCuttingMachine machine = new FlatLaserCuttingMachine();
machine.setAlias(equipName);
machine.setEquipCode(equipCode);
machine.setCuttingSpeed(new BigDecimal(cuttingSpeed));
machine.setGasPressure(new BigDecimal(gasPressure));
machine.setLaserPower(new BigDecimal(laserPower));
machine.setCreateTime(new Date());
machine.setStatus("1");
machine.setEquipFactory(equipFactory);
mapper.insert(machine);
}
}
}
\ No newline at end of file
package net.vtstar.zhongtong.avi.gateway.stamping.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.zhongtong.avi.equipment.service.EquipStatusRealTimeService;
import net.vtstar.zhongtong.avi.gateway.stamping.domain.LaserCutting3DMachine;
import net.vtstar.zhongtong.avi.gateway.stamping.mapper.LaserCutting3DMapper;
import net.vtstar.zhongtong.avi.gateway.stamping.utils.ClientSocketUtil;
import net.vtstar.zhongtong.avi.utils.PingIpUtils;
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.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 3维激光切割机数据采集JOB
*/
@Slf4j
@Component
public class LaserCutting3DMachineJob extends QuartzJobBean {
private String ipAddress1 = "10.1.25.175";
@Value("${zt.ip.pingtimes}")
private int pingTimes;
@Value("${zt.ip.timeout}")
private int timeOut;
@Autowired
private EquipStatusRealTimeService realTimeService;
@Autowired
private LaserCutting3DMapper laserCutting3DMapper;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
List<String> ipAddressList = Arrays.asList(ipAddress1);
for (String ipAddress : ipAddressList) {
String equipCode = "";
String equipName = "";
String equipFactory = "";
switch (ipAddress) {
case "10.1.25.175":
equipCode = "076707-165";
equipName = "三维激光切割机";
equipFactory = "01跨东南";
break;
}
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
realTimeService.saveEquip("制件车间", equipCode, equipName, "关机");
continue;
}
realTimeService.saveEquip("制件车间", equipCode, equipName, "开机");
//速度
String cuttingSpeed = ClientSocketUtil.send(ipAddress, "P101");
//功率
String laserPower = ClientSocketUtil.send(ipAddress, "P102");
//气体压力
String gasPressure = ClientSocketUtil.send(ipAddress, "P107");
if ("0".equals(cuttingSpeed) && "0".equals(laserPower) && "0".equals(gasPressure)){
log.error("ip: {}能ping通, 但62944端口连接不上", ipAddress);
continue;
}
LaserCutting3DMachine machine = new LaserCutting3DMachine();
machine.setAlias(equipName);
machine.setEquipCode(equipCode);
machine.setCuttingSpeed(new BigDecimal(cuttingSpeed));
machine.setGasPressure(new BigDecimal(gasPressure));
machine.setLaserPower(new BigDecimal(laserPower));
machine.setCreateTime(new Date());
machine.setStatus("1");
machine.setEquipFactory(equipFactory);
laserCutting3DMapper.insert(machine);
}
}
}
\ No newline at end of file
package net.vtstar.zhongtong.avi.gateway.stamping.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.zhongtong.avi.equipment.service.EquipStatusRealTimeService;
import net.vtstar.zhongtong.avi.gateway.stamping.domain.LaserCuttingMachine;
import net.vtstar.zhongtong.avi.gateway.stamping.mapper.LaserCuttingMapper;
import net.vtstar.zhongtong.avi.gateway.stamping.utils.ClientSocketUtil;
import net.vtstar.zhongtong.avi.utils.PingIpUtils;
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.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 激光切管机数据采集JOB
*/
@Slf4j
@Component
public class LaserCuttingMachineJob extends QuartzJobBean {
private String ipAddress1 = "10.1.25.176";
private String ipAddress2 = "10.1.25.177";
@Value("${zt.ip.pingtimes}")
private int pingTimes;
@Value("${zt.ip.timeout}")
private int timeOut;
@Autowired
private EquipStatusRealTimeService realTimeService;
@Autowired
private LaserCuttingMapper mapper;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
List<String> ipAddressList = Arrays.asList(ipAddress1, ipAddress2);
for (String ipAddress : ipAddressList) {
String equipCode = "";
String equipName = "";
String equipFactory = "";
switch (ipAddress) {
case "10.1.25.176":
equipCode = "076707-174";
equipName = "激光切管机";
equipFactory = "03西北";
break;
case "10.1.25.177":
equipCode = "076707-166";
equipName = "激光切管机";
equipFactory = "03西南";
break;
}
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
realTimeService.saveEquip("制件车间", equipCode, equipName, "关机");
continue;
}
realTimeService.saveEquip("制件车间", equipCode, equipName, "开机");
//速度
String cuttingSpeed = ClientSocketUtil.send(ipAddress, "P101");
//功率
String laserPower = ClientSocketUtil.send(ipAddress, "P102");
//气体压力
String gasPressure = ClientSocketUtil.send(ipAddress, "P107");
if ("0".equals(cuttingSpeed) && "0".equals(laserPower) && "0".equals(gasPressure)){
log.error("ip: {}能ping通, 但62944端口连接不上", ipAddress);
continue;
}
LaserCuttingMachine machine = new LaserCuttingMachine();
machine.setAlias(equipName);
machine.setEquipCode(equipCode);
machine.setCuttingSpeed(new BigDecimal(cuttingSpeed));
machine.setGasPressure(new BigDecimal(gasPressure));
machine.setLaserPower(new BigDecimal(laserPower));
machine.setCreateTime(new Date());
machine.setStatus("1");
machine.setEquipFactory(equipFactory);
mapper.insert(machine);
}
}
}
\ No newline at end of file
package net.vtstar.zhongtong.avi.gateway.stamping.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.gateway.stamping.domain.FlatLaserCuttingMachine;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface FlatLaserCuttingMapper extends BaseMapper<FlatLaserCuttingMachine> {
}
package net.vtstar.zhongtong.avi.gateway.stamping.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.gateway.stamping.domain.LaserCutting3DMachine;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface LaserCutting3DMapper extends BaseMapper<LaserCutting3DMachine> {
}
package net.vtstar.zhongtong.avi.gateway.stamping.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.gateway.stamping.domain.LaserCuttingMachine;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface LaserCuttingMapper extends BaseMapper<LaserCuttingMachine> {
}
package net.vtstar.zhongtong.avi.gateway.stamping.utils;
import lombok.extern.slf4j.Slf4j;
import java.io.*;
import java.net.Socket;
/**
* @Author: xiadongwei
* @Date: 2020/4/8 17:15
*/
@Slf4j
public class ClientSocketUtil {
static Socket server;
static Integer port = 62944;
public static void main (String[] s){
while (true){
send("10.1.25.178", "P101");
send("10.1.25.178", "P102");
send("10.1.25.178", "P107");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static String send(String ip, String data){
//连接服务端
OutputStreamWriter osw = null;
BufferedWriter bw = null;
InputStreamReader isr = null;
BufferedReader br = null;
try {
server = new Socket(ip, port);
//向服务端写入数据
osw = new OutputStreamWriter(server.getOutputStream());
bw = new BufferedWriter(osw);
//<get><var>.P107</var><auto>yes</auto></get>
bw.write("<get><var>." + data + "</var><auto>yes</auto></get>\r\n");
bw.flush();
isr = new InputStreamReader(server.getInputStream());
br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
sb.append(br.readLine());
String result = sb.toString();
log.error("大族激光读取结果:{}", result);
if (result.contains("err")){
return "0";
}else{
return result.replace("<get><." + data + ">", "")
.replace("</." + data + "><auto>yes</auto></get>", "");
}
} catch (Exception e) {
log.error("连接异常!");
}finally {
try {
if (null != osw) {
osw.close();
}
if (null != bw) {
bw.close();
}
if (null != isr) {
isr.close();
}
if (null != br) {
br.close();
}
if (null != server && server.isConnected()) {
server.close();
}
} catch (IOException e) {
log.error("连接异常!");
}
}
return "0";
}
}
...@@ -55,7 +55,6 @@ public class ErrorFrameJob extends QuartzJobBean { ...@@ -55,7 +55,6 @@ public class ErrorFrameJob extends QuartzJobBean {
//ZTLOG_2019-10-26_11-35-46 //ZTLOG_2019-10-26_11-35-46
String dateString = DateUtils.parseDateToString(new Date(), "yyyy-MM-dd"); String dateString = DateUtils.parseDateToString(new Date(), "yyyy-MM-dd");
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) { if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)) {
log.error("ping: {}失败, 此次同步试交车间错误帧数据操作结束!", ipAddress);
realTimeService.saveEquip("质量管理部", "", "错误帧", "关机"); realTimeService.saveEquip("质量管理部", "", "错误帧", "关机");
return; return;
} }
......
...@@ -25,7 +25,8 @@ import javax.sql.DataSource; ...@@ -25,7 +25,8 @@ import javax.sql.DataSource;
"net.vtstar.zhongtong.avi.laboratory.mapper", "net.vtstar.zhongtong.avi.laboratory.mapper",
"net.vtstar.zhongtong.avi.gateway.parts.mapper", "net.vtstar.zhongtong.avi.gateway.parts.mapper",
"net.vtstar.zhongtong.avi.monitoring.mapper", "net.vtstar.zhongtong.avi.monitoring.mapper",
"net.vtstar.zhongtong.avi.gateway.painting.mapper" "net.vtstar.zhongtong.avi.gateway.painting.mapper",
"net.vtstar.zhongtong.avi.gateway.stamping.mapper"
}, },
sqlSessionFactoryRef = "sqlSessionFactoryMySQL") sqlSessionFactoryRef = "sqlSessionFactoryMySQL")
public class MybatisMySQLConfig { public class MybatisMySQLConfig {
......
...@@ -25,7 +25,7 @@ public class Constant { ...@@ -25,7 +25,7 @@ public class Constant {
//根据屏号工作室分组key //根据屏号工作室分组key
public static final String LED_PREFIX = "led:"; public static final String LED_PREFIX = "led:";
//进车数统计 //进车数统计
public static final String BUS_SIZE_IN = "BUS:IN"; public static final String BUS_SIZE_IN = "BUS:IN:";
//进车数统计 //进车数统计
public static final String BUS_SIZE_OUT = "BUS:OUT:"; public static final String BUS_SIZE_OUT = "BUS:OUT:";
......
...@@ -35,6 +35,12 @@ public class StationPassInfo { ...@@ -35,6 +35,12 @@ public class StationPassInfo {
@Column(name = "rfid") @Column(name = "rfid")
private String rfid; private String rfid;
@Show(label = "车身号")
@ApiModelProperty(notes = "车身号")
@Column(name = "bus_no")
@Search
private String busNo;
@Column(name = "area_no") @Column(name = "area_no")
private String areaNo; private String areaNo;
......
...@@ -12,6 +12,7 @@ import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation; ...@@ -12,6 +12,7 @@ import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation;
import net.vtstar.zhongtong.avi.global.constant.Constant; import net.vtstar.zhongtong.avi.global.constant.Constant;
import net.vtstar.zhongtong.avi.monitoring.domain.Skid; import net.vtstar.zhongtong.avi.monitoring.domain.Skid;
import net.vtstar.zhongtong.avi.monitoring.domain.Vehicle; import net.vtstar.zhongtong.avi.monitoring.domain.Vehicle;
import net.vtstar.zhongtong.avi.monitoring.domain.bo.MQTTMessageBO;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.Direction; import net.vtstar.zhongtong.avi.monitoring.domain.enums.Direction;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState; import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState;
import net.vtstar.zhongtong.avi.monitoring.service.StationPassInfoService; import net.vtstar.zhongtong.avi.monitoring.service.StationPassInfoService;
...@@ -37,7 +38,7 @@ import java.util.*; ...@@ -37,7 +38,7 @@ import java.util.*;
public class AVIMonitorJob extends GatherJob { public class AVIMonitorJob extends GatherJob {
private static final String EQUIPMENT_TYPE = "PLC"; private static final String EQUIPMENT_TYPE = "PLC";
public static List<String> rfidList1 = Arrays.asList("rfid51", "rfid52", "rfid53", "rfid54"); public static MQTTMessageBO messageBO = new MQTTMessageBO();
@Autowired @Autowired
private EquipInfoService equipInfoService; private EquipInfoService equipInfoService;
...@@ -251,10 +252,6 @@ public class AVIMonitorJob extends GatherJob { ...@@ -251,10 +252,6 @@ public class AVIMonitorJob extends GatherJob {
log.error("平移车上车时找不到对应的滑撬: {}", vehicle.getMqttPrefix()); log.error("平移车上车时找不到对应的滑撬: {}", vehicle.getMqttPrefix());
continue; continue;
} }
//todo: 若平移车位于HXG2-1位置, 且平移车反转(向东), 则认为是向底盘下车操作, 判断工序补扫情况
if ("439".equals(vehicle.getLaneRfid()) && vehicle.getTurnR()){
passInfoService.checkPassInfo(skid.getWorkOrderNo(), skid.getRfid());
}
log.error("平移车: {} 下车到工位:{}", vehicle.getMqttPrefix(), station.getCode()); log.error("平移车: {} 下车到工位:{}", vehicle.getMqttPrefix(), station.getCode());
vehicle.setSkid(null); vehicle.setSkid(null);
vehicle.setCurrentRfid(null); vehicle.setCurrentRfid(null);
...@@ -265,8 +262,15 @@ public class AVIMonitorJob extends GatherJob { ...@@ -265,8 +262,15 @@ public class AVIMonitorJob extends GatherJob {
//更新平移车 //更新平移车
valueOperations.set(Constant.VEHICLE_PREFIX + vehicle.getMqttPrefix(), vehicle); valueOperations.set(Constant.VEHICLE_PREFIX + vehicle.getMqttPrefix(), vehicle);
log.error("-------------重置平移车------------------"); log.error("-------------重置平移车------------------");
//todo: 若平移车位于HXG2-1位置, 且平移车反转(向东), 则认为是向底盘下车操作, 判断工序补扫情况
if ("439".equals(vehicle.getLaneRfid()) && vehicle.getTurnR()){
passInfoService.checkPassInfo(skid.getWorkOrderNo(), skid.getBusNo(), skid.getRfid());
skid.setBusNo("");
skid.setWorkOrderNo("");
valueOperations.set(Constant.SKID_PREFIX + skid.getRfid(), skid);
continue;
}
Long laneId = station.getLaneId(); Long laneId = station.getLaneId();
List<PaintshopStation> lands = new ArrayList<>(); List<PaintshopStation> lands = new ArrayList<>();
List<PaintshopStation> temStation = laneStationCache.get(laneId, ArrayList.class); List<PaintshopStation> temStation = laneStationCache.get(laneId, ArrayList.class);
for (PaintshopStation land : temStation) { for (PaintshopStation land : temStation) {
...@@ -280,7 +284,7 @@ public class AVIMonitorJob extends GatherJob { ...@@ -280,7 +284,7 @@ public class AVIMonitorJob extends GatherJob {
PaintshopStation end = lands.get(lands.size() - 1); PaintshopStation end = lands.get(lands.size() - 1);
//下车时, 记录进去车道的开始时间, 并将记录ID绑定在工位上 //下车时, 记录进去车道的开始时间, 并将记录ID绑定在工位上
Long passInfoId = 0L; Long passInfoId = 0L;
passInfoId = passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getRfid(), station.getAreaName(), station.getCode()); passInfoId = passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getBusNo(), skid.getRfid(), station.getAreaName(), station.getCode());
if (start.getCode().equals(station.getCode())) { if (start.getCode().equals(station.getCode())) {
//车道西头下车, 所有工位向东平移一位 //车道西头下车, 所有工位向东平移一位
for (int j = lands.size() - 1; j > 0; j--) { for (int j = lands.size() - 1; j > 0; j--) {
...@@ -327,6 +331,7 @@ public class AVIMonitorJob extends GatherJob { ...@@ -327,6 +331,7 @@ public class AVIMonitorJob extends GatherJob {
size++; size++;
} }
valueOperations.set(areaKey, size); valueOperations.set(areaKey, size);
saveRfidInfo(areaKey, skid.getRfid());
//更新工位 //更新工位
for (PaintshopStation land : lands) { for (PaintshopStation land : lands) {
valueOperations.set(Constant.STATION_PREFIX + land.getCode(), land); valueOperations.set(Constant.STATION_PREFIX + land.getCode(), land);
...@@ -336,4 +341,11 @@ public class AVIMonitorJob extends GatherJob { ...@@ -336,4 +341,11 @@ public class AVIMonitorJob extends GatherJob {
log.error("-------------下车逻辑结束------------------"); log.error("-------------下车逻辑结束------------------");
} }
} }
private void saveRfidInfo(String areaKey, String rfid){
messageBO.setID(rfid);
messageBO.setState(0);
messageBO.setCreateDate(RfidMessageHandler.format.format(new Date()));
listOperations.rightPush("rfid:" + areaKey, messageBO);
}
} }
\ No newline at end of file
...@@ -115,10 +115,7 @@ public class AviWarningJob extends GatherJob { ...@@ -115,10 +115,7 @@ public class AviWarningJob extends GatherJob {
int length = body.readableBytes(); int length = body.readableBytes();
byte[] bytes = new byte[length]; byte[] bytes = new byte[length];
body.getBytes(body.readerIndex(), bytes); body.getBytes(body.readerIndex(), bytes);
log.info("读取读取数据。ip{}, 端口{}, slave{}, start{}, size{}", poolKey.getHost(), poolKey.getPort(), slaveId, start, quantity);
log.info("data:{}", Arrays.toString(bytes));
for (EquipDataTemplateItem templateItem : value) { for (EquipDataTemplateItem templateItem : value) {
Integer address = templateItem.getAddress(); Integer address = templateItem.getAddress();
int quality = address - start; int quality = address - start;
......
...@@ -8,6 +8,7 @@ import net.vtstar.zhongtong.avi.equipment.service.RunRecordService; ...@@ -8,6 +8,7 @@ import net.vtstar.zhongtong.avi.equipment.service.RunRecordService;
import net.vtstar.zhongtong.avi.global.constant.Constant; import net.vtstar.zhongtong.avi.global.constant.Constant;
import net.vtstar.zhongtong.avi.monitoring.domain.Skid; import net.vtstar.zhongtong.avi.monitoring.domain.Skid;
import net.vtstar.zhongtong.avi.monitoring.domain.Warning; import net.vtstar.zhongtong.avi.monitoring.domain.Warning;
import net.vtstar.zhongtong.avi.monitoring.domain.bo.MQTTMessageBO;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.BusType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.BusType;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.DateType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.DateType;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState; import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState;
...@@ -30,7 +31,6 @@ import java.util.stream.Collectors; ...@@ -30,7 +31,6 @@ import java.util.stream.Collectors;
@Component @Component
public class RedisToCacheJob extends GatherJob { public class RedisToCacheJob extends GatherJob {
public static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy:MM:dd");
@Resource(name = "redisTemplate") @Resource(name = "redisTemplate")
private ValueOperations valueOperations; private ValueOperations valueOperations;
@Resource(name = "redisTemplate") @Resource(name = "redisTemplate")
...@@ -47,7 +47,7 @@ public class RedisToCacheJob extends GatherJob { ...@@ -47,7 +47,7 @@ public class RedisToCacheJob extends GatherJob {
log.info("______________"); log.info("______________");
log.info("RedisToCacheJob start"); log.info("RedisToCacheJob start");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy:MM:dd");
//处理报警 //处理报警
Set<String> warningKeys = redisTemplate.keys(Constant.WARNING_PREFIX + "*"); Set<String> warningKeys = redisTemplate.keys(Constant.WARNING_PREFIX + "*");
Map<String, List<String>> warningKeyMap = warningKeys.stream().collect(Collectors.groupingBy(a -> a.split(":")[1])); Map<String, List<String>> warningKeyMap = warningKeys.stream().collect(Collectors.groupingBy(a -> a.split(":")[1]));
...@@ -116,7 +116,7 @@ public class RedisToCacheJob extends GatherJob { ...@@ -116,7 +116,7 @@ public class RedisToCacheJob extends GatherJob {
webStationCache.put("stationList", areas); webStationCache.put("stationList", areas);
} }
private void addStatistics(String today, List<CarStatisticsVO> vos, String code, DateType dateType) { /*private void addStatistics(String today, List<CarStatisticsVO> vos, String code, DateType dateType) {
CarStatisticsVO vo = new CarStatisticsVO(); CarStatisticsVO vo = new CarStatisticsVO();
vo.setAreaNo(code); vo.setAreaNo(code);
...@@ -140,6 +140,42 @@ public class RedisToCacheJob extends GatherJob { ...@@ -140,6 +140,42 @@ public class RedisToCacheJob extends GatherJob {
} }
out.setBusType(BusType.OUT); out.setBusType(BusType.OUT);
vos.add(vo);
vos.add(out);
}*/
//出入车数量根据RFID号去重
private void addStatistics(String today, List<CarStatisticsVO> vos, String code, DateType dateType) {
CarStatisticsVO vo = new CarStatisticsVO();
vo.setAreaNo(code);
vo.setDateType(dateType);
vo.setBusType(BusType.IN);
String areaCodeIn = "rfid:" + Constant.BUS_SIZE_IN + code + ":" + today;
Long sizeIn = listOperations.size(areaCodeIn);
if (null == sizeIn){
vo.setSize(BigDecimal.ZERO);
}else{
List<MQTTMessageBO> rangeIn = listOperations.range(areaCodeIn, 0, sizeIn);
List<String> rfidListIn = rangeIn.stream().map(MQTTMessageBO::getID).collect(Collectors.toList());
List<String> distinctListIn = rfidListIn.stream().distinct().collect(Collectors.toList());
vo.setSize(BigDecimal.valueOf(distinctListIn.size()));
}
CarStatisticsVO out = new CarStatisticsVO();
out.setAreaNo(code);
out.setDateType(dateType);
out.setBusType(BusType.OUT);
String areaCodeOut = "rfid:" + Constant.BUS_SIZE_OUT + code + ":" + today;
Long sizeOut = listOperations.size(areaCodeOut);
if (null == sizeOut){
out.setSize(BigDecimal.ZERO);
}else{
List<MQTTMessageBO> rangeOut = listOperations.range(areaCodeOut, 0, sizeOut);
List<String> rfidListOut = rangeOut.stream().map(MQTTMessageBO::getID).collect(Collectors.toList());
List<String> distinctListOut = rfidListOut.stream().distinct().collect(Collectors.toList());
out.setSize(BigDecimal.valueOf(distinctListOut.size()));
}
vos.add(vo); vos.add(vo);
vos.add(out); vos.add(out);
} }
......
...@@ -128,13 +128,6 @@ public class AreaService { ...@@ -128,13 +128,6 @@ public class AreaService {
if (null == sta){ if (null == sta){
return sta; return sta;
} }
for (CarStatisticsVO statisticsVO : sta){
if ("0".equals(statisticsVO.getAreaNo()) && "YESTERDAY".equals(statisticsVO.getDateType().name()) && "OUT".equals(statisticsVO.getBusType().name())){
if (null == statisticsVO.getSize() || statisticsVO.getSize().intValue() == 0){
statisticsVO.setSize(new BigDecimal(30 + Math.random() * 20).setScale(0, BigDecimal.ROUND_HALF_UP));
}
}
}
return sta; return sta;
} }
} }
...@@ -51,7 +51,7 @@ public class StationPassInfoService { ...@@ -51,7 +51,7 @@ public class StationPassInfoService {
private ValueOperations valueOperations; private ValueOperations valueOperations;
//创建过站信息记录 //创建过站信息记录
public Long createPassInfo(String workOrderNo, String rfid, String areaNo, String stationNo) { public Long createPassInfo(String workOrderNo, String busNo, String rfid, String areaNo, String stationNo) {
StationPassInfo info = new StationPassInfo(); StationPassInfo info = new StationPassInfo();
info.setVIN(workOrderNo); info.setVIN(workOrderNo);
info.setAreaNo(areaNo); info.setAreaNo(areaNo);
...@@ -61,6 +61,7 @@ public class StationPassInfoService { ...@@ -61,6 +61,7 @@ public class StationPassInfoService {
if (null == areaNo) { if (null == areaNo) {
info.setAreaNo(""); info.setAreaNo("");
} }
info.setBusNo(busNo);
info.setRfid(rfid); info.setRfid(rfid);
info.setStationNo(stationNo); info.setStationNo(stationNo);
info.setStationName(getPassNameByStationNo(stationNo)); info.setStationName(getPassNameByStationNo(stationNo));
...@@ -70,7 +71,7 @@ public class StationPassInfoService { ...@@ -70,7 +71,7 @@ public class StationPassInfoService {
info.setCreateBy("RFID"); info.setCreateBy("RFID");
passInfoMapper.insert(info); passInfoMapper.insert(info);
String sql = "INSERT INTO VEHICLE_PASSING_INFO VALUES (?,?,?,?,?,?,?)"; String sql = "INSERT INTO VEHICLE_PASSING_INFO VALUES (?,?,?,?,?,?,?)";
mesSqlServerJdbcTemplate.update(sql, new Object[]{info.getVIN(), info.getRfid(), info.getAreaNo(), mesSqlServerJdbcTemplate.update(sql, new Object[]{info.getVIN(), info.getBusNo(), info.getAreaNo(),
info.getStationNo(), DateUtils.parseDateToString(info.getPassTime(), "yyyy-MM-dd HH:mm:ss"), info.getStationNo(), DateUtils.parseDateToString(info.getPassTime(), "yyyy-MM-dd HH:mm:ss"),
null, 1}); null, 1});
return info.getId(); return info.getId();
...@@ -86,6 +87,7 @@ public class StationPassInfoService { ...@@ -86,6 +87,7 @@ public class StationPassInfoService {
if (null == station.getAreaName()) { if (null == station.getAreaName()) {
info.setAreaNo(""); info.setAreaNo("");
} }
info.setBusNo(station.getSkid().getBusNo());
info.setRfid(station.getSkid().getRfid()); info.setRfid(station.getSkid().getRfid());
info.setStationNo(station.getCode()); info.setStationNo(station.getCode());
info.setStationName(getPassNameByStationNo(station.getCode())); info.setStationName(getPassNameByStationNo(station.getCode()));
...@@ -96,7 +98,7 @@ public class StationPassInfoService { ...@@ -96,7 +98,7 @@ public class StationPassInfoService {
passInfoMapper.insert(info); passInfoMapper.insert(info);
//todo:!!!!!!!!!!!!!!!! //todo:!!!!!!!!!!!!!!!!
String sql = "INSERT INTO VEHICLE_PASSING_INFO VALUES (?,?,?,?,?,?,?)"; String sql = "INSERT INTO VEHICLE_PASSING_INFO VALUES (?,?,?,?,?,?,?)";
mesSqlServerJdbcTemplate.update(sql, new Object[]{info.getVIN(), info.getRfid(), info.getAreaNo(), mesSqlServerJdbcTemplate.update(sql, new Object[]{info.getVIN(), info.getBusNo(), info.getAreaNo(),
info.getStationNo(), DateUtils.parseDateToString(info.getPassTime(), "yyyy-MM-dd HH:mm:ss"), info.getStationNo(), DateUtils.parseDateToString(info.getPassTime(), "yyyy-MM-dd HH:mm:ss"),
null, 1}); null, 1});
} }
...@@ -128,7 +130,7 @@ public class StationPassInfoService { ...@@ -128,7 +130,7 @@ public class StationPassInfoService {
byId.setCreateTime(new Date()); byId.setCreateTime(new Date());
passInfoMapper.update(byId); passInfoMapper.update(byId);
String sql = "INSERT INTO VEHICLE_PASSING_INFO VALUES (?,?,?,?,?,?,?)"; String sql = "INSERT INTO VEHICLE_PASSING_INFO VALUES (?,?,?,?,?,?,?)";
mesSqlServerJdbcTemplate.update(sql, new Object[]{info.getVIN(), byId.getRfid(), byId.getAreaNo(), mesSqlServerJdbcTemplate.update(sql, new Object[]{info.getVIN(), byId.getBusNo(), byId.getAreaNo(),
info.getStationNo(), DateUtils.parseDateToString(info.getPassTime(), "yyyy-MM-dd HH:mm:ss"), info.getStationNo(), DateUtils.parseDateToString(info.getPassTime(), "yyyy-MM-dd HH:mm:ss"),
null, 1}); null, 1});
} }
...@@ -143,7 +145,7 @@ public class StationPassInfoService { ...@@ -143,7 +145,7 @@ public class StationPassInfoService {
valueOperations.set(statusR, false); valueOperations.set(statusR, false);
} }
public void checkPassInfo(String workOrderNo, String rfid) { public void checkPassInfo(String workOrderNo, String busNo, String rfid) {
Boolean status = (Boolean) valueOperations.get(statusR); Boolean status = (Boolean) valueOperations.get(statusR);
Integer startInt = (Integer) valueOperations.get(startTimeR); Integer startInt = (Integer) valueOperations.get(startTimeR);
Integer endInt = (Integer) valueOperations.get(endTimeR); Integer endInt = (Integer) valueOperations.get(endTimeR);
...@@ -169,6 +171,7 @@ public class StationPassInfoService { ...@@ -169,6 +171,7 @@ public class StationPassInfoService {
info.setVIN(workOrderNo); info.setVIN(workOrderNo);
info.setAreaNo(getAreaNoByName(passName)); info.setAreaNo(getAreaNoByName(passName));
info.setStationNo(getStationNoByName(passName)[0]); info.setStationNo(getStationNoByName(passName)[0]);
info.setBusNo(busNo);
info.setRfid(rfid); info.setRfid(rfid);
info.setStationName(passName); info.setStationName(passName);
info.setPassTime(new Date()); info.setPassTime(new Date());
...@@ -190,6 +193,7 @@ public class StationPassInfoService { ...@@ -190,6 +193,7 @@ public class StationPassInfoService {
info.setVIN(workOrderNo); info.setVIN(workOrderNo);
info.setAreaNo(getAreaNoByName(passName)); info.setAreaNo(getAreaNoByName(passName));
info.setStationNo(getStationNoByName(passName)[0]); info.setStationNo(getStationNoByName(passName)[0]);
info.setBusNo(busNo);
info.setRfid(rfid); info.setRfid(rfid);
info.setStationName(passName); info.setStationName(passName);
info.setPassTime(new Date(stationPassInfo.getCreateTime().getTime() - (time * 60 * 1000))); info.setPassTime(new Date(stationPassInfo.getCreateTime().getTime() - (time * 60 * 1000)));
......
...@@ -174,6 +174,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -174,6 +174,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
return; return;
} }
listOperations.rightPush("rfid:testLog:before:" + vehicleCode + ":" + today, messageBO); listOperations.rightPush("rfid:testLog:before:" + vehicleCode + ":" + today, messageBO);
String rfid = vehicle.getCurrentRfid(); String rfid = vehicle.getCurrentRfid();
//若当前平移车上绑定了RFID, 并且与当前mqtt信息中的ID一致, 并且state=1, 则认为这是读写头的重发现象 //若当前平移车上绑定了RFID, 并且与当前mqtt信息中的ID一致, 并且state=1, 则认为这是读写头的重发现象
if (null != rfid && id.equals(rfid)) { if (null != rfid && id.equals(rfid)) {
...@@ -197,7 +198,6 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -197,7 +198,6 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
vehicle.setDownTime(null); vehicle.setDownTime(null);
vehicle.setDownTimeMin(0); vehicle.setDownTimeMin(0);
vehicle.setCurrentRfid(id); vehicle.setCurrentRfid(id);
vehicle.setSkid(skid); vehicle.setSkid(skid);
if (rfidList2.contains(vehicleCode)) { if (rfidList2.contains(vehicleCode)) {
valueOperations.set(Constant.VEHICLE_PREFIX + otherCode, vehicle); valueOperations.set(Constant.VEHICLE_PREFIX + otherCode, vehicle);
...@@ -222,23 +222,12 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -222,23 +222,12 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
valueOperations.set(Constant.SKID_PREFIX + id, skid); valueOperations.set(Constant.SKID_PREFIX + id, skid);
valueOperations.set(Constant.VEHICLE_PREFIX_REWORK, ""); valueOperations.set(Constant.VEHICLE_PREFIX_REWORK, "");
valueOperations.set(Constant.VEHICLE_PREFIX_REWORK_BUSNO, ""); valueOperations.set(Constant.VEHICLE_PREFIX_REWORK_BUSNO, "");
passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getRfid(), "返修上线", ""); passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getBusNo(), skid.getRfid(), "返修上线", "");
return; return;
} }
} }
//若是焊装车间进车,绑定滑撬与车身关系 //若是焊装车间进车,绑定滑撬与车身关系
if ((vehicleCode.equals(Constant.HANZHUANG_VEHICLE1_RFID) || vehicleCode.equals(Constant.HANZHUANG_VEHICLE2_RFID))) { if ((vehicleCode.equals(Constant.HANZHUANG_VEHICLE1_RFID) || vehicleCode.equals(Constant.HANZHUANG_VEHICLE2_RFID))) {
//记录焊装上车的信息
String format = dateFormat.format(date);
listOperations.rightPush("rfid:log:shangqiao:" + format, messageBO);
String key = Constant.BUS_SIZE_IN + "0:" + format;
Integer size = (Integer) valueOperations.get(key);
if (null == size) {
size = 1;
} else {
size++;
}
valueOperations.set(key, size);
String keyW = EquipDataUtil.getTestValueKey(Constant.ROTARY_ROLLER_BED_W); String keyW = EquipDataUtil.getTestValueKey(Constant.ROTARY_ROLLER_BED_W);
testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int) testValueOperations.get(keyW)) + 1); testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int) testValueOperations.get(keyW)) + 1);
...@@ -259,7 +248,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -259,7 +248,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
valueOperations.set(Constant.HANZHUANG_VEHICLE_BUSNO_KEY + vehicleCode, ""); valueOperations.set(Constant.HANZHUANG_VEHICLE_BUSNO_KEY + vehicleCode, "");
valueOperations.set(Constant.HANZHUANG_VEHICLE_WORKNO_KEY + vehicleCode, ""); valueOperations.set(Constant.HANZHUANG_VEHICLE_WORKNO_KEY + vehicleCode, "");
passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getRfid(), "涂装上线", "HXG1-1"); passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getBusNo(), skid.getRfid(),"涂装上线", "HXG1-1");
return; return;
} }
//底盘读写头 //底盘读写头
...@@ -277,7 +266,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -277,7 +266,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
} }
skid.setBusType(ProductionType.OTHER); skid.setBusType(ProductionType.OTHER);
valueOperations.set(Constant.SKID_PREFIX + id, skid); valueOperations.set(Constant.SKID_PREFIX + id, skid);
passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getRfid(), "轻客上线", ""); passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getBusNo(), skid.getRfid(),"轻客上线", "");
listOperations.rightPush("rfid:log:qingke:" + vehicleCode, messageBO); listOperations.rightPush("rfid:log:qingke:" + vehicleCode, messageBO);
} }
//此时为在电泳一侧上车, 并且停到了第二个读写头的位置, 和其他两个读写头的平移车相同处理方式 //此时为在电泳一侧上车, 并且停到了第二个读写头的位置, 和其他两个读写头的平移车相同处理方式
...@@ -294,10 +283,11 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -294,10 +283,11 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
size++; size++;
} }
valueOperations.set(areaKey, size); valueOperations.set(areaKey, size);
saveRfidInfo(areaKey, messageBO);
if (null != skid) { if (null != skid) {
passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getRfid(), "涂装下线", "HXG2-1"); passInfoService.createPassInfo(skid.getWorkOrderNo(), skid.getBusNo(), skid.getRfid(),"涂装下线", "HXG2-1");
//todo: 校验工单是否存在漏扫的工序 //todo: 校验工单是否存在漏扫的工序
passInfoService.checkPassInfo(skid.getWorkOrderNo(), skid.getRfid()); passInfoService.checkPassInfo(skid.getWorkOrderNo(), skid.getBusNo(), skid.getRfid());
} }
listOperations.rightPush("rfid:log:chuche:" + today, messageBO); listOperations.rightPush("rfid:log:chuche:" + today, messageBO);
return; return;
...@@ -471,6 +461,17 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -471,6 +461,17 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
//若为涂装首工位上车, 且为焊装刚刚过来的, 此时无法从工位列表中找到滑撬信息, 所以单独处理 //若为涂装首工位上车, 且为焊装刚刚过来的, 此时无法从工位列表中找到滑撬信息, 所以单独处理
if (vehicleCode.equals(Constant.TUZHUANG_VEHICLE1_RFID) && Constant.TUZHUANG_LANE1_RFID.equals(vehicle.getLaneRfid())) { if (vehicleCode.equals(Constant.TUZHUANG_VEHICLE1_RFID) && Constant.TUZHUANG_LANE1_RFID.equals(vehicle.getLaneRfid())) {
String format = dateFormat.format(date);
String areaKey = Constant.BUS_SIZE_IN + "0:" + format;
Integer size = (Integer) valueOperations.get(areaKey);
if (null == size) {
size = 1;
} else {
size++;
}
valueOperations.set(areaKey, size);
saveRfidInfo(areaKey, messageBO);
valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle); valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle);
String keyW = EquipDataUtil.getTestValueKey(Constant.ROTARY_ROLLER_BED_P1); String keyW = EquipDataUtil.getTestValueKey(Constant.ROTARY_ROLLER_BED_P1);
testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int) testValueOperations.get(keyW)) + 1); testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int) testValueOperations.get(keyW)) + 1);
...@@ -511,7 +512,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -511,7 +512,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
size++; size++;
} }
valueOperations.set(areaKey, size); valueOperations.set(areaKey, size);
saveRfidInfo(areaKey, messageBO);
for (PaintshopStation land : lands) { for (PaintshopStation land : lands) {
valueOperations.set(Constant.STATION_PREFIX + land.getCode(), land); valueOperations.set(Constant.STATION_PREFIX + land.getCode(), land);
} }
...@@ -526,7 +527,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -526,7 +527,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
if (!isFind){ if (!isFind){
for (PaintshopStation station : stationByCache) { for (PaintshopStation station : stationByCache) {
PaintshopStation land = (PaintshopStation) valueOperations.get(Constant.STATION_PREFIX + station.getCode()); PaintshopStation land = (PaintshopStation) valueOperations.get(Constant.STATION_PREFIX + station.getCode());
if (land.getSkid() != null && id.equals(land.getSkid().getRfid())) { if (null != land && null != land.getSkid() && id.equals(land.getSkid().getRfid())) {
passInfoService.endPassInfo(land); passInfoService.endPassInfo(land);
land.setSkid(null); land.setSkid(null);
land.setState(StationState.FREE); land.setState(StationState.FREE);
...@@ -543,6 +544,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -543,6 +544,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
size++; size++;
} }
valueOperations.set(areaKey, size); valueOperations.set(areaKey, size);
saveRfidInfo(areaKey, messageBO);
} }
} }
} }
...@@ -603,4 +605,8 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { ...@@ -603,4 +605,8 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
return otherCode; return otherCode;
} }
private void saveRfidInfo(String areaKey, MQTTMessageBO messageBO){
listOperations.rightPush("rfid:" + areaKey, messageBO);
}
} }
...@@ -51,7 +51,6 @@ public class AssemblyTorqueWrenchJob extends QuartzJobBean { ...@@ -51,7 +51,6 @@ public class AssemblyTorqueWrenchJob extends QuartzJobBean {
@Override @Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException { protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){ if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){
log.error("ping: {}失败, 此次同步总装车间智能扭力扳手数据操作结束!", ipAddress);
realTimeService.saveEquip("总装车间", "", "智能扭力扳手", "关机"); realTimeService.saveEquip("总装车间", "", "智能扭力扳手", "关机");
return; return;
} }
......
...@@ -47,7 +47,6 @@ public class MesHZWorkOrderJob extends QuartzJobBean { ...@@ -47,7 +47,6 @@ public class MesHZWorkOrderJob extends QuartzJobBean {
@Override @Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException { protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){ if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){
log.error("ping: {}失败, 此次同步mes数据操作结束!", ipAddress);
return; return;
} }
log.info("--------开始同步mes焊装数据--------"); log.info("--------开始同步mes焊装数据--------");
...@@ -73,7 +72,7 @@ public class MesHZWorkOrderJob extends QuartzJobBean { ...@@ -73,7 +72,7 @@ public class MesHZWorkOrderJob extends QuartzJobBean {
} }
for (MesHZWorkOrderInfo info : query){ for (MesHZWorkOrderInfo info : query){
List<MesHZWorkOrderInfo> orderNo = mapper.findList(new WhereFilter() {{ List<MesHZWorkOrderInfo> orderNo = mapper.findList(new WhereFilter() {{
addFilter("WONo", Operation.EQUAL, info.getWorkOrderNo()); addFilter("work_order_no", Operation.EQUAL, info.getWorkOrderNo());
}}, MesWorkOrderInfo.class); }}, MesWorkOrderInfo.class);
if (CollecUtils.isEmpty(orderNo)){ if (CollecUtils.isEmpty(orderNo)){
mapper.insert(info); mapper.insert(info);
......
...@@ -46,7 +46,6 @@ public class MesWorkOrderJob extends QuartzJobBean { ...@@ -46,7 +46,6 @@ public class MesWorkOrderJob extends QuartzJobBean {
@Override @Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException { protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){ if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){
log.error("ping: {}失败, 此次同步mes数据操作结束!", ipAddress);
return; return;
} }
log.info("--------开始同步mes数据--------"); log.info("--------开始同步mes数据--------");
......
...@@ -49,7 +49,6 @@ public class TestLineResultJob extends QuartzJobBean { ...@@ -49,7 +49,6 @@ public class TestLineResultJob extends QuartzJobBean {
@Override @Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException { protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){ if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){
log.error("ping: {}失败, 此次同步试交车间检测线数据操作结束!", ipAddress);
realTimeService.saveEquip("质量管理部", "769000-04", "检测线", "关机"); realTimeService.saveEquip("质量管理部", "769000-04", "检测线", "关机");
return; return;
} }
......
...@@ -49,7 +49,6 @@ public class TestSpeedResultJob extends QuartzJobBean { ...@@ -49,7 +49,6 @@ public class TestSpeedResultJob extends QuartzJobBean {
@Override @Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException { protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){ if (!PingIpUtils.ping(ipAddress, pingTimes, timeOut)){
log.error("ping: {}失败, 此次同步试交车间限速值数据操作结束!", ipAddress);
realTimeService.saveEquip("质量管理部", "", "限速值", "关机"); realTimeService.saveEquip("质量管理部", "", "限速值", "关机");
return; return;
} }
......
package net.vtstar.zhongtong.avi.stamping.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.stamping.domain.LaserCutting3DMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
/**
* 激光切割机数据采集JOB
*/
@Slf4j
@Component
public class LaserCuttingMachineJob extends GatherJob {
private static final String NAME = "3D_LASER_CUTTING";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, LaserCutting3DMachine.class);
}
public boolean handleObject(EquipmentData equipmentData) {
LaserCutting3DMachine data = (LaserCutting3DMachine) equipmentData;
String state = data.getStatus();
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;
}
}
...@@ -26,7 +26,6 @@ public class PingIpUtils { ...@@ -26,7 +26,6 @@ public class PingIpUtils {
String pingCommand = null; String pingCommand = null;
Runtime r = Runtime.getRuntime(); Runtime r = Runtime.getRuntime();
String osName = System.getProperty("os.name"); String osName = System.getProperty("os.name");
log.info("项目所在系统是:" +osName);
if(osName.contains("Windows")){ if(osName.contains("Windows")){
//将要执行的ping命令,此命令是windows格式的命令 //将要执行的ping命令,此命令是windows格式的命令
pingCommand = "ping " + ipAddress + " -n " + pingTimes + " -w " + timeOut; pingCommand = "ping " + ipAddress + " -n " + pingTimes + " -w " + timeOut;
...@@ -49,7 +48,6 @@ public class PingIpUtils { ...@@ -49,7 +48,6 @@ public class PingIpUtils {
} }
//如果出现类似=23 ms ttl=64(TTL=64 Windows)这样的字样,出现的次数=测试次数则返回真 //如果出现类似=23 ms ttl=64(TTL=64 Windows)这样的字样,出现的次数=测试次数则返回真
//return connectedCount == pingTimes; //return connectedCount == pingTimes;
log.info("ping通设备IP :{}的次数为:" +connectedCount, ipAddress);
return connectedCount >= pingTimes ? true : false; return connectedCount >= pingTimes ? true : false;
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); //出现异常则返回假 ex.printStackTrace(); //出现异常则返回假
......
package net.vtstar.zhongtong.avi.utils; package net.vtstar.zhongtong.avi.utils;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile; import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileInputStream; import jcifs.smb.SmbFileInputStream;
import jcifs.smb.SmbFileOutputStream; import jcifs.smb.SmbFileOutputStream;
import lombok.extern.slf4j.Slf4j;
import java.io.*; import java.io.*;
...@@ -12,12 +14,13 @@ import java.io.*; ...@@ -12,12 +14,13 @@ import java.io.*;
* @Author: xiadongwei * @Author: xiadongwei
* @Date: 2019/10/11 10:40 * @Date: 2019/10/11 10:40
*/ */
@Slf4j
public class SmbFileUtil { public class SmbFileUtil {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
//smb://xxx:xxx@192.168.2.188/testIndex/ //smb://xxx:xxx@192.168.2.188/testIndex/
//xxx:xxx是共享机器的用户名密码 //xxx:xxx是共享机器的用户名密码
String url = "smb://wanteng:wanteng@192.168.43.158/Music/"; String url = "smb://10.100.172.223/NCPrg/";
SmbFile file = new SmbFile(url); SmbFile file = new SmbFile(url);
if (file.exists()) { if (file.exists()) {
SmbFile[] files = file.listFiles(); SmbFile[] files = file.listFiles();
...@@ -25,8 +28,8 @@ public class SmbFileUtil { ...@@ -25,8 +28,8 @@ public class SmbFileUtil {
System.out.println(f.getName()); 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"); smbGet("smb://10.100.172.223/NCPrg/新建文本文档.txt", "D:/111111.txt");
// smbPut("smb://wanteng:wanteng@192.168.43.158/d$/英雄时刻/", "D:/error.xls"); smbPut("smb://10.100.172.223/NCPrg/", "D:/yield.xls");
} }
...@@ -70,14 +73,16 @@ public class SmbFileUtil { ...@@ -70,14 +73,16 @@ public class SmbFileUtil {
} }
//向共享目录上传文件 //向共享目录上传文件
public static void smbPut(String remoteUrl, String localFilePath) { public static Boolean smbPut(String remoteUrl, String localFilePath) {
InputStream in = null; InputStream in = null;
OutputStream out = null; OutputStream out = null;
try { try {
File localFile = new File(localFilePath); File localFile = new File(localFilePath);
String fileName = localFile.getName(); String fileName = localFile.getName();
SmbFile remoteFile = new SmbFile(remoteUrl + "/" + fileName); SmbFile remoteFile;
remoteFile = new SmbFile(remoteUrl + "/" + fileName);
in = new BufferedInputStream(new FileInputStream(localFile)); in = new BufferedInputStream(new FileInputStream(localFile));
out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile)); out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));
byte[] buffer = new byte[1024]; byte[] buffer = new byte[1024];
...@@ -86,7 +91,9 @@ public class SmbFileUtil { ...@@ -86,7 +91,9 @@ public class SmbFileUtil {
buffer = new byte[1024]; buffer = new byte[1024];
} }
} catch (Exception e) { } catch (Exception e) {
log.error("下发文件失败: {}", e.getMessage());
e.printStackTrace(); e.printStackTrace();
return false;
} finally { } finally {
try { try {
if (out != null) { if (out != null) {
...@@ -99,6 +106,7 @@ public class SmbFileUtil { ...@@ -99,6 +106,7 @@ public class SmbFileUtil {
e.printStackTrace(); e.printStackTrace();
} }
} }
return true;
} }
} }
...@@ -37,7 +37,7 @@ spring.mes.sqlserver.password=wanteng@2019 ...@@ -37,7 +37,7 @@ spring.mes.sqlserver.password=wanteng@2019
server.port=8082 server.port=8082
logging.level.root=info logging.level.root=error
#logging.level.net.vtstar=info #logging.level.net.vtstar=info
logging.level.net.vtstar.scada.base.equipmgt.mapper = error logging.level.net.vtstar.scada.base.equipmgt.mapper = error
logging.level.net.vtstar.zhongtong.avi.equipment.mapper = error logging.level.net.vtstar.zhongtong.avi.equipment.mapper = error
......
# Mqtt # Mqtt
mqtt.server-uri=tcp://10.1.25.223:1883 mqtt.server-uri=tcp://localhost:1883
mqtt.connection-timeout-second=10 mqtt.connection-timeout-second=10
mqtt.username=admin mqtt.username=admin
mqtt.password=public mqtt.password=public
......
...@@ -21,11 +21,11 @@ spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderO ...@@ -21,11 +21,11 @@ spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderO
quartz.job.allow-start=true quartz.job.allow-start=true
quartz.job.taskInfos[0].jobName=net.vtstar.zhongtong.avi.stamping.job.LaserCuttingMachineJob quartz.job.taskInfos[0].jobName=net.vtstar.zhongtong.avi.gateway.stamping.job.LaserCuttingMachineJob
quartz.job.taskInfos[0].jobGroup=LaserCuttingMachineJob quartz.job.taskInfos[0].jobGroup=LaserCuttingMachineJob
quartz.job.taskInfos[0].jobDescription=\u5C01\u88C5\u7EBF\u9884\u710A\u673A\u6570\u636E\u91C7\u96C6job quartz.job.taskInfos[0].jobDescription=\u5C01\u88C5\u7EBF\u9884\u710A\u673A\u6570\u636E\u91C7\u96C6job
quartz.job.taskInfos[0].cronExpression=0/10 * * * * ? quartz.job.taskInfos[0].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[0].start=false quartz.job.taskInfos[0].start=true
quartz.job.taskInfos[1].jobName=net.vtstar.zhongtong.avi.equipment.job.CleanStatusDataJob quartz.job.taskInfos[1].jobName=net.vtstar.zhongtong.avi.equipment.job.CleanStatusDataJob
quartz.job.taskInfos[1].jobGroup=CleanStatusDataJob quartz.job.taskInfos[1].jobGroup=CleanStatusDataJob
......
...@@ -21,11 +21,11 @@ spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderO ...@@ -21,11 +21,11 @@ spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderO
quartz.job.allow-start=true quartz.job.allow-start=true
quartz.job.taskInfos[0].jobName=net.vtstar.zhongtong.avi.stamping.job.LaserCuttingMachineJob quartz.job.taskInfos[0].jobName=net.vtstar.zhongtong.avi.gateway.stamping.job.LaserCuttingMachineJob
quartz.job.taskInfos[0].jobGroup=LaserCuttingMachineJob quartz.job.taskInfos[0].jobGroup=LaserCuttingMachineJob
quartz.job.taskInfos[0].jobDescription=\u5C01\u88C5\u7EBF\u9884\u710A\u673A\u6570\u636E\u91C7\u96C6job quartz.job.taskInfos[0].jobDescription=\u5C01\u88C5\u7EBF\u9884\u710A\u673A\u6570\u636E\u91C7\u96C6job
quartz.job.taskInfos[0].cronExpression=0/10 * * * * ? quartz.job.taskInfos[0].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[0].start=false quartz.job.taskInfos[0].start=true
quartz.job.taskInfos[1].jobName=net.vtstar.zhongtong.avi.equipment.job.CleanStatusDataJob quartz.job.taskInfos[1].jobName=net.vtstar.zhongtong.avi.equipment.job.CleanStatusDataJob
quartz.job.taskInfos[1].jobGroup=CleanStatusDataJob quartz.job.taskInfos[1].jobGroup=CleanStatusDataJob
...@@ -332,4 +332,18 @@ quartz.job.taskInfos[43].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.Stee ...@@ -332,4 +332,18 @@ quartz.job.taskInfos[43].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.Stee
quartz.job.taskInfos[43].jobGroup=SteelCncCuttingMachineStateJob quartz.job.taskInfos[43].jobGroup=SteelCncCuttingMachineStateJob
quartz.job.taskInfos[43].jobDescription=\u578b\u94a2\u4e0b\u6599Job quartz.job.taskInfos[43].jobDescription=\u578b\u94a2\u4e0b\u6599Job
quartz.job.taskInfos[43].cronExpression=0/15 * * * * ? quartz.job.taskInfos[43].cronExpression=0/15 * * * * ?
quartz.job.taskInfos[43].start=true quartz.job.taskInfos[43].start=true
\ No newline at end of file
#3维激光切割机
quartz.job.taskInfos[44].jobName=net.vtstar.zhongtong.avi.gateway.stamping.job.LaserCutting3DMachineJob
quartz.job.taskInfos[44].jobGroup=LaserCutting3DMachineJob
quartz.job.taskInfos[44].jobDescription=\u5C01\u88C5\u7EBF\u9884\u710A\u673A\u6570\u636E\u91C7\u96C6job
quartz.job.taskInfos[44].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[44].start=true
#平板激光切割机
quartz.job.taskInfos[45].jobName=net.vtstar.zhongtong.avi.gateway.stamping.job.FlatLaserCuttingMachineJob
quartz.job.taskInfos[45].jobGroup=FlatLaserCuttingMachineJob
quartz.job.taskInfos[45].jobDescription=\u5C01\u88C5\u7EBF\u9884\u710A\u673A\u6570\u636E\u91C7\u96C6job
quartz.job.taskInfos[45].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[45].start=true
\ 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.stamping.mapper.FlatLaserCuttingMapper">
</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.stamping.mapper.LaserCutting3DMapper">
</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.stamping.mapper.LaserCuttingMapper">
</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