Commit 2768bff2 authored by 夏东伟's avatar 夏东伟

SCADA采集数据校验

parent 1a46694a
......@@ -7,6 +7,7 @@ import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -55,4 +56,11 @@ public class AssemblyNewEnergy {
@ApiModelProperty(notes = "同步时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -7,6 +7,7 @@ import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -172,4 +173,11 @@ public class WheelAlignment {
@ApiModelProperty(notes = "同步时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -90,7 +90,7 @@ public class WheelAlignmentJob extends QuartzJobBean {
/*if ("LEGEND-5214E5AF".equals(tableName)){
saveData(ipAddress, db, list, tableName);
}*/
if ("2019Oct06".equals(tableName)){
if (newDateString.equals(tableName)){
saveData(ipAddress, db, list, tableName);
}
}
......
......@@ -10,6 +10,7 @@ import net.vtstar.zhongtong.avi.equipment.domain.EquipInfo;
import net.vtstar.zhongtong.avi.equipment.domain.Program;
import net.vtstar.zhongtong.avi.equipment.domain.vo.ProgramTransferVO;
import net.vtstar.zhongtong.avi.equipment.service.EquipmentService;
import net.vtstar.zhongtong.avi.monitoring.domain.StationPassInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......@@ -76,4 +77,25 @@ public class EquipmentController {
Program program = equipmentService.saveNcFile(file);
return Return.success(program);
}
@ApiOperation(value = "根据车间code获得设备列表")
@GetMapping("/findByShopCode")
private Return findByShopCode(@RequestParam String workshopCode){
List<EquipInfo> equipInfos = equipmentService.findByShopCode(workshopCode);
return Return.success(equipInfos);
}
@ApiOperation(value = "Mes获取设备监控数据")
@GetMapping(value = "/data")
private Return getRealTimeDataMes(@RequestParam String searchCode) {
List<Map<String, Object>> data = equipmentService.findRealTimeDataMes(searchCode);
return Return.success(data);
}
@ApiOperation(value = "MesAVI车体过站信息接口")
@GetMapping(value = "/stationPassInfo")
private Return getStationPassInfo(@RequestParam String vin) {
List<StationPassInfo> data = equipmentService.getStationPassInfo(vin);
return Return.success(data);
}
}
......@@ -64,14 +64,6 @@ public class EquipInfo {
@Column(name = "equip_factory")
private String equipFactory;
@ApiModelProperty(notes = "创建时间")
@Column(name = "create_time")
private Date createTime;
@ApiModelProperty(notes = "更新时间")
@Column(name = "update_time")
private Date updateTime;
@Column(name = "alias")
private String equipName;
}
......@@ -41,12 +41,9 @@ public class StatisticsTimeJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
Calendar instance = Calendar.getInstance();
instance.add(Calendar.DATE, -1);
Date yesterday = instance.getTime();
String startOfDay = DateUtils.parseDateToString(DateUtils.getStartOfDay(-1), "yyyy-MM-dd HH:mm:ss");
String endOfDay = DateUtils.parseDateToString(DateUtils.getEndOfDay(-1), "yyyy-MM-dd HH:mm:ss");
String startOfDay = DateUtils.parseDateToString(DateUtils.getStartOfDay(0), "yyyy-MM-dd HH:mm:ss");
String endOfDay = DateUtils.parseDateToString(DateUtils.getEndOfDay(0), "yyyy-MM-dd HH:mm:ss");
//拿到所有设备
List<EquipInfo> equipInfo = basicInfoMapper.findList(new WhereFilter(),EquipInfo.class);
......@@ -64,26 +61,28 @@ public class StatisticsTimeJob extends QuartzJobBean {
long runtime = data.getEndTime().getTime() - data.getBeginTime().getTime();
totalRuntime += runtime;
}
BigDecimal hours = new BigDecimal(totalRuntime).divide(new BigDecimal(3600000), 2, BigDecimal.ROUND_HALF_UP);
//生成运行时间记录
RuntimeRecord lastRecord = runRecordService.getLastByCode(equipCode);
RuntimeRecord runtimeRecord = new RuntimeRecord();
runtimeRecord.setCreateTime(new Date());
BigDecimal hours = new BigDecimal(totalRuntime).divide(new BigDecimal(3600000), 4, BigDecimal.ROUND_HALF_UP);
runtimeRecord.setCurrentRuntime(hours);
BigDecimal total = BigDecimal.ZERO;
if (null != lastRecord) {
total = lastRecord.getTotalRuntime();
if (null != lastRecord && lastRecord.getCreateTime().before(DateUtils.getEndOfDay(0)) && lastRecord.getCreateTime().after(DateUtils.getStartOfDay(0))){
//如果上一条记录是今天创建的, 则更新当班累计运行时间
lastRecord.setCreateTime(new Date());
lastRecord.setCurrentRuntime(hours);
lastRecord.setTotalRuntime(lastRecord.getTotalRuntime().subtract(lastRecord.getCurrentRuntime()).add(hours));
runtimeRecordMapper.update(lastRecord);
}else{
RuntimeRecord runtimeRecord = new RuntimeRecord();
runtimeRecord.setCreateTime(new Date());
runtimeRecord.setCurrentRuntime(hours);
BigDecimal total = BigDecimal.ZERO;
if (null != lastRecord) {
total = lastRecord.getTotalRuntime();
}
runtimeRecord.setTotalRuntime(total.add(hours));
runtimeRecord.setMachineId(info.getId());
runtimeRecord.setWorkshopCode(info.getWorkshopCode());
runtimeRecordMapper.insert(runtimeRecord);
}
runtimeRecord.setTotalRuntime(total.add(hours));
List<EquipInfo> list = basicInfoMapper.findList(new WhereFilter() {{
addFilter(EquipInfo.class, "equip_code", Operation.EQUAL, equipCode);
}}, EquipInfo.class);
EquipInfo eqp = list.get(0);
runtimeRecord.setMachineId(eqp.getId());
runtimeRecord.setWorkshopCode(eqp.getWorkshopCode());
List<RuntimeRecord> records = new ArrayList<>();
records.add(runtimeRecord);
runtimeRecordMapper.insertLists(records);
}
}
}
......@@ -8,8 +8,14 @@ import net.vtstar.user.mybatis.provider.OrderBy;
import net.vtstar.user.mybatis.provider.WhereFilter;
import net.vtstar.user.search.service.SearchService;
import net.vtstar.utils.asserts.ParamAssert;
import net.vtstar.zhongtong.avi.equipment.domain.*;
import net.vtstar.zhongtong.avi.equipment.mapper.*;
import net.vtstar.zhongtong.avi.equipment.domain.EquipInfo;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopLane;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation;
import net.vtstar.zhongtong.avi.equipment.mapper.BasicInfoMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.PaintshopAreaMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.PaintshopLaneMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.PaintshopStationMapper;
import net.vtstar.zhongtong.avi.sqlserver.domain.MesWorkOrderInfo;
import net.vtstar.zhongtong.avi.sqlserver.mapper.MesWorkOrderMapper;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
......@@ -26,7 +32,6 @@ import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -118,7 +123,6 @@ public class BasicInfoService {
oldData.setEquipCode(equipInfo.getEquipCode());
oldData.setAlias(equipInfo.getAlias());
oldData.setEquipFactory(equipInfo.getEquipFactory());
oldData.setUpdateTime(new Date());
return oldData;
}else{
List<EquipInfo> equipInfos = basicInfoMapper.findList(new WhereFilter() {{
......@@ -127,7 +131,6 @@ public class BasicInfoService {
addFilter("equip_code", Operation.EQUAL, equipInfo.getEquipCode());
}}, EquipInfo.class);
ParamAssert.isTrue(CollectionUtils.isEmpty(equipInfos), "存在车间/分类/编号完全相同的设备!");
equipInfo.setCreateTime(new Date());
return equipInfo;
}
}
......
......@@ -14,6 +14,8 @@ import net.vtstar.zhongtong.avi.equipment.domain.vo.ProgramTransferVO;
import net.vtstar.zhongtong.avi.equipment.mapper.BasicInfoMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.EquipmentDataMapper;
import net.vtstar.zhongtong.avi.global.web.domain.ShowField;
import net.vtstar.zhongtong.avi.monitoring.domain.StationPassInfo;
import net.vtstar.zhongtong.avi.monitoring.mapper.StationPassInfoMapper;
import net.vtstar.zhongtong.avi.utils.SmbFileUtil;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.BorderStyle;
......@@ -37,6 +39,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
......@@ -56,6 +59,9 @@ public class EquipmentService {
@Autowired
private EquipDataChannelService equipDataChannelService;
@Autowired
private StationPassInfoMapper passInfoMapper;
private String baseUrl = "D:/scada/program/";
public List<Map<String, Object>> findRealTimeData(JSONObject pageFilter) {
......@@ -64,7 +70,9 @@ public class EquipmentService {
if(searchCode == null){
return new ArrayList<>();
}
return dataMapper.findJoin(searchService.pageFilter2Filter(pageFilter), searchCode);
return dataMapper.findJoin(searchService.pageFilter2Filter(pageFilter, new WhereFilter(){{
addFilter("status", Operation.EQUAL_GREATER_THAN, 1);
}}), searchCode);
}
public void orderExport(JSONObject pageFilter, HttpServletResponse response) throws IOException {
......@@ -168,4 +176,32 @@ public class EquipmentService {
SmbFileUtil.smbPut("smb://10.1.4.107/数控下料/", transferVO.getFilePath());
// SmbFileUtil.smbPut("smb://" + equipDataChannel.getIp() +" /数控下料/", transferVO.getFilePath());
}
public List<EquipInfo> findByShopCode(String workshopCode) {
return basicInfoMapper.findList(new WhereFilter(){{
addFilter("workshop_code", Operation.EQUAL, workshopCode);
}}, EquipInfo.class);
}
public List<Map<String, Object>> findRealTimeDataMes(String searchCode) {
Class searchCodeClass = classNameCache.get(searchCode, Class.class);
if(StringUtils.isEmpty(searchCode)){
return new ArrayList<>();
}
List<Map<String, Object>> list = dataMapper.findJoin(new WhereFilter() {{
addFilter("status", Operation.EQUAL, 1);
}}, searchCodeClass);
for (Map<String, Object> map : list){
map.put("status", "9");
dataMapper.updateByClass(map, searchCodeClass);
}
return list;
}
public List<StationPassInfo> getStationPassInfo(String vin) {
List<StationPassInfo> list = passInfoMapper.findList(new WhereFilter() {{
addFilter("VIN", Operation.EQUAL, vin);
}}, StationPassInfo.class);
return list;
}
}
......@@ -13,14 +13,19 @@ import net.vtstar.zhongtong.avi.equipment.mapper.BasicInfoMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.EquipmentDataMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.FaultRecordMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.RuntimeRecordMapper;
import net.vtstar.zhongtong.avi.stamping.domain.LaserCuttingMachine;
import net.vtstar.zhongtong.avi.global.constant.Constant;
import net.vtstar.zhongtong.avi.stamping.domain.LaserCutting3DMachine;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.Cache;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* @Author: xiadongwei
......@@ -45,6 +50,11 @@ public class RunRecordService {
@Autowired
private EquipmentDataMapper equipmentData;
@Resource(name = "warningCache")
private Cache warningCache;
@Resource(name = "redisTemplate")
private RedisTemplate redisTemplate;
/**
* 分页查询运行时间
*/
......@@ -60,11 +70,14 @@ public class RunRecordService {
*/
public List<FaultRecord> findPageFault(JSONObject pageFilter) {
PageHelper.startPage(pageFilter.getIntValue("pageNum"), pageFilter.getIntValue("pageSize"));
Set<String> keys = redisTemplate.keys(Constant.LED_PREFIX + "*");
for (String key : keys) {
List warningList = warningCache.get(key, ArrayList.class);
}
return faultRecordMapper.findList(searchService.pageFilter2Filter(pageFilter, new WhereFilter() {{
addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id");
addJoin(PaintshopStation.class, "lane_id", PaintshopLane.class, "id");
addOrderBy(PaintshopStation.class, "sequence", OrderBy.ASC);
}}), PaintshopStation.class);
/*addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id");
addJoin(PaintshopStation.class, "lane_id", PaintshopLane.class, "id");*/
}}), FaultRecord.class);
}
......@@ -87,8 +100,8 @@ public class RunRecordService {
}
public void test() {
EquipmentData laser = new LaserCuttingMachine();
((LaserCuttingMachine) laser).setCuttingSpeed(new BigDecimal(500));
EquipmentData laser = new LaserCutting3DMachine();
((LaserCutting3DMachine) laser).setCuttingSpeed(new BigDecimal(500));
RuntimeRecord runtimeRecord = new RuntimeRecord();
runtimeRecord.setWorkshopCode("23232");
......
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -60,4 +61,11 @@ public class CentralizedFillingClutchMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -104,4 +105,11 @@ public class FloorLeatherHotMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -55,4 +56,11 @@ public class FocusAddingRefrigerantMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -38,12 +39,12 @@ public class FocusBoosterOilMachine extends EquipmentData {
@Show(label = "枪1加注量(ml)")
@ApiModelProperty(notes = "枪1加注量(ml)")
@Column(name = "filling_amount1")
private int fillingAmount1;
private Integer fillingAmount1;
@Show(label = "枪2加注量(ml)")
@ApiModelProperty(notes = "枪2加注量(ml)")
@Column(name = "filling_amount2")
private int fillingAmount2;
private Integer fillingAmount2;
@Show(label = "加注设定值(ml)")
@ApiModelProperty(notes = "加注设定值")
......@@ -70,4 +71,11 @@ public class FocusBoosterOilMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -8,6 +8,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -44,4 +45,11 @@ public class PlateChainMachine{
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -6,6 +6,7 @@ import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -30,4 +31,11 @@ public class PlateChainStateMachine extends EquipmentData {
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -30,7 +30,11 @@ public class CentralizedFillingClutchMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
CentralizedFillingClutchMachine data = (CentralizedFillingClutchMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (null == data.getFillingSettings() || null == data.getFillingAmount() || null == data.getPressureSettings()
|| null == data.getFillingPressure() || data.getFillingSettings() == 0 || data.getPressureSettings() ==0){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -31,10 +31,10 @@ public class FloorLeatherHotMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
FloorLeatherHotMachine data = (FloorLeatherHotMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (data.getCurrentYield() == 0){
if (null == data.getCurrentYield()|| data.getCurrentYield() == 0){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -31,13 +31,13 @@ public class FocusAddingRefrigerantMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
FocusAddingRefrigerantMachine data = (FocusAddingRefrigerantMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
/*if (null == ((FocusAddingRefrigerantMachine) equipmentData).getFillingAmount() ||
((FocusAddingRefrigerantMachine) equipmentData).getFillingAmount().intValue() == 0){
if (null == data.getFillingSettings() || null == data.getFillingAmount() || null == data.getFillingPressure()
|| data.getFillingSettings() == 0){
return false;
}*/
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
......
......@@ -31,7 +31,10 @@ public class FocusBoosterOilMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
FocusBoosterOilMachine data = (FocusBoosterOilMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (null == data.getFillingAmount1() && null == data.getFillingSettings()){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -40,6 +40,9 @@ public class PlateChainStateMachineJob extends GatherJob {
if (state == null) {
return false;
}
/**
* 定时读取板链测试量, 与Redis中保存的测试量比较, 若变量发生变化, 则状态为运行
*/
String key = EquipDataUtil.getTestValueKey(equipmentData.getEquipCode());
Object value = testValueOperations.get(key);
if (value == null || "".equals(value.toString())){
......
......@@ -42,9 +42,6 @@ public class PlateChainTimeMachineJob extends QuartzJobBean {
private static final String NAME = "ASSEMBLY_PLATE_CHAIN";
/**
* 定时读取板链测试量, 与Redis中保存的测试量比较, 若变量发生变化, 则状态为运行
*/
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
List<EquipInfo> equipInfoList = equipInfoService.getEquipInfoList(NAME);
......
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -60,4 +61,11 @@ public class ChassisTorqueWrench extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -40,4 +41,11 @@ public class LubricatingOilConcentrateMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -40,4 +41,11 @@ public class RicetingEquipmentMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -31,7 +31,7 @@ public class ChassisTorqueMachineJob extends GatherJob {
protected boolean handleObject(EquipmentData equipmentData) {
ChassisTorqueWrench data = (ChassisTorqueWrench) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if(null == ((ChassisTorqueWrench) equipmentData).getShaftTorque1()
......
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -40,4 +41,11 @@ public class DryingRoomTempMachine extends EquipmentData {
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -38,4 +39,11 @@ public class ElectrophoresisRectificationMachine extends EquipmentData {
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -25,17 +26,23 @@ public class PaintingPretreatmentMachine extends EquipmentData {
@Show(label = "预脱脂温度")
@Column(name = "cataphoresis_temperature")
@ApiModelProperty(notes = "预脱脂温度")
private Float cataphoresisTemperature;
private Integer cataphoresisTemperature;
@Show(label = "脱脂温度")
@Show(label = "脱脂温度")
@Column(name = "degrease_temperature")
@ApiModelProperty(notes = "脱脂温度")
private Float degreaseTemperature;
private Integer degreaseTemperature;
@Show(label = "磷化温度")
@Show(label = "磷化温度")
@Column(name = "phosphatizing_temperature")
@ApiModelProperty(notes = "磷化温度")
private Float phosphatizingTemperature;
private Integer phosphatizingTemperature;
@Show(label = "磷化热水温度")
@Column(name = "lhrs_temperature")
@ApiModelProperty(notes = "磷化热水温度")
private Integer lhrsTemperature;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
......@@ -43,4 +50,11 @@ public class PaintingPretreatmentMachine extends EquipmentData {
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -34,15 +35,17 @@ public class PaintingRobotMachine extends EquipmentData {
@ApiModelProperty(notes = "系统是否报警")
private int errorState;
@Show(label = "系统状态")
@Column(name = "state")
@ApiModelProperty(notes = "系统状态")
private Integer state;
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -34,4 +35,11 @@ public class PolishingRoomStateMachine extends EquipmentData {
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -43,4 +44,11 @@ public class RotaryRollerBedMachine extends EquipmentData {
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -39,4 +40,11 @@ public class SprayBoothMachine extends EquipmentData {
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -6,6 +6,7 @@ import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -66,4 +67,11 @@ public class SprayBoothStateMachine extends EquipmentData {
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -24,14 +25,26 @@ public class VocMachine extends EquipmentData {
@Search
private String equipCode;
@Show(label = "VOC浓度")
@Column(name = "concentration")
@Show(label = "北侧VOC浓度")
@Column(name = "concentration1")
@ApiModelProperty(notes = "VOC浓度")
private Float concentration;
private Float concentration1;
@Show(label = "南侧VOC浓度")
@Column(name = "concentration2")
@ApiModelProperty(notes = "VOC浓度")
private Float concentration2;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -29,27 +29,42 @@ public class DryingRoomTempMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
DryingRoomTempMachine data = (DryingRoomTempMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
return false;
}
if (null == data.getTemperature()){
if (state == null || "0".equals(state)) {
return false;
}
Integer state1 = data.getCombustionMachineState1();
Integer state2 = data.getCombustionMachineState2();
Integer state3 = data.getCombustionMachineState3();
if (null == state1 && null == state2 && null == state3){
return false;
}
if (null == data.getTemperature()){
return false;
}
if (state1 != null && state1 == 1){
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
if (state1 != null && state1 == 0){
equipmentData.setEquipStatus(EquipStatusEnum.IDLE);
return true;
}
if (state2 != null && state2 == 1){
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
if (state2 != null && state2 == 0){
equipmentData.setEquipStatus(EquipStatusEnum.IDLE);
return true;
}
if (state3 != null && state3 == 1){
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
if (state3 != null && state3 == 0){
equipmentData.setEquipStatus(EquipStatusEnum.IDLE);
return true;
}
return false;
}
......
......@@ -31,7 +31,10 @@ public class ElectrophoresisRectificationMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
ElectrophoresisRectificationMachine data = (ElectrophoresisRectificationMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (data.getVoltage1() == null || data.getVoltage2() == null){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -31,7 +31,11 @@ public class PaintPretreatmentMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
PaintingPretreatmentMachine data = (PaintingPretreatmentMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (null == data.getCataphoresisTemperature() || null == data.getDegreaseTemperature() || null == data.getLhrsTemperature()
|| null == data.getPhosphatizingTemperature()){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -31,7 +31,7 @@ public class PaintingRobotMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
PaintingRobotMachine data = (PaintingRobotMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if(data.getRunState() == 1){
......
......@@ -31,7 +31,7 @@ public class SprayBoothStateMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
SprayBoothStateMachine data = (SprayBoothStateMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
Integer runState = data.getState();
......
......@@ -31,12 +31,14 @@ public class VocMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
VocMachine data = (VocMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (data.getConcentration() == null || "-1".equals(data.getConcentration().toString())){
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
return true;
if (data.getConcentration1() == null || data.getConcentration2() == null){
return false;
}
if (data.getConcentration1() == 0 || data.getConcentration2() == 0){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
......@@ -47,14 +49,13 @@ public class VocMachineJob extends GatherJob {
if (null == value){
return null;
}
if ("concentration".equals(fieldName)){
if (fieldName.startsWith("concentration")){
Long aLong = Long.valueOf(value.toString());
String longStr = Long.toHexString(aLong);
if (longStr.startsWith("0")){
return aLong / 1000;
}
if (longStr.startsWith("4")){
return -1;
return null;
}else{
return aLong / 1000;
}
}
return value;
......
......@@ -20,8 +20,8 @@ import java.util.List;
* @Author: xiadongwei
* @Date: 2019/11/4 18:55
*/
//@Component
//@Order(99)
@Component
@Order(99)
public class SprayBoothListener implements CommandLineRunner {
@Autowired
......@@ -45,7 +45,7 @@ public class SprayBoothListener implements CommandLineRunner {
case 30019151:
name = "喷漆室-02";
break;
case 3:
case 30019158:
name = "喷漆室-03";
break;
case 4:
......
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -43,4 +44,11 @@ public class DustingLineMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -23,7 +24,7 @@ public class PretreatmentMachine extends EquipmentData {
@ApiModelProperty(notes = "设备编号")
private String equipCode;
@Show(label = "热纯水燃烧机温度")
@Show(label = "热纯水燃烧机温度")
@Column(name = "rcs_temperature")
@ApiModelProperty(notes = "热纯水燃烧机温度")
private String rcsTemperature;
......@@ -33,7 +34,7 @@ public class PretreatmentMachine extends EquipmentData {
@ApiModelProperty(notes = "防锈工位燃烧机温度")
private String fxgwTemperature;
@Show(label = "磷化热泵温度")
@Show(label = "磷化热泵温度")
@Column(name = "lh_temperature")
@ApiModelProperty(notes = "磷化热说泵温度")
private String lhTemperature;
......@@ -53,7 +54,7 @@ public class PretreatmentMachine extends EquipmentData {
@ApiModelProperty(notes = "预脱脂电动三通阀温度")
private String ytzTemperature;
@Show(label = "2#酸洗槽时间(s)")
@Show(label = "2#酸洗槽时间(s)")
@Column(name = "rsc2_time")
@ApiModelProperty(notes = "2#若酸洗槽时间")
private Integer rsc2Time;
......@@ -83,14 +84,14 @@ public class PretreatmentMachine extends EquipmentData {
@ApiModelProperty(notes = "7#水洗5时间")
private Integer sx7Time;
@Show(label = "8#表调时间(s)")
@Show(label = "8#水洗6时间(s)")
@Column(name = "bt8_time")
@ApiModelProperty(notes = "8#表调时间")
@ApiModelProperty(notes = "8#水洗6时间")
private Integer bt8Time;
@Show(label = "9#热纯水时间(s)")
@Show(label = "9#热纯水时间(s)")
@Column(name = "rcs9_time")
@ApiModelProperty(notes = "9#热纯水时间")
@ApiModelProperty(notes = "9#热纯水时间")
private Integer rcs9Time;
@Show(label = "10#防锈液时间(s)")
......@@ -103,4 +104,11 @@ public class PretreatmentMachine extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -35,4 +36,11 @@ public class SteelCncCuttingMachine extends EquipmentData {
private Date createTime;
private Integer state;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -47,4 +47,8 @@ public class WeldingRobotMachine{
@Column(name = "create_time")
@Search
private Date createTime;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
package net.vtstar.zhongtong.avi.gateway.parts.job;
import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum;
import net.vtstar.scada.base.gather.domain.EquipmentData;
......@@ -32,7 +33,10 @@ public class DustingLineMachineJob extends GatherJob {
//0待机,1是喷粉
DustingLineMachine data = (DustingLineMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (StringUtil.isNullOrEmpty(data.getState1()) && StringUtil.isNullOrEmpty(data.getState2())){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -41,7 +41,7 @@ public class PretreamentMachineJob extends GatherJob {
@Override
public Object handleValue(String fieldName, Object value) {
if (fieldName.endsWith("Temperature")){
return String.valueOf(Long.valueOf(value.toString()) / 10f);
return value;
}
if (fieldName.endsWith("Time")){
return String.valueOf(Integer.valueOf(value.toString()) / 10);
......
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -89,4 +90,11 @@ public class ChargingPileMachine extends EquipmentData {
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -23,6 +24,9 @@ import java.util.Date;
@Table(name = "eqp_data_hydrogen_station")
public class HydrogenStationVocMachine extends EquipmentData {
@Id
private Long id;
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
......@@ -63,4 +67,8 @@ public class HydrogenStationVocMachine extends EquipmentData {
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -30,11 +30,13 @@ public class ChargingPileMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
ChargingPileMachine data = (ChargingPileMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (null == ((ChargingPileMachine) equipmentData).getBusCode()
|| "".equals(((ChargingPileMachine) equipmentData).getBusCode())){
if (null == data.getBusCode() || "".equals(data.getBusCode())){
return false;
}
if (null == data.getUsePower() || data.getSoc() == 0){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -31,7 +31,7 @@ public class HydrogenStationVocMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
HydrogenStationVocMachine data = (HydrogenStationVocMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -34,24 +35,26 @@ public class AutomaticSpotWeldingMachine extends EquipmentData {
@ApiModelProperty(notes = "焊点1电流")
private Integer weldingSpotA1;
@Show(label = "焊点1电压")
@Column(name = "welding_spot_V_1")
@ApiModelProperty(notes = "焊点1电压")
private Integer weldingSpotV1;
@Show(label = "焊点2电流")
@Column(name = "welding_spot_A_2")
@ApiModelProperty(notes = "焊点2电流")
private Integer weldingSpotA2;
@Show(label = "焊点2电压")
@Column(name = "welding_spot_V_2")
@ApiModelProperty(notes = "焊点2电压")
private Integer weldingSpotV2;
@Show(label = "气压(Mpa)")
@Column(name = "pressure")
@ApiModelProperty(notes = "压")
private Float pressure;
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -78,11 +79,6 @@ public class PlcControlTireMachine1 extends EquipmentData {
@ApiModelProperty(notes = "腰梁高")
private Float waistHeigth;
@Show(label = "地板高度")
@Column(name = "floor_height")
@ApiModelProperty(notes = "地板高度")
private Float floorHeight;
@Show(label = "裙边宽")
@Column(name = "skirt_width")
@ApiModelProperty(notes = "裙边宽")
......@@ -93,6 +89,10 @@ public class PlcControlTireMachine1 extends EquipmentData {
@ApiModelProperty(notes = "车型宽")
private Float vehicleWidth;
@Show(label = "地板高度")
@Column(name = "floor_height")
@ApiModelProperty(notes = "地板高度")
private Float floorHeight;
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
......@@ -100,4 +100,11 @@ public class PlcControlTireMachine1 extends EquipmentData {
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -73,4 +74,11 @@ public class PlcControlTireMachine2 extends EquipmentData {
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -9,11 +9,11 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
@Data
@Search(code = "PLATE_CHAIN")
@ApiModel(value = "板链", description = "焊装板链监控数据表")
@Table(name = "eqp_data_plate_chain")
public class WeldingPlateChainMachine extends EquipmentData {
......@@ -45,4 +45,11 @@ public class WeldingPlateChainMachine extends EquipmentData {
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
package net.vtstar.zhongtong.avi.gateway.welding.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.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* @Author: xiadongwei
* @Date: 2019/10/17 11:52
*/
@ApiModel(value = "焊装车间--板链记录", description = "焊装板链监控数据表")
@Data
@Search(code = "PLATE_CHAIN")
@Table(name = "eqp_data_welding_plate_chain_time")
public class WeldingPlateChainTimeMachine {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
@Search
private String equipCode;
@Show(label = "设备名称")
@Column(name = "eqp_name")
@ApiModelProperty(notes = "设备名称")
@Search
private String alias;
@Show(label = "当班平均运行间隔时间")
@ApiModelProperty(notes = "当班平均运行间隔时间")
@Column(name = "average_time")
private String averageTime;
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
@Search
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -31,7 +31,7 @@ public class AutomaticSpotWeldingMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
AutomaticSpotWeldingMachine data = (AutomaticSpotWeldingMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (data.getWeldingSpotA1() == null || data.getWeldingSpotA2() == null){
......@@ -43,14 +43,21 @@ public class AutomaticSpotWeldingMachineJob extends GatherJob {
@Override
public Object handleValue(String fieldName, Object value) {
if (null == value){
return null;
}
if (fieldName.startsWith("weldingSpotA")){
return Float.valueOf(Integer.valueOf(value.toString()) / 65535f * 10 * 4000).intValue();
}
if ("pressure".equals(fieldName)){
return Integer.valueOf(value.toString()) / 1000f;
}
return value;
}
@Override
protected void postHandle(EquipmentData equipmentData) {
AutomaticSpotWeldingMachine data = (AutomaticSpotWeldingMachine) equipmentData;
(data).setWeldingSpotV1((data).getWeldingSpotA1() * 4000);
(data).setWeldingSpotV2((data).getWeldingSpotA2() * 4000);
(data).setCreateTime(new Date());
}
}
......@@ -31,10 +31,22 @@ public class PlateChainMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
WeldingPlateChainMachine data = (WeldingPlateChainMachine) equipmentData;
String state = data.getStatus();
if (state == null){
return false;
}
if (state != null && "0".equals(state)) {
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
if (data.getState() == 0 && data.getErrorState() == 0){
equipmentData.setEquipStatus(EquipStatusEnum.DISCONNECT);
}
if (data.getState() == 1){
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
}
if (data.getErrorState() == 1){
//TODO: 设备报警
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
}
return true;
}
......
......@@ -31,7 +31,10 @@ public class PlcControlTireMachine1Job extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
PlcControlTireMachine1 data = (PlcControlTireMachine1) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (null == data.getTopBusWidth()){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -31,7 +31,10 @@ public class PlcControlTireMachine2Job extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
PlcControlTireMachine2 data = (PlcControlTireMachine2) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
if (state == null || "0".equals(state)) {
return false;
}
if (null == data.getTopBusWidth()){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
package net.vtstar.zhongtong.avi.gateway.welding.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.scada.base.equipmgt.domain.EquipInfo;
import net.vtstar.scada.base.equipmgt.mapper.EquipInfoMapper;
import net.vtstar.scada.base.equipmgt.service.EquipDataService;
import net.vtstar.scada.base.equipmgt.service.EquipInfoService;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.utils.DateUtils;
import net.vtstar.zhongtong.avi.equipment.mapper.EquipmentDataMapper;
import net.vtstar.zhongtong.avi.gateway.welding.domain.WeldingPlateChainTimeMachine;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
/**
* 焊装板链设备数据采集JOB
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public class WeldingPlateChainTimeMachineJob extends QuartzJobBean {
@Autowired
EquipInfoMapper equipInfoMapper;
@Autowired
private EquipInfoService equipInfoService;
@Autowired
private EquipDataService equipDataService;
@Autowired
private EquipmentDataMapper dataMapper;
private static final String NAME = "PLATE_CHAIN";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
List<EquipInfo> equipInfoList = equipInfoService.getEquipInfoList(NAME);
if (CollectionUtils.isEmpty(equipInfoList)) {
return;
}
for (EquipInfo equipInfo : equipInfoList){
String startOfDay = DateUtils.parseDateToString(DateUtils.getStartOfDay(0, new Date()), "yyyy-MM-dd HH:mm:ss");
String endOfDay = DateUtils.parseDateToString(DateUtils.getEndOfDay(0, new Date()), "yyyy-MM-dd HH:mm:ss");
List<EquipmentData> runByCodeAndDate = equipDataService.findRunByCodeAndDate2(equipInfo.getEquipCode(), startOfDay, endOfDay);
if (runByCodeAndDate.size() < 2){
continue;
}
Date startTime = null;
//总间隔时间
long totalTime = 0;
for (EquipmentData equipmentData : runByCodeAndDate){
if (null == startTime){
startTime = equipmentData.getEndTime();
continue;
}
//如果记录的开始时间大于上一条记录的结束时间
Date beginTime = equipmentData.getBeginTime();
if (null == beginTime){
continue;
}
if (beginTime.after(startTime)){
totalTime = totalTime + beginTime.getTime() - startTime.getTime();
}
}
if (totalTime != 0){
WeldingPlateChainTimeMachine plateChainMachine = new WeldingPlateChainTimeMachine();
plateChainMachine.setEquipCode(equipInfo.getEquipCode());
plateChainMachine.setAlias(equipInfo.getAlias());
plateChainMachine.setCreateTime(new Date());
String averageTime = (totalTime / runByCodeAndDate.size() / 1000 / 60) + "min" + (totalTime / runByCodeAndDate.size() / 1000 % 60) + "s";
plateChainMachine.setAverageTime(averageTime);
dataMapper.insert(plateChainMachine);
}
}
}
}
......@@ -71,7 +71,7 @@ public class LedController {
@ApiOperation(value = "led VOC浓度接口", response = VocVO.class)
@GetMapping(value = "/info/VOC")
private Return getVOCInfo() {
//TODO: voc进出口浓度 真实数据
VocVO vocVO = new VocVO();
vocVO.setExitCONC(new BigDecimal(0.47));
vocVO.setNorthCONC(new BigDecimal(0.25));
......
......@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -13,7 +14,7 @@ import java.util.Date;
@ApiModel(value = "报警信息")
public class Warning {
@Column(name = "id")
@Id
private Long id;
@Column(name = "info")
......
......@@ -8,7 +8,13 @@ package net.vtstar.zhongtong.avi.monitoring.domain.enums;
*/
public enum Direction {
/**
* 在平移车东侧
*/
EAST,
/**
* 在平移车西侧
*/
WEST
}
......@@ -6,4 +6,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface WarningMapper extends BaseMapper<Warning> {
int insertRecord(Warning record);
}
......@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.utils.DateUtils;
import net.vtstar.utils.domain.Return;
import net.vtstar.zhongtong.avi.equipment.domain.RuntimeRecord;
import net.vtstar.zhongtong.avi.monitoring.domain.Warning;
import net.vtstar.zhongtong.avi.report.domain.vo.EquStatePercent;
import net.vtstar.zhongtong.avi.report.domain.vo.TrendVO;
......@@ -185,4 +186,18 @@ public class ReportController {
warnings.add(warning1);
return Return.success(warnings);
}
@ApiOperation("设备运行时间统计")
@GetMapping("/runTimeList")
private Return getMachineRunTime(@RequestParam String workshopCode){
//TODO:
ArrayList<Object> list = new ArrayList<>();
for (int i = 0; i < 10; i++){
RuntimeRecord runtimeRecord = new RuntimeRecord();
runtimeRecord.setEquipCode("喷涂室00" + i);
runtimeRecord.setCurrentRuntime(new BigDecimal(5));
list.add(runtimeRecord);
}
return Return.success(list);
}
}
......@@ -8,6 +8,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -58,4 +59,15 @@ public class AssemblyTorqueWrench {
@ApiModelProperty(notes = "扭力状态")
@Column(name = "TorqueStatus")
private String TorqueStatus;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
......@@ -8,6 +8,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -129,4 +130,15 @@ public class TestLineResult {
@Column(name = "TEST_RESULT")
private String TEST_RESULT;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
......@@ -8,6 +8,7 @@ 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.Id;
import javax.persistence.Table;
import java.util.Date;
......@@ -63,4 +64,15 @@ public class TestSpeedResult {
@ApiModelProperty(notes = "错误帧")
@Column(name = "error_frame")
private Integer errorFrame;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
......@@ -74,6 +74,7 @@ public class AssemblyTorqueWrenchJob extends QuartzJobBean {
map.setResultDateTime(rs.getTimestamp("ResultDateTime"));
map.setOverallStatus(rs.getString("OverallStatus"));
map.setTorqueStatus(rs.getString("TorqueStatus"));
map.setCreateTime(rs.getTimestamp("ResultDateTime"));
return map;
});
log.error("总装车间智能扭力扳手查询到数据: {} 条", query.size());
......
......@@ -69,7 +69,9 @@ public class MesWorkOrderJob extends QuartzJobBean {
map.setWorkshop(rs.getString("WorkShopCode"));
map.setProductionLine(rs.getString("MLine"));
map.setStartDate(rs.getDate("StartDate"));
map.setEndDate(rs.getDate("EndDate"));
if (!"1900-01-01 00:00:00".equals(DateUtils.parseDateToString(rs.getDate("EndDate"), "yyyy-MM-dd HH:mm:ss"))){
map.setEndDate(rs.getDate("EndDate"));
}
map.setDeliveryDate(rs.getDate("DeliveryDate"));
map.setStatus(rs.getString("Status"));
map.setCrtDate(rs.getDate("CrtDate"));
......
......@@ -82,6 +82,7 @@ public class TestLineResultJob extends QuartzJobBean {
map.setSPEED(rs.getFloat("SPEED"));
map.setSIDESLIP(rs.getFloat("SIDESLIP"));
map.setTEST_RESULT(rs.getString("TEST_RESULT"));
map.setCreateTime(rs.getTimestamp("TEST_TIME"));
return map;
});
log.error("检测线查询到数据: {} 条", query.size());
......
......@@ -66,6 +66,7 @@ public class TestSpeedResultJob extends QuartzJobBean {
map.setSPEEDXSDG(rs.getString("SPEED_XSDG"));
map.setSPEED_XSBZ0(rs.getFloat("SPEED_XSBZ0"));
map.setSPEED_XSBZ1(rs.getFloat("SPEED_XSBZ1"));
map.setCreateTime(rs.getTimestamp("testDate"));
return map;
});
log.error("限速值查询到数据: {} 条", query.size());
......
......@@ -9,6 +9,7 @@ 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.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
......@@ -19,6 +20,21 @@ import java.util.Date;
@Table(name = "eqp_data_3d_laser")
public class LaserCutting3DMachine extends EquipmentData {
@Id
private Long id;
@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
@Show(label = "切割速率",sortable = true)
@ApiModelProperty("切割速率")
......@@ -43,5 +59,6 @@ public class LaserCutting3DMachine extends EquipmentData {
@Column(name = "create_time")
private Date createTime;
private Integer state;
@ApiModelProperty("采集状态")
private String status;
}
......@@ -30,18 +30,18 @@ public class LaserCuttingMachineJob extends GatherJob {
public boolean handleObject(EquipmentData equipmentData) {
LaserCutting3DMachine data = (LaserCutting3DMachine) equipmentData;
Integer state = data.getState();
String state = data.getStatus();
if (state == null) {
return false;
}
switch (state) {
case 0:
case "0":
equipmentData.setEquipStatus(EquipStatusEnum.SHUTDOWN);
break;
case 1:
case "1":
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
break;
case 2:
case "2":
equipmentData.setEquipStatus(EquipStatusEnum.ALARM);
break;
default:
......
spring.profiles.include=mybatis,quartz,swagger,security,ztip,mqtt,datasource
spring.profiles.include=mybatis,quartz,swagger,security,mqtt,ztip,modbus
# Mysql
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/zhongtong_dev?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=zhongtongdev
spring.datasource.username=root
spring.datasource.password=123456
# redis
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
# sql server(试交车间--检测线192.168.1.200)
spring.test.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://192.168.1.200:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.username=admin
spring.test.sqlserver.password=123456
# sql server(试交车间--限速值)
spring.speed.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.speed.sqlserver.jdbc-url=jdbc:sqlserver://10.1.25.134:1433;DatabaseName=localdb
spring.speed.sqlserver.username=admin
spring.speed.sqlserver.password=123456
# sql server(总装车间--智能扭力扳手)
spring.torque.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.torque.sqlserver.jdbc-url=jdbc:sqlserver://10.1.25.116:1433;DatabaseName=AtlasCopco_ToolsNet_Database
spring.torque.sqlserver.username=admin
spring.torque.sqlserver.password=123456
# sql server(MES)
spring.mes.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.mes.sqlserver.jdbc-url=jdbc:sqlserver://192.168.100.226:1433;DatabaseName=PaintingPlan
spring.mes.sqlserver.username=wanteng
spring.mes.sqlserver.password=wanteng@2019
logging.level.root=info
logging.level.net.vtstar=info
......@@ -58,7 +58,10 @@ auth.path-permit-all.method-all=/**/**,\
/api/server/time,\
/api/scada/base/url,\
/api/monitorConfig/equipCode,\
/api/workPositionButton/buttonAuthList
/api/workPositionButton/buttonAuthList,\
/api/equipment/findByShopCode,\
/api/equipment/data,\
/api/equipment/stationPassInfo
auth.schedule.initial-delay=60000
auth.schedule.fixed-rate=300000
auth.licence.app-name=huaying-mes
......
<?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.monitoring.mapper.WarningMapper">
<insert id="insertRecord" parameterType="net.vtstar.zhongtong.avi.monitoring.domain.Warning">
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
SELECT @@IDENTITY
</selectKey>
insert into warning (info, type, name)
values(#{info},#{type},#{name})
</insert>
</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