package com.tofly.scada.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @author HaiQiu
 * @date 2022/5/9
 */
@Data
public class ScadaQuery {

    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date start;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date end;

    @ApiModelProperty(value = "开始时间111")
    private String startDate;

    @ApiModelProperty(value = "结束时间111")
    private String endDate;

    @ApiModelProperty(value = "设备ID数组多个")
    private List<Long> deviceIds;

    @ApiModelProperty(value = "指标编码数组多个")
    private List<String> codes;

    /**
     * 指标归属(字典码表关联 例如:01 瞬时流量)
     */
    @ApiModelProperty(value = "指标归属(字典码表关联 例如:01 瞬时流量)数组多个")
    private List<Long> dataTypeIds;

    @ApiModelProperty(value = "指标编码")
    private String code;

    @ApiModelProperty(value = "指标值")
    private String value;

    @ApiModelProperty(value = "表名",hidden = true)
    private String tableName;


    /**
     * 统计类型：0小时统计 1天统计 2月统计 3年统计
     */
    @ApiModelProperty(value = "统计类型：0小时统计 1天统计 2月统计 3年统计")
    private Integer statisticsType;


    /**
     * 统计时长（秒）
     */
    @ApiModelProperty(value = "统计时长（秒）")
    private Integer timeTotal;

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


    /**
     * 是否查询统计表数据
     */
    @ApiModelProperty(value = "是否查询统计表数据(true是，false否，默认否)")
    private Boolean isStatisticsScada;
}
