package cn.cecep.talroad.vo;

import cn.cecep.talroad.domain.BMainExceptionTaskCheckStep;
import cn.cecep.talroad.domain.PcOutlet;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@ApiModel(value = "移动执法信息-异常任务核查vo")
@EqualsAndHashCode(callSuper = false)
@Data
public class BMainExceptionTaskCheckVo
{
    @ApiModelProperty(value = "主键")
    /** 主键 */
    private String id;

    @ApiModelProperty(value = "任务名称")
    /** 任务名称 */
    private String taskName;

    @ApiModelProperty(value = "任务来源")
    /** 任务来源 */
    private String taskSource;

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

    @ApiModelProperty(value = "企业名称")
    /** 企业名称 */
    private String factoryName;

    @ApiModelProperty(value = "企业地址")
    /** 企业地址 */
    private String factoryAddr;

    @ApiModelProperty(value = "区域")
    /** 区域 */
    private String regionName;

    @ApiModelProperty(value = "是否正面清单")
    /** 是否正面清单 */
    private String isFrontList;

    @ApiModelProperty(value = "企业评级")
    /** 企业评级 */
    private String factoryGrade;

    @ApiModelProperty(value = "签收时间")
    /** 签收时间 */
    private String receiveTime;

    @ApiModelProperty(value = "核查时间")
    /** 核查时间 */
    private String checkTime;

    @ApiModelProperty(value = "核查内容")
    /** 核查内容 */
    private String checkContent;

    @ApiModelProperty(value = "核查状态")
    /** 核查状态 */
    private String checkStatus;

    @ApiModelProperty(value = "核查内容-原因分类")
    /** 核查内容-原因分类 */
    private String checkReasonType;

    @ApiModelProperty(value = "核查内容-原因细分")
    /** 核查内容-原因细分 */
    private String checkReasonDetail;

    @ApiModelProperty(value = "核查内容-原因")
    /** 核查内容-原因 */
    private String checkReason;

    @ApiModelProperty(value = "核查内容-附件")
    /** 核查内容-附件 */
    private String checkFileUrl;
    private String checkFileName;

    @ApiModelProperty(value = "核查内容-处理意见")
    /** 核查内容-处理意见 */
    private String checkDealAdvise;

    @ApiModelProperty(value = "问题情况-是否存在问题")
    /** 问题情况-是否存在问题 */
    private String isExistProblem;

    @ApiModelProperty(value = "处罚情况-是否立案处罚")
    /** 处罚情况-是否立案处罚 */
    private String isRegisterPunish;

    @ApiModelProperty(value = "处罚情况-附件")
    /** 处罚情况-附件 */
    private String punishFileUrl;
    private String punishFileName;

    @ApiModelProperty(value = "完成时间")
    /** 完成时间 */
    private String completeTime;

    @ApiModelProperty(value = "办理状态")
    /** 办理状态 */
    private String dealStatus;

    @ApiModelProperty(value = "任务状态")
    /** 任务状态 */
    private String taskStatus;

    @ApiModelProperty(value = "执法人员，多个使用逗号分隔")
    /** 执法人员，多个使用逗号分隔 */
    private String enforceUser;

    @ApiModelProperty(value = "执法方式")
    /** 执法方式 */
    private String enforceWay;

    @ApiModelProperty(value = "现场执法原因")
    /** 现场执法原因 */
    private String enforceReason;

    @ApiModelProperty(value = "浓度异常趋势-排口id，多个使用逗号分隔")
    /** 浓度异常趋势-排口id，多个使用逗号分隔 */
    private String outletIds;

    @ApiModelProperty(value = "异常时间")
    private String exceptionTime;

    @ApiModelProperty(value = "问题类型")
    private String problemType;

    @ApiModelProperty(value = "查处情况")
    private String ccqk;

    @ApiModelProperty(value = "问题描述")
    private String problemDesc;

    @ApiModelProperty(value = "立案处罚原因")
    private String punishReason;

    @Data
    @ApiModel("异常任务核查详情vo")
    public static class DetailVo extends BMainExceptionTaskCheckVo {
        @ApiModelProperty(value = "排口列表")
        private List<PcOutlet> outlets;

        @ApiModelProperty(value = "异常时间开始")
        private String exceptionTimeStart;

        @ApiModelProperty(value = "异常时间开始")
        private String exceptionTimeEnd;

        @ApiModelProperty(value = "任务流程步骤")
        private List<BMainExceptionTaskCheckStep> steps;

        @ApiModelProperty(value = "已完成的最后一步步骤号")
        private int stepNum;
    }

}
