package com.ruoyi.system.dto;

import lombok.Data;
import lombok.NonNull;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 站点配置信息(SiteConfig)实体类
 *
 * @author makejava
 * @since 2024-04-09 14:14:59
 */
@Data
public class SiteConfigDTO implements Serializable {

/**
     * 站点ID
     */
    @NotNull(message = "站点ID不能为空")
    private Long siteId;
/**
     * 设备类型，0：移动测流；1：固定测流
     */
    @NotNull(message = "设备类型不能为空")
    private Integer type;
/**
     * 站码
     */
    @NotBlank(message = "站码不能为空")
    private String id;
/**
     * 左岸右岸标记（0为右岸，1为左岸）
     */
    @NotNull(message = "左岸右岸标记不能为空")
    private Integer local;
/**
     * 小车位置的偏移量
     */
    @NotNull(message = "小车位置的偏移量不能为空")
    private Double offset;
/**
     * 小车测流停泊时间 s
     */
    @NotNull(message = "小车测流停泊时间不能为空")
    private Long stoptime;
/**
     * 水位采集时间间隔 s
     */
    @NotNull(message = "水位采集时间间隔不能为空")
    private Long wltime;
/**
     * 低、中、高 行驶速度，1，2，3
     */
    @NotNull(message = "小车行驶速度不能为空")
    private Integer speed;
/**
     * 测流的最低水位
     */
    @NotNull(message = "测流的最低水位不能为空")
    private Double wlevelmin;
/**
     * 测流的最高水位
     */
    @NotNull(message = "测流的最高水位不能为空")
    private Double wlevelmax;
/**
     * 测流低电量保护（百分比）
     */
    @NotNull(message = "测流低电量保护不能为空")
    private Long eqmin;
/**
     * 水位基值
     */
    @NotNull(message = "水位基值不能为空")
    private Double wbaselevel;
/**
     * 水位计485从机地址
     */
    @NotNull(message = "水位485从机地址不能为空")
    private Long wladdr;
/**
     * 水位计数据类型，0为int型1为float型
     */
    @NotNull(message = "水位计数据类型不能为空")
    private Integer wltype;
/**
     * 水位计存储首地址
     */
    @NotNull(message = "水位计存储首地址不能为空")
    private Long wlfirstadd;
/**
     * 水位计缩放精度
     */
    @NotNull(message = "水位计缩放精度不能为空")
    private Long wlzoom;
/**
     * 水位计数据长度
     */
    @NotNull(message = "水位计数据长度不能为空")
    private Long wllength;
/**
     * 水位计度量单位 0cm  1m
     */
    @NotNull(message = "水位计度量单位不能为空")
    private Integer wlunit;
/**
     * 水位计偏移量
     */
    @NotNull(message = "水位计偏移量不能为空")
    private Long wloffset;
/**
     * 水位修正系数，为1时不修正
     */
    @NotNull(message = "水位修正系数不能为空")
    private Double wlfactor;
/**
     * 流速仪485从机地址
     */
    @NotNull(message = "流速仪485从机地址不能为空")
    private Long wsaddr;
/**
     * 流速仪数据类型，0为int型1为float型
     */
    @NotNull(message = "流速仪数据类型不能为空")
    private Integer wstype;
/**
     * 流速仪存储首地址
     */
    @NotNull(message = "流速仪存储首地址不能为空")
    private Long wsfirstadd;
/**
     * 流速仪缩放精度
     */
    @NotNull(message = "流速仪缩放精度不能为空")
    private Long wszoom;
/**
     * 流速仪数据长度
     */
    @NotNull(message = "流速仪数据长度不能为空")
    private Long wslength;
/**
     * 流速仪度量单位 0cm  1m
     */
    @NotNull(message = "流速仪度量单位不能为空")
    private Integer wsunit;
/**
     * 流速仪偏移量
     */
    @NotNull(message = "流速仪偏移量不能为空")
    private Long wsoffset;
/**
     * 流速修正系数，为1时不修正
     */
    @NotNull(message = "流速修正系数不能为空")
    private Double wsfactor;

}

