Commit 3b03b053 authored by 夏东伟's avatar 夏东伟

网关采集

parent ba769016
......@@ -36,9 +36,10 @@ public class DryingRoomTempController {
" \"beginTime\": \"指定日期,Data类型, (yyyy-MM-dd), 可以为空, 默认当天\",\n" +
"}")
@GetMapping("/equipPage")
public Return getDryingRoomState(@RequestParam(value = "equipCode", required = false) String equipCode,
public Return getDryingRoomState(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize,
@RequestParam(value = "equipCode", required = false) String equipCode,
@RequestParam(value = "beginTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Date beginTime){
return Return.success(new PageInfo<>(service.findPageEquip(equipCode, beginTime)));
return Return.success(new PageInfo<>(service.findPageEquip(pageNum, pageSize, equipCode, beginTime)));
}
@ApiOperation(value = "获取指定时间内的温度表", response = DryingRoomTempMachine.class, responseContainer = "List", notes =
......@@ -47,8 +48,9 @@ public class DryingRoomTempController {
" \"endTime\": \"结束时间,String类型, (yyyy-MM-dd HH:mm:ss)\"\n" +
"}")
@GetMapping("/temp")
public Return getTempByStateId(@RequestParam(value = "beginTime")String beginTime,
public Return getTempByStateId(@RequestParam(value = "equipCode") String equipCode,
@RequestParam(value = "beginTime")String beginTime,
@RequestParam(value = "endTime") String endTime){
return Return.success(service.getTempByStateId(beginTime, endTime));
return Return.success(service.getTempByStateId(equipCode, beginTime, endTime));
}
}
......@@ -33,8 +33,8 @@ public class DryingRoomTempService {
/**
* 查询温度状态列表
*/
public List<EquipmentData> findPageEquip(String equipCode, Date beginTime) {
PageHelper.startPage(1, 20);
public List<EquipmentData> findPageEquip(Integer pageNum, Integer pageSize, String equipCode, Date beginTime) {
PageHelper.startPage(pageNum, pageSize);
if (null == beginTime){
beginTime = new Date();
}
......@@ -47,8 +47,9 @@ public class DryingRoomTempService {
}
public List<DryingRoomTempMachine> getTempByStateId(String beginTime, String endTime) {
public List<DryingRoomTempMachine> getTempByStateId(String equipCode, String beginTime, String endTime) {
return dataMapper.findJoin(new WhereFilter() {{
addFilter("eqp_code", Operation.EQUAL, equipCode);
addFilter("create_time", Operation.EQUAL_GREATER_THAN, beginTime);
addFilter("create_time", Operation.EQUAL_LESS_THAN, endTime);
}}, DryingRoomTempMachine.class);
......
......@@ -166,5 +166,6 @@ public class EquipmentService {
public void putFile(ProgramTransferVO transferVO) {
EquipDataChannel equipDataChannel = equipDataChannelService.getByEquipCode(transferVO.getEquipCode());
SmbFileUtil.smbPut("smb://10.1.4.107/数控下料/", transferVO.getFilePath());
// SmbFileUtil.smbPut("smb://" + equipDataChannel.getIp() +" /数控下料/", transferVO.getFilePath());
}
}
......@@ -4,12 +4,16 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.util.Date;
@Data
@Search(code = "DRYING_ROOM")
@ApiModel(value = "涂装--烘干室温度", description = "烘干室监控数据表")
@Table(name = "eqp_data_drying_room_temp")
public class DryingRoomTempMachine extends EquipmentData {
......@@ -31,7 +35,8 @@ public class DryingRoomTempMachine extends EquipmentData {
@ApiModelProperty(notes = "燃烧机状态3")
private Integer combustionMachineState3;
@ApiModelProperty("采集时间")
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@Column(name = "create_time")
private Date createTime;
......
package net.vtstar.zhongtong.avi.gateway.painting.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.util.Date;
@Data
@Search(code = "ELECTROPHORESIS_RECTIFICATION")
@ApiModel(value = "涂装--电泳整流", description = "电泳整流监控数据表")
@Table(name = "eqp_data_rectification")
public class ElectrophoresisRectificationMachine extends EquipmentData {
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String equipCode;
@Show(label = "一段电压")
@Column(name = "voltage_1")
@ApiModelProperty(notes = "一段电压")
private Float voltage1;
@Show(label = "二段电压")
@Column(name = "voltage_2")
@ApiModelProperty(notes = "二段电压")
private Float voltage2;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("采集时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.painting.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.util.Date;
@Data
@Search(code = "VEHICLE_PRETREATMENT_ELECTROPHORESIS")
@ApiModel(value = "涂装--前处理", description = "前处理监控数据表")
@Table(name = "eqp_data_paint_pretreatment")
public class PaintingPretreatmentMachine extends EquipmentData {
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String equipCode;
@Show(label = "预脱脂温度")
@Column(name = "cataphoresis_temperature")
@ApiModelProperty(notes = "预脱脂温度")
private Float cataphoresisTemperature;
@Show(label = "脱脂温度")
@Column(name = "degrease_temperature")
@ApiModelProperty(notes = "脱脂温度")
private Float degreaseTemperature;
@Show(label = "磷化温度")
@Column(name = "phosphatizing_temperature")
@ApiModelProperty(notes = "磷化温度")
private Float phosphatizingTemperature;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("采集时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.painting.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.util.Date;
@Data
@Search(code = "POLISHING_ROOM")
@ApiModel("涂装-打磨室风机状态及报警信息")
@Table(name = "eqp_data_polishing_booth_state")
public class PolishingRoomStateMachine extends EquipmentData {
@Show(label = "设备编号")
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String equipCode;
@Show(label = "燃烧机机运行信号")
@Column(name = "state")
@ApiModelProperty(notes = "燃烧机机运行信号")
private Integer state;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.gateway.painting.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.util.Date;
@Data
@Search(code = "ROTARY_ROLLER_BED")
@ApiModel(value = "旋转辊床", description = "旋转辊床监控数据表")
@Table(name = "eqp_data_rotary_roller_red")
public class RotaryRollerBedMachine extends EquipmentData {
@Show(label = "当班运行(焊装)")
@Column(name = "run_num_welding")
@ApiModelProperty(notes = "当班运行(焊装)")
private Integer runNumWelding;
@Show(label = "当班运行(涂装进)")
@Column(name = "run_num_painting_1")
@ApiModelProperty(notes = "当班运行(涂装进)")
private Integer runNumPainting1;
@Show(label = "当班运行(涂装出)")
@Column(name = "run_num_painting_2")
@ApiModelProperty(notes = "当班运行(涂装出)")
private Integer runNumPainting2;
@Show(label = "当班运行(底盘)")
@Column(name = "run_num_chassis")
@ApiModelProperty(notes = "当班运行(底盘)")
private Integer runNumChassis;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
......@@ -6,6 +6,7 @@ import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
......@@ -33,7 +34,8 @@ public class SprayBoothMachine extends EquipmentData {
@ApiModelProperty(notes = "湿度")
private Float humidity;
@Show(label = "采集时间")
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
......
......@@ -6,6 +6,7 @@ import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
......@@ -28,7 +29,8 @@ public class VocMachine extends EquipmentData {
@ApiModelProperty(notes = "VOC浓度")
private Float concentration;
@Show(label = "采集时间")
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
......
......@@ -35,7 +35,18 @@ public class DryingRoomTempMachineJob extends GatherJob {
if (null == data.getTemperature()){
return false;
}
if (data.getCombustionMachineState1() == 1 || data.getCombustionMachineState2() == 1 || data.getCombustionMachineState3() == 1){
Integer state1 = data.getCombustionMachineState1();
Integer state2 = data.getCombustionMachineState2();
Integer state3 = data.getCombustionMachineState3();
if (state1 != null && state1 == 1){
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
if (state2 != null && state2 == 1){
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
if (state3 != null && state3 == 1){
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
......@@ -44,6 +55,13 @@ public class DryingRoomTempMachineJob extends GatherJob {
@Override
public Object handleValue(String fieldName, Object value) {
if (null == value){
return null;
}
if (fieldName.startsWith("combustionMachineState")){
Integer valueInt = Integer.valueOf(value.toString());
return valueInt & 0x01;
}
return value;
}
......
package net.vtstar.zhongtong.avi.gateway.painting.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.scada.base.gather.job.GatherJob;
import net.vtstar.zhongtong.avi.gateway.painting.domain.ElectrophoresisRectificationMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 电泳整流数据采集JOB
*/
@Slf4j
@Component
public class ElectrophoresisRectificationMachineJob extends GatherJob {
private static final String NAME = "ELECTROPHORESIS_RECTIFICATION";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, ElectrophoresisRectificationMachine.class);
}
@Override
public boolean handleObject(EquipmentData equipmentData) {
ElectrophoresisRectificationMachine data = (ElectrophoresisRectificationMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
@Override
public Object handleValue(String fieldName, Object value) {
if (null == value){
return null;
}
return value;
}
@Override
protected void postHandle(EquipmentData equipmentData) {
((ElectrophoresisRectificationMachine)equipmentData).setCreateTime(new Date());
}
}
package net.vtstar.zhongtong.avi.gateway.painting.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.scada.base.equipmgt.domain.Enum.EquipStatusEnum;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.scada.base.gather.job.GatherJob;
import net.vtstar.zhongtong.avi.gateway.painting.domain.PaintingPretreatmentMachine;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 前处理温度数据采集JOB
*/
@Slf4j
@Component
public class PaintPretreatmentMachineJob extends GatherJob {
private static final String NAME = "VEHICLE_PRETREATMENT_ELECTROPHORESIS";
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, PaintingPretreatmentMachine.class);
}
@Override
public boolean handleObject(EquipmentData equipmentData) {
PaintingPretreatmentMachine data = (PaintingPretreatmentMachine) equipmentData;
String state = data.getStatus();
if (state != null && "0".equals(state)) {
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
@Override
public Object handleValue(String fieldName, Object value) {
if (null == value){
return null;
}
return value;
}
@Override
protected void postHandle(EquipmentData equipmentData) {
((PaintingPretreatmentMachine)equipmentData).setCreateTime(new Date());
}
}
package net.vtstar.zhongtong.avi.gateway.painting.job;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.user.mybatis.provider.Operation;
import net.vtstar.user.mybatis.provider.WhereFilter;
import net.vtstar.utils.CollecUtils;
import net.vtstar.utils.DateUtils;
import net.vtstar.zhongtong.avi.gateway.painting.domain.RotaryRollerBedMachine;
import net.vtstar.zhongtong.avi.gateway.painting.mapper.RotaryRollerBedMapper;
import net.vtstar.zhongtong.avi.utils.EquipDataUtil;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.scheduling.quartz.QuartzJobBean;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
* 旋转辊床数据采集JOB
*/
@Slf4j
@Component
@DisallowConcurrentExecution
public class RotaryRollerBedMachineJob extends QuartzJobBean {
private static final String NAME = "ROTARY_ROLLER_BED";
@Resource(name = "redisTemplate")
protected ValueOperations testValueOperations;
@Autowired
private RotaryRollerBedMapper mapper;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
String keyW = EquipDataUtil.getTestValueKey(NAME + "_W");
String keyP1 = EquipDataUtil.getTestValueKey(NAME + "_P1");
String keyP2 = EquipDataUtil.getTestValueKey(NAME + "_P2");
String keyC = EquipDataUtil.getTestValueKey(NAME + "_C");
if (testValueOperations.get(keyW) == null || "".equals(testValueOperations.get(keyW).toString())){
testValueOperations.set(keyW, 0);
}
if (testValueOperations.get(keyP1) == null || "".equals(testValueOperations.get(keyP1).toString())){
testValueOperations.set(keyP1, 0);
}
if (testValueOperations.get(keyP2) == null || "".equals(testValueOperations.get(keyP2).toString())){
testValueOperations.set(keyP2, 0);
}
if (testValueOperations.get(keyC) == null || "".equals(testValueOperations.get(keyC).toString())){
testValueOperations.set(keyC, 0);
}
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<RotaryRollerBedMachine> list = mapper.findList(new WhereFilter() {{
addFilter("create_time", Operation.EQUAL_GREATER_THAN, startOfDay);
addFilter("create_time", Operation.EQUAL_LESS_THAN, endOfDay);
}}, RotaryRollerBedMachine.class);
if (CollecUtils.isEmpty(list)){
RotaryRollerBedMachine machine = new RotaryRollerBedMachine();
machine.setRunNumWelding(Integer.valueOf(testValueOperations.get(keyW).toString()));
machine.setRunNumPainting1(Integer.valueOf(testValueOperations.get(keyP1).toString()));
machine.setRunNumPainting2(Integer.valueOf(testValueOperations.get(keyP2).toString()));
machine.setRunNumChassis(Integer.valueOf(testValueOperations.get(keyC).toString()));
machine.setCreateTime(new Date());
mapper.insert(machine);
}else {
RotaryRollerBedMachine machine = list.get(0);
machine.setRunNumWelding(Integer.valueOf(testValueOperations.get(keyW).toString()));
machine.setRunNumPainting1(Integer.valueOf(testValueOperations.get(keyP1).toString()));
machine.setRunNumPainting2(Integer.valueOf(testValueOperations.get(keyP2).toString()));
machine.setRunNumChassis(Integer.valueOf(testValueOperations.get(keyC).toString()));
mapper.update(machine);
}
}
}
......@@ -48,42 +48,15 @@ public class SprayBoothStateMachineJob extends GatherJob {
@Override
public Object handleValue(String fieldName, Object value) {
return value;
if (null == value){
return null;
}
Integer valueInt = Integer.valueOf(value.toString());
return valueInt & 0x01;
}
@Override
protected void postHandle(EquipmentData equipmentData) {
((SprayBoothStateMachine)equipmentData).setCreateTime(new Date());
if (1 == ((SprayBoothStateMachine) equipmentData).getPfjError()){
//todo:创建报警记录,排风机故障信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getQtxlError()){
//todo:创建报警记录,气体泄露报警信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getRsjError()){
//todo:创建报警记录,燃烧机故障信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getSfcwError()){
//todo:创建报警记录,送风超温信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getSfjError()){
//todo:创建报警记录,送风机故障信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getXhsgywError()){
//todo:创建报警记录,循环水高液位信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getXhsjError()){
//todo:创建报警记录,循环水泵故障信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getSfcsError()){
//todo:创建报警记录,送风超湿信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getJsError()){
//todo:创建报警记录,加湿故障信号
}
if (1 == ((SprayBoothStateMachine) equipmentData).getJtError()){
//todo:创建报警记录,急停钮
}
}
}
package net.vtstar.zhongtong.avi.gateway.painting.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.gateway.painting.domain.RotaryRollerBedMachine;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface RotaryRollerBedMapper extends BaseMapper<RotaryRollerBedMachine> {
}
package net.vtstar.zhongtong.avi.ledlamp.service;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea;
import net.vtstar.scada.base.equipmgt.service.EquipDataService;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.utils.DateUtils;
import net.vtstar.zhongtong.avi.global.constant.Constant;
import net.vtstar.zhongtong.avi.ledlamp.domain.vo.LedStationVO;
import net.vtstar.zhongtong.avi.monitoring.domain.Warning;
import net.vtstar.zhongtong.avi.monitoring.domain.WorkRoom;
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.StationState;
import net.vtstar.zhongtong.avi.monitoring.domain.vo.CarStatisticsVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.Cache;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
......@@ -27,6 +33,8 @@ public class LedService {
private Cache stationCache;
@Resource(name = "roomCache")
private Cache roomCache;
@Autowired
private EquipDataService equipDataService;
public LedStationVO getInfoByNo(String ledNo) {
......@@ -46,7 +54,7 @@ public class LedService {
//获得车辆区域进出车统计
List<CarStatisticsVO> sta = webStationCache.get("busSta", ArrayList.class);
if (CollectionUtils.isEmpty(sta))
/*if (CollectionUtils.isEmpty(sta))
return null;
for (CarStatisticsVO carStatisticsVO : sta) {
if (!carStatisticsVO.getAreaNo().equals(ledNo)) {
......@@ -61,7 +69,7 @@ public class LedService {
if (carStatisticsVO.getBusType().equals(BusType.OUT)) {
vo.setBusOut(carStatisticsVO.getSize());
}
}
}*/
if (ledNo.equals("1") || ledNo.equals("2") || ledNo.equals("3") || ledNo.equals("4")) {
List<Warning> warnings = new ArrayList<>();
......@@ -69,12 +77,38 @@ public class LedService {
vo.setRoomInfoList(new ArrayList<>());
warningCache.get(ledNo);
} else {
List<WorkRoom> room = roomCache.get(Constant.LED_PREFIX + ledNo, ArrayList.class);
if (CollectionUtils.isEmpty(room)) {
vo.setRoomInfoList(new ArrayList<>());
} else {
vo.setRoomInfoList(room);
List<WorkRoom> room = new ArrayList<>();
List<String> eqpCodeList = new ArrayList<>();
if (ledNo.equals("5")) {
eqpCodeList = Arrays.asList("中涂喷漆室349", "中涂喷漆室350");
}
if (ledNo.equals("6")) {
eqpCodeList = Arrays.asList("彩条喷漆室365", "彩条喷漆室367", "彩条喷漆室369", "彩条喷漆室371");
}
if (ledNo.equals("7")) {
eqpCodeList = Arrays.asList("罩光喷漆室374", "面漆喷漆室359", "面漆喷漆室361", "面漆喷漆室363");
}
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");
for (String eqpCode : eqpCodeList) {
List<EquipmentData> runData = equipDataService.findRunByCode(eqpCode, startOfDay, endOfDay);
for (EquipmentData data : runData) {
if (data.getBeginTime() == null || data.getEndTime() == null) {
continue;
}
WorkRoom item = new WorkRoom();
item.setName(data.getEquipCode());
if ("RUN".equals(data.getStatus())) {
item.setStationState(StationState.USE);
} else {
item.setStationState(StationState.FREE);
}
long workTime = data.getEndTime().getTime() - data.getBeginTime().getTime();
item.setWorkingHours(new BigDecimal(workTime / 1000 / 60f).setScale(2, BigDecimal.ROUND_HALF_UP));
room.add(item);
}
}
vo.setRoomInfoList(room);
}
return vo;
}
......
......@@ -5,10 +5,12 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.monitoring.domain.Warning;
import net.vtstar.zhongtong.avi.report.domain.vo.EquStatePercent;
import net.vtstar.zhongtong.avi.report.domain.vo.TrendVO;
import net.vtstar.zhongtong.avi.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -20,6 +22,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
@Slf4j
@Api(description = "中控室监控页面")
......@@ -28,7 +31,10 @@ import java.util.List;
@RequestMapping("/area")
public class ReportController {
@ApiOperation(value = "设备利用率")
private Integer errNum = 2;
private Integer runNum = 5;
@ApiOperation(value = "设备可动率")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "beginTime", value = "起始日期", dataType = "date", paramType = "query", example = "2019-01-23T07:26:06.742Z"),
@ApiImplicitParam(name = "endTime", value = "截止日期", dataType = "date", paramType = "query", example = "2019-03-23T07:26:06.742Z")
......@@ -37,7 +43,7 @@ public class ReportController {
private Return getOeu(@RequestParam(value = "beginTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date beginTime,
@RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date endTime) {
return Return.success(new BigDecimal(53.2));
return Return.success(new BigDecimal(93 + Math.random() * runNum).setScale(2, BigDecimal.ROUND_HALF_UP));
}
@ApiOperation(value = "设备故障率")
......@@ -48,11 +54,11 @@ public class ReportController {
@GetMapping("/efr")
private Return getOeuTrend(@RequestParam(value = "beginTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date beginTime,
@RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date endTime) {
return Return.success(new BigDecimal(5.2));
Random random = new Random(3);
return Return.success(new BigDecimal(2 + Math.random() * errNum).setScale(2, BigDecimal.ROUND_HALF_UP));
}
@ApiOperation(value = "设备利用率趋势图", response = TrendVO.class)
@ApiOperation(value = "设备可动率趋势图", response = TrendVO.class)
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "beginTime", value = "起始日期", dataType = "date", paramType = "query", example = "2019-01-23T07:26:06.742Z"),
@ApiImplicitParam(name = "endTime", value = "截止日期", dataType = "date", paramType = "query", example = "2019-03-23T07:26:06.742Z")
......@@ -60,13 +66,18 @@ public class ReportController {
@GetMapping("/oeuTrend")
private Return getEfr(@RequestParam(value = "beginTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date beginTime,
@RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date endTime) {
if (null == beginTime || null == endTime){
endTime = new Date();
beginTime = DateUtils.getStartOfDay(5);
}
List<Date> twoDaysDay = DateUtil.getTwoDaysDay(beginTime, endTime);
List<TrendVO> trendVOS = new ArrayList<>();
for (int i = 1; i < 5; i++) {
for (Date date : twoDaysDay){
String dataString = DateUtil.getTimeString(date, "yyyyMMdd");
TrendVO trendVO = new TrendVO();
trendVO.setDate("20190" + i);
trendVO.setPercent(new BigDecimal(i));
trendVO.setDate(dataString);
trendVO.setPercent(new BigDecimal(93 + Math.random() * runNum).setScale(2, BigDecimal.ROUND_HALF_UP));
trendVOS.add(trendVO);
}
return Return.success(trendVOS);
}
......@@ -79,11 +90,18 @@ public class ReportController {
@GetMapping("/efrTrend")
private Return getEfrTrend(@RequestParam(value = "beginTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date beginTime,
@RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date endTime) {
if (null == beginTime || null == endTime){
endTime = new Date();
beginTime = DateUtils.getStartOfDay(5);
}
List<Date> twoDaysDay = DateUtil.getTwoDaysDay(beginTime, endTime);
List<TrendVO> trendVOS = new ArrayList<>();
for (int i = 1; i < 5; i++) {
Random random = new Random(3);
for (Date date : twoDaysDay){
String dataString = DateUtil.getTimeString(date, "yyyyMMdd");
TrendVO trendVO = new TrendVO();
trendVO.setDate("20190" + i);
trendVO.setPercent(new BigDecimal(i));
trendVO.setDate(dataString);
trendVO.setPercent(new BigDecimal(2 + Math.random() * errNum).setScale(2, BigDecimal.ROUND_HALF_UP));
trendVOS.add(trendVO);
}
return Return.success(trendVOS);
......@@ -99,15 +117,18 @@ public class ReportController {
private Return getEquState(@RequestParam(value = "beginTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date beginTime,
@RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date endTime) {
ArrayList<EquStatePercent> percents = new ArrayList<>();
Random random = new Random(5);
EquStatePercent percent = new EquStatePercent();
percent.setName("故障");
percent.setValue(BigDecimal.valueOf(8));
BigDecimal err = new BigDecimal(2 + Math.random() * errNum).setScale(2, BigDecimal.ROUND_HALF_UP);
percent.setValue(err);
EquStatePercent percent2 = new EquStatePercent();
percent2.setName("运行");
percent2.setValue(BigDecimal.valueOf(70));
BigDecimal run = new BigDecimal(75 + Math.random() * runNum).setScale(2, BigDecimal.ROUND_HALF_UP);
percent2.setValue(run);
EquStatePercent percent3 = new EquStatePercent();
percent3.setName("待机");
percent3.setValue(BigDecimal.valueOf(22));
percent3.setValue(new BigDecimal(100 - err.floatValue() - run.floatValue()).setScale(2, BigDecimal.ROUND_HALF_UP));
percents.add(percent);
percents.add(percent2);
percents.add(percent3);
......@@ -122,16 +143,25 @@ public class ReportController {
@GetMapping("/stateTrend")
private Return getEquStateTrend(@RequestParam(value = "beginTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date beginTime,
@RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Date endTime) {
ArrayList<TrendVO> percents = new ArrayList<>();
for (int i = 0; i < 5; i++) {
if (null == beginTime || null == endTime){
endTime = new Date();
beginTime = DateUtils.getStartOfDay(5);
}
List<Date> twoDaysDay = DateUtil.getTwoDaysDay(beginTime, endTime);
List<TrendVO> trendVOS = new ArrayList<>();
Random random = new Random(5);
for (Date date : twoDaysDay){
String dataString = DateUtil.getTimeString(date, "yyyyMMdd");
TrendVO trendVO = new TrendVO();
trendVO.setDate("20190" + i);
trendVO.setRunStatePercent(BigDecimal.valueOf(30));
trendVO.setErrorStatePercent(BigDecimal.valueOf(10));
trendVO.setLoadStatePercent(BigDecimal.valueOf(60));
percents.add(trendVO);
trendVO.setDate(dataString);
BigDecimal err = new BigDecimal(2 + Math.random() * errNum).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal run = new BigDecimal(75 + Math.random() * runNum).setScale(2, BigDecimal.ROUND_HALF_UP);
trendVO.setRunStatePercent(run);
trendVO.setErrorStatePercent(err);
trendVO.setLoadStatePercent(new BigDecimal(100 - err.floatValue() - run.floatValue()).setScale(2, BigDecimal.ROUND_HALF_UP));
trendVOS.add(trendVO);
}
return Return.success(percents);
return Return.success(trendVOS);
}
@ApiOperation("设备异常列表")
......
package net.vtstar.zhongtong.avi.stamping.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Search(code = "FLAT_LASER_CUTTING")
@ApiModel(value = "平板激光切割机", description = "激光切割机监控数据表")
@Table(name = "eqp_data_laser_cutting")
public class FlatLaserCuttingMachine extends EquipmentData {
@Search
@Show(label = "切割速率",sortable = true)
@ApiModelProperty("切割速率")
@Column(name = "cutting_speed")
private BigDecimal cuttingSpeed;
@Search
@Show(label = "激光器功率")
@ApiModelProperty("激光器功率")
@Column(name = "laser_power")
private BigDecimal laserPower;
@Search
@Show(label = "气体压力")
@ApiModelProperty("气体压力")
@Column(name = "gas_pressure")
private BigDecimal gasPressure;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.stamping.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Search(code = "3D_LASER_CUTTING")
@ApiModel(value = "3维激光切割机", description = "激光切割机监控数据表")
@Table(name = "eqp_data_3d_laser")
public class LaserCutting3DMachine extends EquipmentData {
@Search
@Show(label = "切割速率",sortable = true)
@ApiModelProperty("切割速率")
@Column(name = "cutting_speed")
private BigDecimal cuttingSpeed;
@Search
@Show(label = "激光器功率")
@ApiModelProperty("激光器功率")
@Column(name = "laser_power")
private BigDecimal laserPower;
@Search
@Show(label = "气体压力")
@ApiModelProperty("气体压力")
@Column(name = "gas_pressure")
private BigDecimal gasPressure;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
private Integer state;
}
......@@ -14,9 +14,9 @@ import java.math.BigDecimal;
import java.util.Date;
@Data
@Search(code = "3D_LASER_CUTTING")
@ApiModel(value = "激光切机", description = "激光切割机监控数据表")
@Table(name = "eqp_data_3d_laser")
@Search(code = "LASER_CUTTING")
@ApiModel(value = "激光切机", description = "激光切割机监控数据表")
@Table(name = "eqp_data_laser_cutting")
public class LaserCuttingMachine extends EquipmentData {
@Search
......@@ -42,6 +42,4 @@ public class LaserCuttingMachine extends EquipmentData {
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
private Integer state;
}
package net.vtstar.zhongtong.avi.stamping.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Search(code = "PLASMA_CUTTING")
@ApiModel(value = "等离子切割机", description = "激光切割机监控数据表")
@Table(name = "eqp_data_laser_cutting")
public class PlasmaCuttingMachine extends EquipmentData {
@Search
@Show(label = "切割速率",sortable = true)
@ApiModelProperty("切割速率")
@Column(name = "cutting_speed")
private BigDecimal cuttingSpeed;
@Search
@Show(label = "激光器功率")
@ApiModelProperty("激光器功率")
@Column(name = "laser_power")
private BigDecimal laserPower;
@Search
@Show(label = "气体压力")
@ApiModelProperty("气体压力")
@Column(name = "gas_pressure")
private BigDecimal gasPressure;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("时间")
@Column(name = "create_time")
private Date createTime;
}
......@@ -4,7 +4,7 @@ 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.LaserCuttingMachine;
import net.vtstar.zhongtong.avi.stamping.domain.LaserCutting3DMachine;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
......@@ -24,12 +24,12 @@ public class LaserCuttingMachineJob extends GatherJob {
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info("JobName: {}", context.getJobDetail().getKey().getName());
super.gatherByModbus(NAME, LaserCuttingMachine.class);
super.gatherByModbus(NAME, LaserCutting3DMachine.class);
}
public boolean handleObject(EquipmentData equipmentData) {
LaserCuttingMachine data = (LaserCuttingMachine) equipmentData;
LaserCutting3DMachine data = (LaserCutting3DMachine) equipmentData;
Integer state = data.getState();
if (state == null) {
return false;
......
package net.vtstar.zhongtong.avi.utils;
import net.vtstar.utils.DateUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 日期获取帮助类
*
* @Author: xiadongwei
* @Date: 2019/8/13 14:17
*/
public class DateUtil {
/**
* 英文简写(默认)如:2010-12-01
*/
public static String FORMAT_SHORT = "yyyy-MM-dd";
/**
* 英文简写 如:20101201
*/
public static String FORMAT_SHORT_1 = "yyyyMMddHHmmss";
/**
* 英文全称 如:2010-12-01 23:15:06
*/
public static String FORMAT_LONG = "yyyy-MM-dd HH:mm:ss";
/**
* 精确到毫秒的完整时间 如:yyyy-MM-dd HH:mm:ss.S
*/
public static String FORMAT_FULL = "yyyy-MM-dd HH:mm:ss.S";
/**
* 中文简写 如:2010年12月01日
*/
public static String FORMAT_SHORT_CN = "yyyy年MM月dd日";
/**
* 中文简写 如:2010年12月01日
*/
public static String FORMAT_SHORT_CN_1 = "MM月dd日";
/**
* 中文全称 如:2010年12月01日 23时15分06秒
*/
public static String FORMAT_LONG_CN = "yyyy年MM月dd日 HH时mm分ss秒";
/**
* 精确到毫秒的完整中文时间
*/
public static String FORMAT_FULL_CN = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒";
public static void main(String[] args) {
System.out.println(getTimeString());
System.out.println("返回当天小时" + getHour(new Date()));
System.out.println("返回当天月" + getMonth(new Date()));
System.out.println(getYesterdayString());
try {
System.out.println(getYesterdayString(net.vtstar.utils.DateUtils.parse("2000-3-1", FORMAT_SHORT)));
} catch (ParseException e) {
e.printStackTrace();
}
List<Date> twoDaysDay = getTwoDaysDay(getYesterday(), new Date());
List<String> dayByMonth = getDayByMonth(2000, 2);
System.out.println(getTimeString(FORMAT_SHORT_1));
System.out.println(getEndTimeByWeek(new Date()));
}
/**
* 获取当前时间
*
* @param dateFormat 时间格式
*/
public static String getTimeString(String dateFormat) {
SimpleDateFormat df = new SimpleDateFormat(dateFormat);
Calendar calendar = Calendar.getInstance();
return df.format(calendar.getTime());
}
/**
* 获取指定时间
*
* @param dateFormat 时间格式
*/
public static String getTimeString(Date date, String dateFormat) {
SimpleDateFormat df = new SimpleDateFormat(dateFormat);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return df.format(calendar.getTime());
}
/**
* 获取当前时间(默认格式: yyyy-MM-dd)
*/
public static String getTimeString() {
SimpleDateFormat df = new SimpleDateFormat(FORMAT_SHORT);
Calendar calendar = Calendar.getInstance();
return df.format(calendar.getTime());
}
/**
* 获取指定时间的短时间String(默认格式: yyyy-MM-dd)
*/
public static String getTimeString(Date date) {
SimpleDateFormat df = new SimpleDateFormat(FORMAT_SHORT);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return df.format(calendar.getTime());
}
/**
* 功能描述:返回小时
*/
public static int getHour(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.HOUR_OF_DAY);
}
/**
* 功能描述:返回当月第一天零点
*/
public static Date getMonth(Date date) {
SimpleDateFormat df = new SimpleDateFormat(FORMAT_SHORT);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime();
}
/**
* 获取前一天(默认格式: yyyy-MM-dd)
*/
public static String getYesterdayString() {
SimpleDateFormat df = new SimpleDateFormat(FORMAT_SHORT);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
return df.format(calendar.getTime());
}
/**
* 获取指定日期的前一天(默认格式: yyyy-MM-dd)
*/
public static String getYesterdayString(Date date) {
SimpleDateFormat df = new SimpleDateFormat(FORMAT_SHORT);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, -1);
return df.format(calendar.getTime());
}
/**
* 获取前一天
*/
public static Date getYesterday() {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
return calendar.getTime();
}
/**
* 获取指定月份的每一天
*/
public static List<String> getDayByMonth(int yearParam, int month) {
List<String> list = new ArrayList<>();
int day = getDays(yearParam, month);
for (int i = 1; i <= day; i++) {
String aDate = null;
if (month < 10 && i < 10) {
aDate = "0" + month + "月" + "0" + i + "日";
}
if (month < 10 && i >= 10) {
aDate = "0" + month + "月" + i + "日";
}
if (month >= 10 && i < 10) {
aDate = month + "月" + "0" + i + "日";
}
if (month >= 10 && i >= 10) {
aDate = month + "月" + i + "日";
}
list.add(aDate);
}
return list;
}
/**
* 获得两个时间之间的每一天(yyyy-MM-dd)
*/
public static List<Date> getTwoDaysDay(Date startDate, Date endDate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<Date> dateList = new ArrayList<>();
String dateStart = sdf.format(startDate);
String dateEnd = sdf.format(endDate);
try {
Date dateOne = sdf.parse(dateStart);
Date dateTwo = sdf.parse(dateEnd);
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateTwo);
dateList.add(dateTwo);
while (calendar.getTime().after(dateOne)) { //倒序时间,顺序after改before其他相应的改动。
calendar.add(Calendar.DAY_OF_MONTH, -1);
dateList.add(calendar.getTime());
}
} catch (Exception e) {
e.printStackTrace();
}
return dateList;
}
public static Date getEndTimeByWeek(Date startTime) {
int weekDay = DateUtils.getWeekDay(startTime);
Calendar calendar = new GregorianCalendar();
calendar.setTime(startTime);
calendar.add(Calendar.DATE, 7 - weekDay);
return DateUtils.getEndOfDay(0, calendar.getTime());
}
public static Date getEndTimeByMonth(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
//设置为当月最后一天
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
//将小时至23
c.set(Calendar.HOUR_OF_DAY, 23);
//将分钟至59
c.set(Calendar.MINUTE, 59);
//将秒至59
c.set(Calendar.SECOND,59);
//将毫秒至999
c.set(Calendar.MILLISECOND, 999);
return c.getTime();
}
//判断闰年
private static boolean isLeap(int year) {
if (((year % 100 == 0) && year % 400 == 0) || ((year % 100 != 0) && year % 4 == 0)) {
return true;
} else {
return false;
}
}
//返回当月天数
private static int getDays(int year, int month) {
int days;
int FebDay = 28;
if (isLeap(year)) {
FebDay = 29;
}
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
days = FebDay;
break;
default:
days = 0;
break;
}
return days;
}
}
......@@ -18,7 +18,7 @@ spring.quartz.properties.org.quartz.threadPool.threadCount=25
spring.quartz.properties.org.quartz.threadPool.threadPriority=5
spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
quartz.job.allow-start=true
quartz.job.allow-start=false
quartz.job.taskInfos[0].jobName=net.vtstar.zhongtong.avi.stamping.job.LaserCuttingMachineJob
quartz.job.taskInfos[0].jobGroup=LaserCuttingMachineJob
......@@ -30,13 +30,13 @@ quartz.job.taskInfos[1].jobName=net.vtstar.zhongtong.avi.equipment.job.CleanStat
quartz.job.taskInfos[1].jobGroup=CleanStatusDataJob
quartz.job.taskInfos[1].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
#quartz.job.taskInfos[1].cronExpression=0 0 0 * * ?
quartz.job.taskInfos[1].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[1].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[1].start=false
quartz.job.taskInfos[2].jobName=net.vtstar.zhongtong.avi.equipment.job.StatisticsTimeJob
quartz.job.taskInfos[2].jobGroup=StatisticsTimeJob
quartz.job.taskInfos[2].jobDescription=\u8ba1\u7b97\u8fd0\u884c\u65f6\u95f4Job
quartz.job.taskInfos[2].cronExpression=0 0 1 * * ?
quartz.job.taskInfos[2].cronExpression=0 0 0/1 * * ?
quartz.job.taskInfos[2].start=false
#制件车间(PARTS)
......@@ -44,28 +44,28 @@ quartz.job.taskInfos[2].start=false
quartz.job.taskInfos[8].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.DustingLineMachineJob
quartz.job.taskInfos[8].jobGroup=DustingLineMachineJob
quartz.job.taskInfos[8].jobDescription=\u55b7\u7c89\u7ebfJob
quartz.job.taskInfos[8].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[8].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[8].start=false
#前处理
quartz.job.taskInfos[9].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.PretreamentMachineJob
quartz.job.taskInfos[9].jobGroup=PretreamentMachineJob
quartz.job.taskInfos[9].jobDescription=\u55b7\u7c89\u7ebfJob
quartz.job.taskInfos[9].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[9].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[9].start=false
#型钢下料
quartz.job.taskInfos[10].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.SteelCncCuttingMachineJob
quartz.job.taskInfos[10].jobGroup=SteelCncCuttingMachineJob
quartz.job.taskInfos[10].jobDescription=\u578b\u94a2\u4e0b\u6599Job
quartz.job.taskInfos[10].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[10].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[10].start=false
#焊接机器人
quartz.job.taskInfos[21].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.WeldingRobotMachineJob
quartz.job.taskInfos[21].jobGroup=WeldingRobotMachineJob
quartz.job.taskInfos[21].jobDescription=\u710a\u63a5\u673a\u5668\u4ebaJob
quartz.job.taskInfos[21].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[21].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[21].start=false
#焊装车间(WELDING)
......@@ -73,21 +73,21 @@ quartz.job.taskInfos[21].start=false
quartz.job.taskInfos[11].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlateChainMachineJob
quartz.job.taskInfos[11].jobGroup=PlateChainMachineJob
quartz.job.taskInfos[11].jobDescription=\u710a\u88c5\u677f\u94feJob
quartz.job.taskInfos[11].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[11].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[11].start=false
#PLC数控合装胎(串口)
quartz.job.taskInfos[12].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlcControlTireMachine1Job
quartz.job.taskInfos[12].jobGroup=PlcControlTireMachine1Job
quartz.job.taskInfos[12].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
quartz.job.taskInfos[12].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[12].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[12].start=false
#PLC数控合装胎(网口)
quartz.job.taskInfos[13].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlcControlTireMachine2Job
quartz.job.taskInfos[13].jobGroup=PlcControlTireMachine2Job
quartz.job.taskInfos[13].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
quartz.job.taskInfos[13].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[13].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[13].start=false
#涂装车间(PAINTING)
......@@ -95,43 +95,64 @@ quartz.job.taskInfos[13].start=false
quartz.job.taskInfos[14].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.PaintingRobotMachineJob
quartz.job.taskInfos[14].jobGroup=PaintingRobotMachineJob
quartz.job.taskInfos[14].jobDescription=\u55b7\u6d82\u673a\u5668\u4ebaJob
quartz.job.taskInfos[14].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[14].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[14].start=false
#喷涂喷涂室
quartz.job.taskInfos[23].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.SprayBoothStateMachineJob
quartz.job.taskInfos[23].jobGroup=SprayBoothStateMachineJob
quartz.job.taskInfos[23].jobDescription=\u6d82\u88c5\u55b7\u6d82\u5ba4Job
quartz.job.taskInfos[23].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[23].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[23].start=false
#烘干室
quartz.job.taskInfos[28].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.DryingRoomTempMachineJob
quartz.job.taskInfos[28].jobGroup=DryingRoomTempMachineJob
quartz.job.taskInfos[28].jobDescription=\u70d8\u5e72\u5ba4Job
quartz.job.taskInfos[28].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[28].cronExpression=0.30 * * * * ?
quartz.job.taskInfos[28].start=false
#VOC处理平台
quartz.job.taskInfos[27].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.VocMachineJob
quartz.job.taskInfos[27].jobGroup=VocMachineJob
quartz.job.taskInfos[27].jobDescription=\u0056\u004f\u0043\u5904\u7406\u5e73\u53f0Job
quartz.job.taskInfos[27].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[27].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[27].start=false
#旋转辊床
quartz.job.taskInfos[32].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.RotaryRollerBedMachineJob
quartz.job.taskInfos[32].jobGroup=RotaryRollerBedMachineJob
quartz.job.taskInfos[32].jobDescription=\u65cb\u8f6c\u8f8a\u5e8aJob
quartz.job.taskInfos[32].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[32].start=false
#前处理温度
quartz.job.taskInfos[30].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.PaintPretreatmentMachineJob
quartz.job.taskInfos[30].jobGroup=PaintPretreatmentMachineJob
quartz.job.taskInfos[30].jobDescription=\u524d\u5904\u7406\u6e29\u5ea6Job
quartz.job.taskInfos[30].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[30].start=false
#电泳整流
quartz.job.taskInfos[31].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.ElectrophoresisRectificationMachineJob
quartz.job.taskInfos[31].jobGroup=ElectrophoresisRectificationMachineJob
quartz.job.taskInfos[31].jobDescription=\u7535\u6cf3\u6574\u6d41Job
quartz.job.taskInfos[31].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[31].start=false
#底盘车间(CHASSIS)
#底盘智能扭力扳手
quartz.job.taskInfos[15].jobName=net.vtstar.zhongtong.avi.gateway.chassis.job.ChassisTorqueMachineJob
quartz.job.taskInfos[15].jobGroup=ChassisTorqueMachineJob
quartz.job.taskInfos[15].jobDescription=\u667a\u80fd\u626d\u529b\u6273\u624bJob
quartz.job.taskInfos[15].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[15].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[15].start=false
#四轮定位同步
quartz.job.taskInfos[7].jobName=net.vtstar.zhongtong.avi.access.job.WheelAlignmentJob
quartz.job.taskInfos[7].jobGroup=WheelAlignmentJob
quartz.job.taskInfos[7].jobDescription=\u56db\u8f6e\u5b9a\u4f4dJob
quartz.job.taskInfos[7].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[7].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[7].start=false
#总装车间(ASSEMBLY)
......@@ -139,35 +160,35 @@ quartz.job.taskInfos[7].start=false
quartz.job.taskInfos[22].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.PlateChainStateMachineJob
quartz.job.taskInfos[22].jobGroup=PlateChainStateMachineJob
quartz.job.taskInfos[22].jobDescription=\u677f\u94feJob
quartz.job.taskInfos[22].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[22].cronExpression=0/15 * * * * ?
quartz.job.taskInfos[22].start=false
#离合油加注机
quartz.job.taskInfos[16].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.CentralizedFillingClutchMachineJob
quartz.job.taskInfos[16].jobGroup=CentralizedFillingClutchMachineJob
quartz.job.taskInfos[16].jobDescription=\u79bb\u5408\u6cb9\u52a0\u6ce8\u673aJob
quartz.job.taskInfos[16].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[16].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[16].start=false
#冷媒加注机
quartz.job.taskInfos[17].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.FocusAddingRefrigerantMachineJob
quartz.job.taskInfos[17].jobGroup=FocusAddingRefrigerantMachineJob
quartz.job.taskInfos[17].jobDescription=\u51b7\u5a92\u52a0\u6ce8\u673aJob
quartz.job.taskInfos[17].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[17].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[17].start=false
#助力油加注
quartz.job.taskInfos[18].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.FocusBoosterOilMachineJob
quartz.job.taskInfos[18].jobGroup=FocusBoosterOilMachineJob
quartz.job.taskInfos[18].jobDescription=\u52a9\u529b\u6cb9\u52a0\u6ce8\u673aJob
quartz.job.taskInfos[18].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[18].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[18].start=false
#地板革热熔涂胶
quartz.job.taskInfos[19].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.FloorLeatherHotMachineJob
quartz.job.taskInfos[19].jobGroup=FloorLeatherHotMachineJob
quartz.job.taskInfos[19].jobDescription=\u5730\u677f\u9694\u70ed\u7194\u8bbe\u5907Job
quartz.job.taskInfos[19].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[19].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[19].start=false
#智能扭力扳手
......@@ -196,7 +217,7 @@ quartz.job.taskInfos[3].start=false
quartz.job.taskInfos[4].jobName=net.vtstar.zhongtong.avi.sqlserver.job.TestSpeedResultJob
quartz.job.taskInfos[4].jobGroup=TestSpeedResultJob
quartz.job.taskInfos[4].jobDescription=\u9650\u901f\u503cJob
quartz.job.taskInfos[4].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[4].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[4].start=false
#错误帧
......@@ -210,7 +231,7 @@ quartz.job.taskInfos[25].start=false
quartz.job.taskInfos[20].jobName=net.vtstar.zhongtong.avi.gateway.trial.job.ChargingPileMachineJob
quartz.job.taskInfos[20].jobGroup=ChargingPileMachineJob
quartz.job.taskInfos[20].jobDescription=\u5145\u7535\u6869Job
quartz.job.taskInfos[20].cronExpression=0/5 * * * * ?
quartz.job.taskInfos[20].cronExpression=0/30 * * * * ?
quartz.job.taskInfos[20].start=false
#AVI plc 采集
......@@ -224,7 +245,7 @@ quartz.job.taskInfos[24].start=false
quartz.job.taskInfos[26].jobName=net.vtstar.zhongtong.avi.sqlserver.job.MesWorkOrderJob
quartz.job.taskInfos[26].jobGroup=MesWorkOrderJob
quartz.job.taskInfos[26].jobDescription=\u004d\u0045\u0053\u5de5\u5355\u540c\u6b65Job
quartz.job.taskInfos[26].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[26].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[26].start=false
......
spring.profiles.include=mybatis,quartz,swagger,security,ztip,mqtt
spring.profiles.include=mybatis,quartz,swagger,security,mqtt,ztip,modbus
# Mysql
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
......@@ -36,3 +36,6 @@ spring.mes.sqlserver.username=wanteng
spring.mes.sqlserver.password=wanteng@2019
server.port=8888
logging.level.root=info
logging.level.net.vtstar=info
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