package cn.cecep.talroad.vo;

import cn.cecep.talroad.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 废气监测数据对象 s_env_gas_mon_real
 *
 * @author szhpt
 * @date 2023-04-06*/
@ApiModel(value = "废气监测数据")
@EqualsAndHashCode(callSuper = false)
@Data
public class SEnvGasMonDayVo
{
    @ApiModelProperty(value = "主键id")
    /** 主键id */
    private String id;

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

    @ApiModelProperty(value = "排口id")
    /** 排口id */
    private String outletId;

    @ApiModelProperty(value = "排口名称")
    /** 排口名称*/
    @Excel(name = "排口名称",sort = 2)
    private String outletName;

    @ApiModelProperty(value = "排口编号")
    /** 排口名称*/
    @Excel(name = "排口编号",sort = 3)
    private String outletCode;

    @ApiModelProperty(value = "监测点位名称")
    @Excel(name = "监测点位名称",sort = 1)
    private String monitoringPointName;

    @ApiModelProperty(value = "标记说明")
//    @Excel(name = "标记说明", readConverterExp="N=正常,F=停运,M=维护/维修,S=手工输入的设定值,D=故障/断电,C=校准,T=超测量上限")
    private String mark;

    @ApiModelProperty(value = "数据类型（日：d；小时：h；分钟：m）")
    /** 数据类型（日：d；小时：h；分钟：m） */
    private String dataType;

    @ApiModelProperty(value = "日期")
    /** 日期 */
    @Excel(name = "时间",sort = 4)
    private String monitoringTime;

    @ApiModelProperty(value = "二氧化硫")
    /** 二氧化硫 */
    @Excel(name = "SO2实测(mg/m³)",sort = 5)
    private String so2;

    @ApiModelProperty(value = "二氧化硫折算")
    /** 二氧化硫折算 */
    @Excel(name = "SO2折算(mg/m³)",sort = 6)
    private String so2Convert;

    @ApiModelProperty(value = "二氧化硫排放量")
    /** 二氧化硫排放量 */
    @Excel(name = "SO2排放量(kg)",sort = 7)
    private String so2Emission;

    @ApiModelProperty(value = "氮氧化物")
    /** 氮氧化物 */
    @Excel(name = "NOx实测(mg/m³)",sort =8)
    private String nox;

    @ApiModelProperty(value = "氮氧化物折算")
    /** 氮氧化物折算 */
    @Excel(name = "NOx折算(mg/m³)",sort = 9)
    private String noxConvert;

    @ApiModelProperty(value = "氮氧化物排放量")
    /** 氮氧化物排放量 */
    @Excel(name = "NOx排放量(kg)",sort = 10)
    private String noxEmission;

    @ApiModelProperty(value = "一氧化氮")
    /** 一氧化氮 */
    private String no;

    @ApiModelProperty(value = "一氧化氮折算")
    /** 一氧化氮折算 */
    private String noConvert;

    @ApiModelProperty(value = "一氧化氮排放量")
    /** 一氧化氮排放量 */
    private String noEmission;

    @ApiModelProperty(value = "二氧化氮")
    /** 二氧化氮 */
    private String no2;

    @ApiModelProperty(value = "二氧化氮折算")
    /** 二氧化氮折算 */
    private String no2Convert;

    @ApiModelProperty(value = "二氧化氮排放量")
    /** 二氧化氮排放量 */
    private String no2Emission;

    @ApiModelProperty(value = "烟尘")
    /** 烟尘 */
    private String smokeDust;

    @ApiModelProperty(value = "烟尘折算")
    /** 烟尘折算 */
    private String smokeDustConvert;

    @ApiModelProperty(value = "烟尘排放量")
    /** 烟尘排放量 */
//    @Excel(name = "烟尘排放量")
    private String smokeDustEmission;

    @ApiModelProperty(value = "颗粒物实测")
    /** 颗粒物实测 */
    @Excel(name = "颗粒物实测(mg/m³)",sort = 11)
    private String pm;

    @ApiModelProperty(value = "颗粒物折算")
    /** 颗粒物折算 */
    @Excel(name = "颗粒物折算(mg/m³)",sort = 12)
    private String pmConvert;

    @ApiModelProperty(value = "颗粒物排放量")
    /** 颗粒物排放量 */
    @Excel(name = "颗粒物排放量(kg)",sort = 13)
    private String pmEmission;

    @ApiModelProperty(value = "VOCs实测")
    /** vocs实测 */
    @Excel(name = "VOCs实测(mg/m³)",sort = 14)
    private String vocs;

    @ApiModelProperty(value = "VOCs折算")
    /** vocs折算 */
    @Excel(name = "VOCs折算(mg/m³)",sort = 15)
    private String vocsConvert;

    @ApiModelProperty(value = "vocs排放量")
    /** vocs排放量 */
    @Excel(name = "VOCs排放量(kg)",sort = 16)
    private String vocsEmission;

    @ApiModelProperty(value = "氧气含量")
    /** 氧气含量 */
    @Excel(name = "氧气含量(%)",sort = 17)
    private String o3;

    @ApiModelProperty(value = "废气")
    /** 废气 */
    @Excel(name = "废气流量(m³/s)",sort = 18)
    private String oxygen;

    @ApiModelProperty(value = "废气排放量")
    @Excel(name = "废气排放量(m³)",sort = 19)
    private String oxygenEmission;

    @ApiModelProperty(value = "烟气温度")
    /** 烟气温度 */
    @Excel(name = "烟气温度(℃)",sort = 20)
    private String smokeDustTem;

    @ApiModelProperty(value = "烟气压力")
    /** 烟气压力 */
    @Excel(name = "烟气压力(kPa)",sort = 21)
    private String smokeDustPressure;

    @ApiModelProperty(value = "烟气流速")
    /** 烟气流速 */
    @Excel(name = "烟气流速(m/s)",sort = 22)
    private String smokeDustFlowVelocity;

    @ApiModelProperty(value = "烟气湿度")
    /** 烟气湿度 */
    @Excel(name = "烟气湿度(%)",sort = 23)
    private String smokeDustHumidity;

    @Data
    public static class EmissionSumVo {
        @ApiModelProperty(value = "排口id")
        private String outletId;

        @ApiModelProperty(value = "二氧化硫排放量总和")
        private BigDecimal so2EmissionSum;

        @ApiModelProperty(value = "氮氧化物排放量总和")
        private BigDecimal noxEmissionSum;

        @ApiModelProperty(value = "一氧化氮排放量总和")
        private BigDecimal noEmissionSum;

        @ApiModelProperty(value = "二氧化氮排放量总和")
        private BigDecimal no2EmissionSum;

        @ApiModelProperty(value = "烟尘排放量总和")
        private BigDecimal smokeDustEmissionSum;

        @ApiModelProperty(value = "颗粒物排放量总和")
        private BigDecimal pmEmissionSum;

        @ApiModelProperty(value = "vocs排放量总和")
        private BigDecimal vocsEmissionSum;

        @ApiModelProperty(value = "废气排放量总和")
        private BigDecimal oxygenEmissionSum;

        @ApiModelProperty(value = "小时数据数量")
        private Long hourDataCount;
    }

    @Data
    public static class OxygenEmissionAvg {
        @ApiModelProperty(value = "排口id")
        private String outletId;

        @ApiModelProperty(value = "废气排放量平均值")
        private BigDecimal oxygenEmissionAvg;
    }

}
