package com.jiayue.ipfcst.common.data.entity;

import com.jiayue.ipfcst.common.data.constant.enums.EquipmentTypeEnum;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 环境数据统计实体
 *
 * @author tl
 * @version 1.0
 * @since 2020/10/09 15:16
 */
@Data
@Entity
public class EnvironmentalData implements Serializable {

	/**
	 * Id
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "myid")
	@GenericGenerator(name = "myid", strategy = "com.jiayue.ipfcst.common.data.entity.id.CustomIDGenerator")
	private Integer id;

	/**
	 * 设备类型
	 */
	@Column
	private EquipmentTypeEnum equipmentTypeEnum;


	/**
	 * 设备id
	 */
	@Column
	private Integer equipmentId;


	/**
	 * 数据类型
	 */
	@OneToOne
	@JoinColumn(name = "equipmentAttributeId", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT), updatable = false)
	private EquipmentAttribute equipmentAttribute;

	/**
	 * 极大值（最大值）
	 */
	@Column
	private BigDecimal maxValue;

	/**
	 * 极小值（最小值）
	 */
	@Column
	private BigDecimal minValue;

	/**
	 * 平均值
	 */
	@Column
	private BigDecimal avgValue;

    /**
     * 统计数据的个数
     */
	@Column
	private Integer statisticalDataNum;

	/**
	 * 极大值时刻（最大值时刻）
	 */
	@Column
	private Date maxValueTime;

	/**
	 * 极小值时刻（最小值时刻）
	 */
	@Column
	private Date minValueTime;

	/**
	 * 数据统计时间
	 */
	@Column
	private Date statisticalTime;

	/**
	 * 最大值（极大值）
	 */
	@Column
	private BigDecimal maxAvgValue;

	/**
	 * 最小值（极小值）
	 */
	@Column
	private BigDecimal minAvgValue;
}
