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


import com.jiayue.ipfcst.common.data.abst.equipmentstatus.AbstractEquipmentStatusData;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.Type;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.validation.constraints.Digits;
import java.math.BigDecimal;

/**
 * 气象站
 * 环境监测仪数据抽象实体
 *
 * @author zzy
 * @version 1.0
 * @since 2019/8/2 9:27
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Entity
public class WeatherStationStatusData extends AbstractEquipmentStatusData {

	/**
	 * 总辐射（W/㎡）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal globalR = new BigDecimal(-99);

	/**
	 * 直接辐射（W/㎡）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal directR = new BigDecimal(-99);

	/**
	 * 散射辐射（W/㎡）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal diffuseR = new BigDecimal(-99);

	/**
	 * 斜面辐射（W/㎡）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal obliqueR = new BigDecimal(-99);

	/**
	 * 环境温度（℃）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal airT = new BigDecimal(-99);

	/**
	 * 气压（KPa）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal p = new BigDecimal(-99);

	/**
	 * 湿度（%）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal rh = new BigDecimal(-99);


	/**
	 * 光伏电池板温度（℃）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal cellT = new BigDecimal(-99);

	/**
	 * 风速（m/s）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal ws = new BigDecimal(-99);

	/**
	 * 风向（°）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal wd = new BigDecimal(-99);


	/**
	 * 日照小时数
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal hourDA = new BigDecimal(-99);

	/**
	 * 总辐射日累计（MJ/㎡）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal globalRDA = new BigDecimal(-99);

	/**
	 * 直接辐射日累计（MJ/㎡）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal directRDA = new BigDecimal(-99);

	/**
	 * 散射辐射日累计（MJ/㎡）  1KW·H=3.6MJ
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal diffuseRDA = new BigDecimal(-99);

	/**
	 * 斜面辐射日累计（MJ/㎡）
	 */
	@Digits(integer = 10, fraction = 2)
	@Column
	private BigDecimal obliqueRDA = new BigDecimal(-99);


	/**
	 * 数据是否是通过预测数据生成的
	 */
	@Column
	@Type(type="yes_no")
	private Boolean isGenerated=false;


}
