package cn.cecep.talroad.vo.query;

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


/**
 * 固定源产排治--执行报告--有组织废气污染物排放浓度监测数据对象 b_stat_table_zxbg_gas_emission
 *
 * @author szhpt
 * @date 2023-08-01*/
@ApiModel(value = "固定源产排治--执行报告--有组织废气污染物排放浓度监测数据")
@EqualsAndHashCode(callSuper = false)
@Data
public class BStatTableZxbgGasEmissionQuery extends PageQuery
{

    @ApiModelProperty(value = "主键id")
    private Long id;
    @ApiModelProperty(value = "企业id")
    private String factoryId;
    @ApiModelProperty(value = "执行报告类型，0：月报，1：季报，2：年报")
    private String zxbgType;
    @ApiModelProperty(value = "执行报告周期")
    private String zxbgPeriod;
    @ApiModelProperty(value = "类型")
    private String zxbgPollutantType;
    @ApiModelProperty(value = "创建时间")
    private String createTime;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "排放口编码")
    private String outletCode;
    @ApiModelProperty(value = "污染物名称")
    private String pollutantName;
    @ApiModelProperty(value = "监测设施:手工、自动")
    private String monitoringFacilities;
    @ApiModelProperty(value = "设施名称")
    private String facilityName;
    @ApiModelProperty(value = "许可排放浓度限值")
    private String emissionConcentration;
    @ApiModelProperty(value = "有效监测数据(小时值)数量")
    private String effectivelyHour;
    @ApiModelProperty(value = "检测结果（小时浓度）最小值mg/m3")
    private String detectionMinHour;
    @ApiModelProperty(value = "检测结果（小时浓度）最大值mg/m3")
    private String detectionMaxHour;
    @ApiModelProperty(value = "检测结果（小时浓度）平均值")
    private String detectionAvgHour;
    @ApiModelProperty(value = "监测结果（折标，小时浓度,mg/Nm3）最小值")
    private String foldsMinHour;
    @ApiModelProperty(value = "监测结果（折标，小时浓度,mg/Nm3）最大值")
    private String foldsMaxHour;
    @ApiModelProperty(value = "监测结果（折标，小时浓度,mg/Nm3）平均值")
    private String foldsAvgHour;
    @ApiModelProperty(value = "超标数据个数")
    private String exceededData;
    @ApiModelProperty(value = "超标率（%）")
    private String exceededRate;
    @ApiModelProperty(value = "实际产生量（吨）")
    private String actualAmount;
    @ApiModelProperty(value = "实际排放量（吨）")
    private String actualEmissions;
    @ApiModelProperty(value = "监测仪器名称或型号")
    private String instrumentName;
    @ApiModelProperty(value = "手工监测采样方法及个数")
    private String samplingMethod;
    @ApiModelProperty(value = "手工测定方法")
    private String manualMethod;
    @ApiModelProperty(value = "监测设备测量范围(mg/m3)")
    private String deviceRange;
    @ApiModelProperty(value = "监测设备准确度")
    private String deviceAccuracy;
    @ApiModelProperty(value = "监测设备检出下限mg/m3")
    private String deviceCheckout;
    /**
     *
     * @Title: getQueryWrapper
     * @Description: 查询参数组装
     * @param: @return
     * @return: QueryWrapper<BasIndustry>
     * @throws
     */
    public static QueryWrapper<BStatTableZxbgGasEmission> createLambdaQueryWrapper(BStatTableZxbgGasEmissionQuery query) {
        QueryWrapper<BStatTableZxbgGasEmission> wrapper = new QueryWrapper<>();
        wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId());
        wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId());
        wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType());
        wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod());
        wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutantType()), "zxbg_pollutant_type", query.getZxbgPollutantType());
        wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark());
        wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode());
        wrapper.eq(ObjectUtil.isNotNull(query.getPollutantName()), "pollutant_name", query.getPollutantName());
        wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringFacilities()), "monitoring_facilities", query.getMonitoringFacilities());
        wrapper.eq(ObjectUtil.isNotNull(query.getFacilityName()), "facility_name", query.getFacilityName());
        wrapper.eq(ObjectUtil.isNotNull(query.getEmissionConcentration()), "emission_concentration", query.getEmissionConcentration());
        wrapper.eq(ObjectUtil.isNotNull(query.getEffectivelyHour()), "effectively_hour", query.getEffectivelyHour());
        wrapper.eq(ObjectUtil.isNotNull(query.getDetectionMinHour()), "detection_min_hour", query.getDetectionMinHour());
        wrapper.eq(ObjectUtil.isNotNull(query.getDetectionMaxHour()), "detection_max_hour", query.getDetectionMaxHour());
        wrapper.eq(ObjectUtil.isNotNull(query.getDetectionAvgHour()), "detection_avg_hour", query.getDetectionAvgHour());
        wrapper.eq(ObjectUtil.isNotNull(query.getFoldsMinHour()), "folds_min_hour", query.getFoldsMinHour());
        wrapper.eq(ObjectUtil.isNotNull(query.getFoldsMaxHour()), "folds_max_hour", query.getFoldsMaxHour());
        wrapper.eq(ObjectUtil.isNotNull(query.getFoldsAvgHour()), "folds_avg_hour", query.getFoldsAvgHour());
        wrapper.eq(ObjectUtil.isNotNull(query.getExceededData()), "exceeded_data", query.getExceededData());
        wrapper.eq(ObjectUtil.isNotNull(query.getExceededRate()), "exceeded_rate", query.getExceededRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getActualAmount()), "actual_amount", query.getActualAmount());
        wrapper.eq(ObjectUtil.isNotNull(query.getActualEmissions()), "actual_emissions", query.getActualEmissions());
        wrapper.eq(ObjectUtil.isNotNull(query.getInstrumentName()), "instrument_name", query.getInstrumentName());
        wrapper.eq(ObjectUtil.isNotNull(query.getSamplingMethod()), "sampling_method", query.getSamplingMethod());
        wrapper.eq(ObjectUtil.isNotNull(query.getManualMethod()), "manual_method", query.getManualMethod());
        wrapper.eq(ObjectUtil.isNotNull(query.getDeviceRange()), "device_range", query.getDeviceRange());
        wrapper.eq(ObjectUtil.isNotNull(query.getDeviceAccuracy()), "device_accuracy", query.getDeviceAccuracy());
        wrapper.eq(ObjectUtil.isNotNull(query.getDeviceCheckout()), "device_checkout", query.getDeviceCheckout());
        return wrapper;
        }
}
