package cn.cecep.talroad.vo.query.analysis;

import cn.cecep.talroad.domain.analysis.SRaGasPermittedOnline;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.Date;
import java.util.List;


/**
 * 在线排放量废气明细对象 s_ra_gas_permitted_online
 *
 * @author szhpt
 * @date 2023-06-02*/
@ApiModel(value = "在线排放量废气明细")
@EqualsAndHashCode(callSuper = false)
@Data
public class SRaGasPermittedOnlineQuery extends PageQuery
{

    @ApiModelProperty(value = "数据主键")
    private String dataId;
    @ApiModelProperty(value = "企业主键")
    private String factoryId;
    @ApiModelProperty(value = "企业名称")
    private String factoryName;
    @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)")
    private String industryCategoryName;
    @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)")
    private String industryCategoryCode;
    @ApiModelProperty(value = "所在区县名称")
    private String districtName;
    @ApiModelProperty(value = "所在区县编码")
    private String districtCode;
    @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)")
    private String outletType;
    @ApiModelProperty(value = "监测点名称")
    private String moitorName;
    @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)")
    private String monitorType;
    @ApiModelProperty(value = "监测时间")
    private String monitorTime;
    @ApiModelProperty(value = "排口编号")
    private String outletCode;
    @ApiModelProperty(value = "NOx排放量（kg）")
    private String nox;
    @ApiModelProperty(value = "NOx修约量（kg）")
    private String noxAmendments;
    @ApiModelProperty(value = "SO2排放量（kg）")
    private String so2;
    @ApiModelProperty(value = "so2修约量（kg）")
    private String so2Amendments;
    @ApiModelProperty(value = "颗粒物排放量（kg）")
    private String pm;
    @ApiModelProperty(value = "颗粒物修约量（kg）")
    private String pmAmendments;
    @ApiModelProperty(value = "vocs排放量（kg）")
    private String vocs;
    @ApiModelProperty(value = "vocs修约量（kg）")
    private String vocsAmendments;
    @ApiModelProperty(value = "数据标记启炉，停炉，焖炉，生产设施故障，停运，国发非正常工况标记,无效数据是否用修约量计算")
    private String dataFlag;
    @ApiModelProperty(value = "入库时间")
    private String createTime;
    @ApiModelProperty(value = "纳入排放量计算启炉，停炉，焖炉，生产设施故障，停运，国发非正常工况标记，无效数据是否用修约量计算,无效数据是否用修约量计算")
    private String includedEmissions;
    @ApiModelProperty(value = "无效数据是否用修约量计算(1是,0否)")
    private String invalidDataCalculated;
    @ApiModelProperty(value = "监测开始时间")
    private String monitorStartTime;
    @ApiModelProperty(value = "监测截至时间")
    private String monitorEndTime;
    private List<String> dataFlagArr;
    private List<String> monitors;
    private List<String> regionCodes;
    private String pollutantOutletType;
    /**
     *
     * @Title: getQueryWrapper
     * @Description: 查询参数组装
     * @param: @return
     * @return: QueryWrapper<BasIndustry>
     * @throws
     */
    public static QueryWrapper<SRaGasPermittedOnline> createLambdaQueryWrapper(SRaGasPermittedOnlineQuery query) {
        QueryWrapper<SRaGasPermittedOnline> wrapper = new QueryWrapper<>();
        wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId());
        wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId());
        wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName());
        wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName());
        wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode());
        wrapper.eq(ObjectUtil.isNotNull(query.getDistrictName()), "district_name", query.getDistrictName());
        wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode());
        wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType());
        wrapper.eq(ObjectUtil.isNotNull(query.getMoitorName()), "moitor_name", query.getMoitorName());
        wrapper.eq(ObjectUtil.isNotNull(query.getMonitorType()), "monitor_type", query.getMonitorType());
        wrapper.eq(ObjectUtil.isNotNull(query.getMonitorTime()), "monitor_time", query.getMonitorTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode());
        wrapper.eq(ObjectUtil.isNotNull(query.getNox()), "nox", query.getNox());
        wrapper.eq(ObjectUtil.isNotNull(query.getNoxAmendments()), "nox_amendments", query.getNoxAmendments());
        wrapper.eq(ObjectUtil.isNotNull(query.getSo2()), "so2", query.getSo2());
        wrapper.eq(ObjectUtil.isNotNull(query.getSo2Amendments()), "so2_amendments", query.getSo2Amendments());
        wrapper.eq(ObjectUtil.isNotNull(query.getPm()), "pm", query.getPm());
        wrapper.eq(ObjectUtil.isNotNull(query.getPmAmendments()), "pm_amendments", query.getPmAmendments());
        wrapper.eq(ObjectUtil.isNotNull(query.getVocs()), "vocs", query.getVocs());
        wrapper.eq(ObjectUtil.isNotNull(query.getVocsAmendments()), "vocs_amendments", query.getVocsAmendments());
        wrapper.eq(ObjectUtil.isNotNull(query.getDataFlag()), "data_flag", query.getDataFlag());
        wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getIncludedEmissions()), "included_emissions", query.getIncludedEmissions());
        return wrapper;
        }
}
