/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 运维系统
 * 创建日期:2022/8/28
 */
package org.springblade.modules.yjxt.business.rain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
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.modules.business.data.entity.RtuDataRainEntity;
import org.springblade.modules.yjxt.base.map.entity.DangerAreaEntity;
import org.springblade.modules.yjxt.base.map.vo.DangerAreaLeaveLineVO;
import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;


/***
 * Date:2022/8/28
 * Title:文件所属模块（必须填写）
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class YjRainDataVO extends RtuDataRainEntity {
	/**
	 * 测站名称
	 */
	@ApiModelProperty("测站名称")
	private String rtuName;

	/**
	 * 测站类型概要
	 */
	@ApiModelProperty(value = "测站类型概要")
	private String rtuKindDesc;

	/**
	 * 所属盟市
	 */
	@ApiModelProperty(value = "所属盟市")
	private String adCity;

	/**
	 * 所属盟县旗区
	 */
	@ApiModelProperty(value = "所属盟县旗区")
	private String adDist;

	/**
	 * 行政区
	 */
	@ApiModelProperty(value = "行政区")
	private String areaName;


	/**
	 * 时间
	 */
	@ApiModelProperty("时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd HH:mm:ss",
			timezone = "GMT+8"
	)
	private Date h1tm;

	/**
	 * 降水量
	 */
	@ApiModelProperty("降水量")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Double h1drp;

	/**
	 * 时间
	 */
	@ApiModelProperty("时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd HH:mm:ss",
			timezone = "GMT+8"
	)
	private Date h3tm;

	/**
	 * 降水量
	 */
	@ApiModelProperty("降水量")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Double h3drp;

	/**
	 * 时间
	 */
	@ApiModelProperty("时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd HH:mm:ss",
			timezone = "GMT+8"
	)
	private Date h6tm;

	/**
	 * 降水量
	 */
	@ApiModelProperty("降水量")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Double h6drp;

	/**
	 * 时间
	 */
	@ApiModelProperty("时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd HH:mm:ss",
			timezone = "GMT+8"
	)
	private Date h12tm;

	/**
	 * 降水量
	 */
	@ApiModelProperty("降水量")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Double h12drp;

	/**
	 * 时间
	 */
	@ApiModelProperty("时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd HH:mm:ss",
			timezone = "GMT+8"
	)
	private Date h24tm;

	/**
	 * 降水量
	 */
	@ApiModelProperty("降水量")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Double h24drp;

	/**
	 * 降雨时段
	 */
	@ApiModelProperty(value = "降雨时段")
	private String intvLable;

	/**
	 * 经度
	 */
	@ApiModelProperty(value = "经度")
	private String lng;

	/**
	 * 纬度
	 */
	@ApiModelProperty(value = "纬度")
	private String lat;

	/**
	 * 是否预警 0 否 1 是
	 */
	@ApiModelProperty(value = "是否预警")
	private Integer isWarn;

	/**
	 * 预警编码
	 */
	@ApiModelProperty("预警编码")
	private String warnId;

	/**
	 * 预警名称
	 */
	@ApiModelProperty("预警名称")
	private String warnName;


	/**
	 * 是否关联危险区 0 否 1 是
	 */
	@ApiModelProperty(value = "是否关联危险区")
	private Integer isLinkDanger;

	/**
	 * 危险区列表
	 */
	@ApiModelProperty(value = "危险区")
	List<DangerAreaEntity> dangerAreaList;


//	/**
//	 * 危险区ID
//	 */
//	@ApiModelProperty(value = "危险区ID")
//	private String dangerAreaPid;
//
//	/**
//	 * 危险区名称
//	 */
//	@ApiModelProperty(value = "危险区名称")
//	private String dangerAreaName;

	/**
	 * 转移路线
	 */
	@ApiModelProperty(value = "转移路线")
	private List<DangerAreaLeaveLineVO> leaveLines;

	/**
	 * 家庭户数量
	 */
	@ApiModelProperty(value = "家庭户数量")
	private Long familyCount;

	/**
	 * 家庭户
	 */
	@ApiModelProperty(value = "家庭户")
	private List<DangerAreaResidentInfoEntity> familyPoints;

}
