/**
 * Copyright
 * All right reserved.
 * 项目名称:
 * 创建日期:2022/3/9
 */
package org.springblade.modules.baseinfo.rtu.entity;

import com.baomidou.mybatisplus.annotation.TableName;
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.core.mp.base.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 实体类
 *
 * @author swp
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("rtu_info")
public class RtuInfoEntity extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 租户ID
	 */
	@ApiModelProperty("租户ID")
	private String tenantId;

	/**
	 * 测站编码
	 */
	@ApiModelProperty(value = "测站编码")
	private String rtuCode;

	/**
	 * 测站名称
	 */
	@ApiModelProperty(value = "测站名称")
	private String rtuName;

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

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


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

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

	/**
	 * 运维单位
	 */
	@ApiModelProperty(value = "运维单位")
	private String manageCompany;


	/**
	 * 测站位置说明
	 */
	@ApiModelProperty(value = "测站位置说明")
	private String locationDesc;

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

	/**
	 * 所属机构ID
	 */
	@ApiModelProperty(value = "所属机构")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long orgId;

	/**
	 * 行政区划编码
	 */
	@ApiModelProperty(value = "行政区划编码")
	private String adCode;

	/**
	 * 行政区划名称
	 */
	@ApiModelProperty(value = "行政区划名称")
	private String adName;

	/**
	 * 所属项目ID
	 */
	@ApiModelProperty(value = "所属项目")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long projectId;


	/**
	 * 是否雨量站
	 */
	@ApiModelProperty(value = "是否雨量站")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer isRain;

	/**
	 * 是否河道站
	 */
	@ApiModelProperty(value = "是否河道站")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer isRiver;

	/**
	 * 是否水库站
	 */
	@ApiModelProperty(value = "是否水库站")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer isRes;

	/**
	 * 是否墒情站
	 */
	@ApiModelProperty(value = "是否墒情站")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer isGround;

	/**
	 * 是否北斗通信
	 */
	@ApiModelProperty(value = "是否北斗通信")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer isSatellite;

	/**
	 * RTU品牌
	 */
	@ApiModelProperty(value = "RTU品牌")
	private String rtuBrand;

	/**
	 * RTU型号
	 */
	@ApiModelProperty(value = "RTU型号")
	private String rtuModel;

	/**
	 * RTU更换时间
	 */
	@ApiModelProperty(value = "RTU更换时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date rtuReplaceDate;


	/**
	 * RTU发往省
	 */
	@ApiModelProperty(value = "RTU发往省")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer datagramToSheng;

	/**
	 * RTU发往市
	 */
	@ApiModelProperty(value = "RTU发往市")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer datagramToShi;


	/**
	 * RTU发往县
	 */
	@ApiModelProperty(value = "RTU发往县")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Integer datagramToQu;

	/**
	 * 雨量传感器品牌
	 */
	@ApiModelProperty(value = "雨量传感器品牌")
	private String rainSensorBrand;

	/**
	 * 雨量传感器型号
	 */
	@ApiModelProperty(value = "雨量传感器型号")
	private String rainSensorModel;

	/**
	 * 雨量传感器更换时间
	 */
	@ApiModelProperty(value = "雨量传感器更换时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date rainSensorReplaceDate;

	/**
	 * 水位计传感器品牌
	 */
	@ApiModelProperty(value = "水位计传感器品牌")
	private String waterSensorBrand;

	/**
	 * 水位计传感器型号
	 */
	@ApiModelProperty(value = "水位计传感器型号")
	private String waterSensorModel;

	/**
	 * 水位计传感器类型
	 */
	@ApiModelProperty(value = "水位计传感器类型")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long waterSensorType;

	/**
	 * 水位计传感器更换时间
	 */
	@ApiModelProperty(value = "水位计传感器更换时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date waterSensorReplaceDate;

	/**
	 * 墒情传感器品牌
	 */
	@ApiModelProperty(value = "墒情传感器品牌")
	private String groundSensorBrand;

	/**
	 * 墒情传感器型号
	 */
	@ApiModelProperty(value = "墒情传感器型号")
	private String groundSensorModel;

	/**
	 * 墒情传感器类型
	 */
	@ApiModelProperty(value = "墒情传感器类型")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long groundSensorType;

	/**
	 * 墒情传感器更换时间
	 */
	@ApiModelProperty(value = "墒情传感器更换时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date groundSensorReplaceDate;

	/**
	 * 供电系统电池型号
	 */
	@ApiModelProperty(value = "供电系统电池型号")
	private String batteryModel;

	/**
	 * 供电系统电池更换时间
	 */
	@ApiModelProperty(value = "供电系统电池更换时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date batteryReplaceDate;

	/**
	 * 太阳能板型号
	 */
	@ApiModelProperty(value = "太阳能板型号")
	private String sunPowerModel;

	/**
	 * SIN卡号
	 */
	@ApiModelProperty(value = "SIN卡号")
	private String networkSimId;

	/**
	 * 开卡单位
	 */
	@ApiModelProperty(value = "开卡单位")
	private String networkPayer;

	/**
	 * 缴费截止时间
	 */
	@ApiModelProperty(value = "缴费截止时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date networkPayEndDate;


	/**
	 * 北斗通讯类型
	 */
	@ApiModelProperty(value = "北斗通讯类型")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long satelliteModel;

	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
	private String remark;
}
