/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 运维系统
 * 创建日期:2022/8/24
 */
package org.springblade.modules.baseinfo.warn.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;

/***
 * Date:2022/8/24
 * Title:测站预警配置参数
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("base_warning_setting")
public class BaseWarnSettingEntity extends BaseEntity {
	private static final long serialVersionUID = 1L;
	/**
	 * 租户ID
	 */
	@ApiModelProperty("租户ID")
	private String tenantId;

	/**
	 * 预警总开关，0 关闭，1 打开,默认关闭
	 */
	@ApiModelProperty("预警总开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnActive;

	/**
	 * 时钟预警开关，0 关闭，1 打开,默认关闭
	 */
	@ApiModelProperty("时钟预警开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnClockActive;

	/**
	 * 5分钟上报延时预警开关，0 关闭，1 打开,默认关闭
	 */
	@ApiModelProperty("5分钟上报延时预警开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnMinUpDelayActive;

	/**
	 * 离线预警开关，0 关闭，1 打开,默认关闭
	 */
	@ApiModelProperty("离线预警开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnOfflineActive;

	/**
	 * 漏报预警开关，0 关闭，1 打开,默认关闭
	 */
	@ApiModelProperty("漏报预警开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnMissOutActive;

	/**
	 * 雨量疑似异常值,， 0 关闭，1 打开
	 */
	@ApiModelProperty("雨量疑似异常值预警开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnOutlierValueActive;

	/**
	 * 小时上报延时预警开关，0 关闭，1 打开,默认关闭
	 */
	@ApiModelProperty("小时上报延时预警开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnHourUpDelayActive;


	/**
	 * 时钟预警是否自动产生任务，0,否，1是,默认 0
	 */
	@ApiModelProperty("时钟预警自动产生任务开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnClockAutoTask;


	/**
	 * 上报延时预警是否自动产生任务，0,否，1是,默认 0
		*/
	@ApiModelProperty("上报延时预警是否自动产生任务开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnDelayAutoTask;

	/**
	 * 离线预警是否自动产生任务，0,否，1是,默认 0
	 */
	@ApiModelProperty("离线预警是否自动产生任务开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnOfflineAutoTask;

	/**
	 * 漏报预警是否自动产生任务，0,否，1是,默认 0
	 */
	@ApiModelProperty("漏报预警是否自动产生任务开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnMissOutAutoTask;

	/**
	 * 雨量疑似异常值是否自动产生任务，0,否，1是,默认 0
	 */
	@ApiModelProperty("雨量疑似异常值是否自动产生任务开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnOutlierValueAutoTask;

	/**
	 * 小时上报延时预警是否自动产生任务，0,否，1是,默认 0
	 */
	@ApiModelProperty("小时上报延时预警是否自动产生任务开关")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnHourUpDelayAutoTask;

	/**
	 * 5分钟雨情上报延时，单位分钟
	 */
	@ApiModelProperty("雨情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRainDelayMinDuration;

	/**
	 * 5分钟河道水情上报延时，单位分钟
	 */
	@ApiModelProperty("河道水情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRiverDelayMinDuration;

	/**
	 * 5分钟水库水情上报延时，单位分钟
	 */
	@ApiModelProperty("水库水情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRsvrDelayMinDuration;

	/**
	 * 5分钟墒情上报延时，单位分钟
	 */
	@ApiModelProperty("墒情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnGroundDelayMinDuration;


	/**
	 * 小时雨情上报延时，单位分钟
	 */
	@ApiModelProperty("小时雨情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRainDelayHourDuration;

	/**
	 * 小时河道水情上报延时，单位分钟
	 */
	@ApiModelProperty("小时河道水情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRiverDelayHourDuration;

	/**
	 * 小时水库水情上报延时，单位分钟
	 */
	@ApiModelProperty("小时水库水情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRsvrDelayHourDuration;

	/**
	 * 小时墒情上报延时，单位分钟
	 */
	@ApiModelProperty("小时墒情上报延时时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnGroundDelayHourDuration;

	/**
	 * 雨情测站离线时长，单位小时
	 */
	@ApiModelProperty("雨情测站离线时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRainOfflineDuration;

	/**
	 * 河道水情测站离线时长，单位小时
	 */
	@ApiModelProperty("河道水情测站离线时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRiverOfflineDuration;

	/**
	 * 水库水情测站离线时长，单位小时
	 */
	@ApiModelProperty("水库水情测站离线时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnRsvrOfflineDuration;

	/**
	 * 墒情测站离线时长，单位小时
	 */
	@ApiModelProperty("墒情测站离线时长")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnGroundOfflineDuration;

	/**
	 * 漏报数量阀值
	 */
	@ApiModelProperty("漏报数量阀值")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer warnMissNum;
}
