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

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


/**
 * 执行报告实际排放情况对象 s_ra_action_reports_actual_emissions
 *
 * @author szhpt
 * @date 2023-04-11*/
@ApiModel(value = "执行报告实际排放情况")
@EqualsAndHashCode(callSuper = false)
@Data
public class SRaActionReportsActualEmissionsQuery extends PageQuery
{

    @ApiModelProperty(value = "id")
    private String id;
    @ApiModelProperty(value = "执行报告类型;字典bus_executive_report（y 年报 s 季报 m 月报 d 日报）")
    private String reportType;
    @ApiModelProperty(value = "执行报告时间;年：2023 季：20232(2023第二个季度) 月： 2023-02")
    private String reportTime;
    @ApiModelProperty(value = "企业id")
    private String factoryId;
    @ApiModelProperty(value = "排放类型;排放类型（1废气,2废水）")
    private String outletType;
    @ApiModelProperty(value = "排放口名称")
    private String outletName;
    @ApiModelProperty(value = "排放口编号")
    private String outletCode;
    @ApiModelProperty(value = "污染物名称")
    private String pollutantName;
    @ApiModelProperty(value = "污染物code")
    private String pollutantCode;
    @ApiModelProperty(value = "许可排放量（t）")
    private BigDecimal permittedEmissions;
    @ApiModelProperty(value = "实际排放量（t）")
    private BigDecimal actualEmissions;
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     *
     * @Title: getQueryWrapper
     * @Description: 查询参数组装
     * @param: @return
     * @return: QueryWrapper<BasIndustry>
     * @throws
     */
    public static QueryWrapper<SRaActionReportsActualEmissions> createLambdaQueryWrapper(SRaActionReportsActualEmissionsQuery query) {
        QueryWrapper<SRaActionReportsActualEmissions> wrapper = new QueryWrapper<>();
        wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId());
        wrapper.eq(ObjectUtil.isNotNull(query.getReportType()), "report_type", query.getReportType());
        wrapper.eq(ObjectUtil.isNotNull(query.getReportTime()), "report_time", query.getReportTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId());
        wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType());
        wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName());
        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.getPollutantCode()), "pollutant_code", query.getPollutantCode());
        wrapper.eq(ObjectUtil.isNotNull(query.getPermittedEmissions()), "permitted_emissions", query.getPermittedEmissions());
        wrapper.eq(ObjectUtil.isNotNull(query.getActualEmissions()), "actual_emissions", query.getActualEmissions());
        wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy());
        wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy());
        return wrapper;
        }
}
