package cn.cecep.talroad.vo.query;

import cn.cecep.talroad.common.core.domain.query.PageQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;


@ApiModel(value = "预警报警信息")
@EqualsAndHashCode(callSuper = false)
@Data
public class AmProblemFiQuery extends PageQuery
{

    @ApiModelProperty(value = "主键id")
    private String id;

    @ApiModelProperty(value = "问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统")
    private String problemSources;

    @ApiModelProperty(value = "问题分类 多个使用逗号分隔")
    private List<String> problemTypes;

    @ApiModelProperty(value = "监测点位名称")
    private String stationName;

    @ApiModelProperty(value = "参数名称")
    private String paramName;

    @ApiModelProperty(value = "企业id")
    private String factoryId;

    @ApiModelProperty(value = "企业名称")
    private String factoryName;

    @ApiModelProperty(value = "行业编码")
    private String industryCode;

    @ApiModelProperty(value = "区域编码")
    private String regionCode;

    @ApiModelProperty(value = "区域编码列表")
    private List<String> regionCodeList;

    @ApiModelProperty(value = "分析时间开始 格式:yyyy-MM-dd")
    private String analyseTimeStart;

    @ApiModelProperty(value = "分析时间结束 格式:yyyy-MM-dd")
    private String analyseTimeEnd;

    @ApiModelProperty(value = "污染要素分类 1:气污染要素, 2:水污染要素")
    private String pollutantSourceAi;

    @ApiModelProperty(value = "状态 1:查看, 2:验证")
    private String status;

    @ApiModelProperty(value = "类型 0-预警，1-报警")
    private Integer type;

    @ApiModelProperty(value = "问题状态:100：初始化/待签收，200：待整改，300：待审核，400：审核不通过，500：已办结/已签收")
    private String problemStatus;

    @ApiModelProperty(value = "问题状态 多个使用逗号分隔")
    private List<String> problemStatusList;

    @ApiModelProperty(value = "问题审核人类型：1：值守，2：执法")
    private String problemAuditType;

    private Boolean noRegion = false;//为true时查询不限制区域

    @ApiModelProperty(value = "查询类型,问题分类大类 、0：预警，1：不涉及违法问题，2涉及违法问题")
    private String topType;//查询类型

    @ApiModel(value = "查询图表数据参数")
    @Data
    public static class ChartDataParam {
        @ApiModelProperty(value = "企业id")
        private String factoryId;

        @ApiModelProperty(value = "问题类型")
        private List<String> problemType;

        @ApiModelProperty(value = "日期类型 日:D, 月:N")
        private String dateType;

        @ApiModelProperty(value = "开始日期")
        private String startTime;

        @ApiModelProperty(value = "结束日期")
        private String endTime;

        @ApiModelProperty("行业")
        private String industry;

        @ApiModelProperty("问题类型以指定字符串开头的")
        private String problemTypeStartWith;
    }
}
