package cn.cecep.talroad.vo.query;

import cn.cecep.talroad.common.core.domain.query.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.util.List;
import java.util.Map;

@Data
public class BStatTablepPwxkWaterQuery extends PageQuery {

    @ApiModelProperty(value = "企业名称")
    private String factoryName;
    @ApiModelProperty(value = "标签")
    private Map<String, Object> labelMap;

    @ApiModelProperty(value = "是否展示企业重点标签")
    private Boolean showMainLable;

    private Boolean exportOperate=false;

    @ApiModelProperty(value = "企业id集合")
    private List<String> factoryIdList;

    @ApiModelProperty(value = "执行报告类型，0：月报，1：季报，2：年报")
    private String zxbgType;

    @ApiModelProperty(value = "执行报告周期")
    private String zxbgPeriod;

    @ApiModelProperty(value = "执行报告-记录内容")
    private String zxbgRecord;

    @ApiModelProperty(value = "执行报告-名称")
    private String zxbgName;

    @ApiModelProperty(value = "执行报告-参数")
    private String zxbgParam;

    @ApiModelProperty(value = "执行报告-污染物名称")
    private String zxbgPollutant;

    @ApiModelProperty(value = "执行报告-排放方式")
    private String zxbgEmissionType;

    @ApiModelProperty(value = "执行报告-超标时段开始时间")
    private String overStartTime;

    @ApiModelProperty(value = "执行报告-超标时段截止时间")
    private String overEndTime;

    @ApiModelProperty(value = "执行报告-超标原因说明")
    private String overRemark;

    @ApiModelProperty(value = "执行报告-类型")
    private String zxbgAirType;

    @ApiModelProperty(value = "执行报告-废气类型")
    private String zxbgAirAllType;

    @ApiModelProperty(value = "执行报告-时间-开始")
    private String zxbgStartTime;

    @ApiModelProperty(value = "执行报告-时间-结束")
    private String zxbgEndTime;

    @ApiModelProperty(value = "执行报告-运行参数")
    private String processParameter;

    @ApiModelProperty(value = "执行报告-监测设施")
    private String monitoringFacilities;


    @ApiModelProperty(value = "执行报告-生产单元")
    private String productionUnit;


    @ApiModelProperty(value = "执行报告-燃料名称")
    private String fuelName;


    @ApiModelProperty(value = "污水处理厂名称")
    private String treatmentPlantName;
    @ApiModelProperty(value = "污水处理厂类型")
    private List<String> treatmentPlantTypes;

    @ApiModelProperty(value = "运营商名称")
    private String serviceProvider;

    @ApiModelProperty(value = "是否属于工业园区配套污水处理设施（0否1是）")
    private String belongToWaterTreatmentFacilities;

    @ApiModelProperty(value="服务范围所属行政区域")
    private String serviceCountryCode;
    @ApiModelProperty(value="生产设施编号")
    private String productionFacilitiesCode;

    /**
     * 生产设施名称
     */
    @ApiModelProperty(value="生产设施名称")
    private String productionFacilitiesName;

    @ApiModelProperty(value = "固体废物类别")
    /** 固体废物类别*/
    private String solidWasteType;

    @ApiModelProperty(value = "主要生产单元名称")
    private String productionUnitName;
    @ApiModelProperty(value = "主要工艺名称")
    private Short craftName;
    @ApiModelProperty(value = "生产设施名称")
    private String facilityName;
    @ApiModelProperty(value = "生产线类型")
    private String productionLineType;
    @ApiModelProperty(value="产品名称")
    private String productName;
    @ApiModelProperty(value = "记录频次")
    /** 记录频次 */
    private List<String> recordFrequencys;
    @ApiModelProperty(value = "true导出压缩包，false")
    private Boolean bol;

    /**
     * 种类
     */
    @ApiModelProperty(value="种类")
    private String rawMaterialClass;

    /**
     * 类型
     */
    @ApiModelProperty(value="类型")
    private String rawMaterialType;

    /**
     * 名称
     */
    @ApiModelProperty(value="名称")
    private String rawMaterialName;
    @ApiModelProperty(value="多表导出ZIP的bean和方法:BStatTableZxbgJbxxInfoController.export多个英文逗号分隔")
    private String beanMethodList;

    public String getZxbgType() {
        return zxbgType;
    }

    public void setZxbgType(String zxbgType) {
        if(StringUtils.isNotBlank(zxbgType)){
            if(zxbgType.equals("year")){this.zxbgType = "2";}
            if(zxbgType.equals("quarter")){this.zxbgType = "1";}
            if(zxbgType.equals("month")){this.zxbgType = "0";}
        }else {
            this.zxbgType = zxbgType;
        }
    }
}
