package cn.cecep.talroad.domain.analysis;

import java.util.Date;

import cn.cecep.talroad.config.AuditWordField;
import com.fasterxml.jackson.annotation.JsonFormat;

import cn.cecep.talroad.common.core.annotation.Excel;
import cn.cecep.talroad.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.TableField;


/**
 * 执行报告规范性审核结果对象 s_ra_action_reports_audit_result
 *
 * @author szhpt
 * @date 2023-04-11*/
@ApiModel(value = "执行报告规范性审核结果")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("s_ra_action_reports_audit_result")
public class SRaActionReportsAuditResult extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "id")
    /** id */
    @TableId(value = "id",type = IdType.ASSIGN_UUID)
    private String id;


    @ApiModelProperty(value = "执行报告审核记录id")
    /** 执行报告审核记录id */
    private String recordId;


    @ApiModelProperty(value = "企业id")
    /** 企业id */
    private String factoryId;

    @ApiModelProperty(value = "报告期;字典bus_executive_report：年：2023 月：2023-02 日： 2023-02-01")
    /** 报告期;字典bus_executive_report：年：2023 月：2023-02 日： 2023-02-01 */
//    @Excel(name = "报告期")
    private String reportTime;

    @ApiModelProperty(value = "排污单位名称")
    /** 排污单位名称 */
    @Excel(name = "排污单位名称",width = 30,sort = 1)
    @TableField(exist = false)
    private String factoryName;

    @ApiModelProperty(value = "行业类别名称")
    /** 行业类别名称 */
    @Excel(name = "行业类别名称",width = 30,sort = 2)
    @TableField(exist = false)
    private String industryCategoryName;

    @ApiModelProperty(value = "区域名称")
    /** 区域名称 */
//    @Excel(name = "区域名称")
    @TableField(exist = false)
    private String countryName;

    @ApiModelProperty(value = "管理类别")
    /** 区域名称 */
    @Excel(name = "管理类别", readConverterExp = "FOCUS=重点,SIMPLIFY=简化,REGISTER=登记",width = 30,sort = 3)
    @TableField(exist = false)
    private String manType;

    @ApiModelProperty(value = "排污许可证编号")
    /** 排污许可证编号 */
    @Excel(name = "排污许可证编号",width = 30,sort = 4)
    @TableField(exist = false)
    private String licenseCode;

    @ApiModelProperty(value = "表中排污许可证编号")
    /** 排污许可证编号 */
    @Excel(name = "排污许可证编号",width = 30,sort = 4)

    private String pollDisLicenseCode;


    @ApiModelProperty(value = "执行报告提交")
    /** 执行报告提交 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "执行报告提交", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reportSubmissionTime;


    @ApiModelProperty(value = "审核时间")
    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 7)
    private Date auditTime;

    @ApiModelProperty(value = "审核部门id")
    /** 审核部门id */
    private String auditDeptId;


    @ApiModelProperty(value = "审核部门")
    /** 审核部门 */
    @Excel(name = "审核部门",width = 30,sort = 5)
    private String auditDeptName;


    @ApiModelProperty(value = "审核人员_id")
    /** 审核人员_id */
    private String auditPersonId;


    @ApiModelProperty(value = "审核人员")
    /** 审核人员 */
    @Excel(name = "审核人员",width = 30,sort = 6)
    private String auditPersonName;


    @ApiModelProperty(value = "排污单位基本信息表")
    /** 排污单位基本信息表 */
    @Excel(name = "排污单位基本信息表",width = 30,sort = 7)
    @AuditWordField(orderNum = 1)
    private String factoryBasicInfo;


    @ApiModelProperty(value = "污染防治设施正常情况汇总表--废水污染防治设施")
    /** 污染防治设施正常情况汇总表--废水污染防治设施 */
    @Excel(name = "污染防治设施正常情况汇总表--废水污染防治设施",width = 30,sort = 8)
    @AuditWordField(orderNum = 2)
    private String waterPreventionFacilities;


    @ApiModelProperty(value = "污染防治设施正常情况汇总表--废气污染防治设施")
    /** 污染防治设施正常情况汇总表--废气污染防治设施 */
    @Excel(name = "污染防治设施正常情况汇总表--废气污染防治设施",width = 30,sort = 9)
    @AuditWordField(orderNum = 3)
    private String gasPreventionFacilities;


    @ApiModelProperty(value = "污染防治设施异常情况汇总表--废气/废水防治设施")
    /** 污染防治设施异常情况汇总表--废气/废水防治设施 */
    @Excel(name = "污染防治设施异常情况汇总表--废气/废水防治设施",width = 30,sort = 10)
    @AuditWordField(orderNum = 4)
    private String preventionFacilities;


    @ApiModelProperty(value = "污染防治设施-异常情况汇总表")
    /** 污染防治设施-异常情况汇总表 */
    @Excel(name = "污染防治设施-异常情况汇总表",width = 30,sort = 11)
    @AuditWordField(orderNum = 5)
    private String abnormalSituation;


    @ApiModelProperty(value = "(正常监测时段)有组织废气污染物排放浓度监测数据统计表")
    /** (正常监测时段)有组织废气污染物排放浓度监测数据统计表 */
    @Excel(name = "(正常监测时段)有组织废气污染物排放浓度监测数据统计表",width = 30,sort = 12)
    @AuditWordField(orderNum = 6)
    private String organizedGasMonitoringData;


    @ApiModelProperty(value = "(正常监测时段)废水污染物排放浓度监测数据统计表")
    /** (正常监测时段)废水污染物排放浓度监测数据统计表 */
    @Excel(name = "(正常监测时段)废水污染物排放浓度监测数据统计表",width = 30,sort = 13)
    @AuditWordField(orderNum = 7)
    private String waterMonitoringData;


    @ApiModelProperty(value = "(正常监测时段)超标率")
    /** (正常监测时段)超标率 */
    @Excel(name = "(正常监测时段)超标率",width = 30,sort = 14)
    @AuditWordField(orderNum = 8)
    private String exceedingRate;


    @ApiModelProperty(value = "非正常工况/特殊时段有组织废气污染物监测数据统计表")
    /** 非正常工况/特殊时段有组织废气污染物监测数据统计表 */
    @Excel(name = "非正常工况/特殊时段有组织废气污染物监测数据统计表",width = 30,sort = 15)
    @AuditWordField(orderNum = 9)
    private String abnormalOrganizedGasMonitoringData;


    @ApiModelProperty(value = "监测频次合规")
    /** 监测频次合规 */
    @Excel(name = "监测频次合规",width = 30,sort = 16)
    @AuditWordField(orderNum = 10)
    private String monitoringFrequency;


    @ApiModelProperty(value = "实际排放量")
    /** 实际排放量 */
    @Excel(name = "实际排放量",width = 30,sort = 17)
    @AuditWordField(orderNum = 11)
    private String actualEmissions;


    @ApiModelProperty(value = "超标排放信息")
    /** 超标排放信息 */
    @Excel(name = "超标排放信息",width = 30,sort = 18)
    @AuditWordField(orderNum = 12)
    private String excessiveEmissions;


    @ApiModelProperty(value = "附图附件-自行监测布点图")
    /** 附图附件-自行监测布点图 */
    @Excel(name = "附图附件-自行监测布点图",width = 30,sort = 19)
    @AuditWordField(orderNum = 13)
    private String attachment;


    @ApiModelProperty(value = "污染物实际排放量计算过程")
    /** 污染物实际排放量计算过程 */
    @Excel(name = "污染物实际排放量计算过程",width = 30,sort = 20)
    @AuditWordField(orderNum = 14)
    private String calculationProcess;

    @ApiModelProperty(value = "备注")
    /** 备注 */
    @Excel(name = "备注",width = 30,sort = 21)
    private String remark;

    @ApiModelProperty(value = "审核表")
    /** 核查表下载url */
//    @Excel(name = "审核表")
    private String checklist;

    @TableField(exist = false)
    private String city="唐山市";

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("recordId", getRecordId())
                .append("factoryId", getFactoryId())
                .append("reportTime", getReportTime())
                .append("pollDisLicenseCode", getLicenseCode())
                .append("reportSubmissionTime", getReportSubmissionTime())
                .append("auditTime", getAuditTime())
                .append("auditDeptId", getAuditDeptId())
                .append("auditDeptName", getAuditDeptName())
                .append("auditPersonId", getAuditPersonId())
                .append("auditPersonName", getAuditPersonName())
                .append("factoryBasicInfo", getFactoryBasicInfo())
                .append("waterPreventionFacilities", getWaterPreventionFacilities())
                .append("gasPreventionFacilities", getGasPreventionFacilities())
                .append("preventionFacilities", getPreventionFacilities())
                .append("abnormalSituation", getAbnormalSituation())
                .append("organizedGasMonitoringData", getOrganizedGasMonitoringData())
                .append("waterMonitoringData", getWaterMonitoringData())
                .append("exceedingRate", getExceedingRate())
                .append("abnormalOrganizedGasMonitoringData", getAbnormalOrganizedGasMonitoringData())
                .append("monitoringFrequency", getMonitoringFrequency())
                .append("actualEmissions", getActualEmissions())
                .append("excessiveEmissions", getExcessiveEmissions())
                .append("attachment", getAttachment())
                .append("calculationProcess", getCalculationProcess())
                .append("remark", getRemark())
                .append("checklist", getChecklist())
                .append("updateTime", getUpdateTime())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .toString();
    }
}
