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

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.cecep.talroad.domain.analysis.SRaAreaRegulatoryIssues;
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_area_regulatory_issues
 *
 * @author szhpt
 * @date 2023-04-11*/
@ApiModel(value = "区域证后监管问题总表")
@EqualsAndHashCode(callSuper = false)
@Data
public class SRaAreaRegulatoryIssuesQuery extends PageQuery
{

    @ApiModelProperty(value = "id")
    private String id;
    @ApiModelProperty(value = "执行报告类型;字典bus_executive_report（y 年报 s 季报 m 月报 d 日报）")
    private String reportType;
    @ApiModelProperty(value = "区域名称")
    private String districtName;
    @ApiModelProperty(value = "区域编码")
    private String districtCode;
    @ApiModelProperty(value = "行业类别")
    private String industryCategory;
    @ApiModelProperty(value = "月份")
    private String month;
    @ApiModelProperty(value = "治理设施异常问题个数")
    private Long abnormalProblemsNum;
    @ApiModelProperty(value = "在线监测有效监测率")
    private String effectiveMonitoringComplianceRate;
    @ApiModelProperty(value = "在线监测达标率")
    private BigDecimal onlineMonitoringComplianceRate;
    @ApiModelProperty(value = "手工监测频次合格率")
    private BigDecimal manualMonitoringFrequencyPassRate;
    @ApiModelProperty(value = "系统核算实际排放合格率")
    private BigDecimal sysAccActualEmissionPassRate;
    @ApiModelProperty(value = "执行报告实际排放合格率")
    private BigDecimal reportActualEmissionPassRate;
    @ApiModelProperty(value = "重污染管控执行率")
    private BigDecimal heavyPollutionControlExacutiveRate;
    @ApiModelProperty(value = "应提交执行报告企业数量")
    private Long totalEnterprises;
    @ApiModelProperty(value = "执行报告提交率")
    private BigDecimal submissionRate;
    @ApiModelProperty(value = "执行报告规范性存在问题企业数量")
    private Long problemsEnterprises;
    @ApiModelProperty(value = "规范性问题率")
    private BigDecimal normativeQuestionRate;
    @ApiModelProperty(value = "执行报告结果统计时间")
    private Date reportResultStatisticalTime;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**
     *
     * @Title: getQueryWrapper
     * @Description: 查询参数组装
     * @param: @return
     * @return: QueryWrapper<BasIndustry>
     * @throws
     */
    public static QueryWrapper<SRaAreaRegulatoryIssues> createLambdaQueryWrapper(SRaAreaRegulatoryIssuesQuery query) {
        QueryWrapper<SRaAreaRegulatoryIssues> 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.getDistrictName()), "district_name", query.getDistrictName());
        wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode());
        wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategory()), "industry_category", query.getIndustryCategory());
        wrapper.eq(ObjectUtil.isNotNull(query.getMonth()), "month", query.getMonth());
        wrapper.eq(ObjectUtil.isNotNull(query.getAbnormalProblemsNum()), "abnormal_problems_num", query.getAbnormalProblemsNum());
        wrapper.eq(ObjectUtil.isNotNull(query.getEffectiveMonitoringComplianceRate()), "effective_monitoring_compliance_rate", query.getEffectiveMonitoringComplianceRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getOnlineMonitoringComplianceRate()), "online_monitoring_compliance_rate", query.getOnlineMonitoringComplianceRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getManualMonitoringFrequencyPassRate()), "manual_monitoring_frequency_pass_rate", query.getManualMonitoringFrequencyPassRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getSysAccActualEmissionPassRate()), "sys_acc_actual_emission_pass_rate", query.getSysAccActualEmissionPassRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getReportActualEmissionPassRate()), "report_actual_emission_pass_rate", query.getReportActualEmissionPassRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getHeavyPollutionControlExacutiveRate()), "heavy_pollution_control_exacutive_rate", query.getHeavyPollutionControlExacutiveRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getTotalEnterprises()), "total_enterprises", query.getTotalEnterprises());
        wrapper.eq(ObjectUtil.isNotNull(query.getSubmissionRate()), "submission_rate", query.getSubmissionRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getProblemsEnterprises()), "problems_enterprises", query.getProblemsEnterprises());
        wrapper.eq(ObjectUtil.isNotNull(query.getNormativeQuestionRate()), "normative_question_rate", query.getNormativeQuestionRate());
        wrapper.eq(ObjectUtil.isNotNull(query.getReportResultStatisticalTime()), "report_result_statistical_time", query.getReportResultStatisticalTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy());
        wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime());
        wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy());
        wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime());
        return wrapper;
        }
}
