package com.tofly.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@EqualsAndHashCode
public class RectifyOrderInfoVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("整改工单主键ID")
    private Long id;
    /** 整改编号 */
    @ApiModelProperty("整改编号")
    private String rectifyNumber;


    /** 整改处置+整改审核时限 */
    @ApiModelProperty("整改处置+整改审核时限")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date resultTimeLimit;
    /** 整改成效类别（水价纠正、水量纠正、违章纠正、服务纠正、表务信息纠正，其它） */
    @ApiModelProperty("整改成效类别（水价纠正、水量纠正、违章纠正、服务纠正、表务信息纠正，其它）")
    private String rectifyType;

    /** 整改成效类别（水价纠正、水量纠正、违章纠正、服务纠正、表务信息纠正，其它） */
    @TableField(exist = false)
	@ApiModelProperty("整改成效类别（水价纠正、水量纠正、违章纠正、服务纠正、表务信息纠正，其它）")
    private String rectifyTypeName;

    /** 增加水量（立方米） */
    @ApiModelProperty("增加水量（立方米）")
    private Long increaseVolume;
    /** 增加经济效益（元） */
    @ApiModelProperty("增加经济效益（元）")
    private BigDecimal increaseProfit;
    /** 整改处置状态（0本环节/1转部门） */
    @ApiModelProperty("整改处置状态（0本环节/1转部门/4进入下一环节")
    private String rectifyStatus;
    /** 审核状态(0本环节/1通过/2驳回) */
    @ApiModelProperty("整改审核状态(0本环节/1转部门/2驳回/4进入下一环节)")
    private String auditStatus;
    /** 验证状态(0本环节/2驳回/4进入下一环节) */
    @ApiModelProperty("整改验证状态(0本环节/2驳回/4进入下一环节)")
    private String verifyStatus;
    /** 整改时间 */
    @ApiModelProperty("整改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rectifyTime;

    /** 审核部门 */
    @ApiModelProperty("审核部门")
    private String auditDept;
    /** 审核部门 */
    @ApiModelProperty("审核部门")
    private String auditDeptName;
    /** 审核人员 */
    @ApiModelProperty("审核人员")
    private String auditPerson;
    /** 审核人员id */
    @ApiModelProperty("审核人员id")
    private Long auditPersonId;
    /** 审核时间 */
    @ApiModelProperty("审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;
    /** 验证部门 */
    @ApiModelProperty("验证部门")
    private String verifyDept;
    /** 验证部门 */
    @ApiModelProperty("验证部门")
    private String verifyDeptName;
    /** 验证人员 */
    @ApiModelProperty("验证人员")
    private String verifyPerson;
    /** 验证人员id */
    @ApiModelProperty("验证人员id")
    private Long verifyPersonId;
    /** 验证时间 */
    @ApiModelProperty("验证时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date verifyTime;
    /** 整改处置描述 */
    @ApiModelProperty("整改处置描述")
    private String rectifyResultDesc;

    /** 整改验证是否合格  RECTIFY_VERIFY_OK*/
    @ApiModelProperty("整改验证是否合格0不合格，1合格")
    private String rectifyVerifyOk;
    /** 整改审核描述 */
    @ApiModelProperty("整改审核描述")
    private String rectifyAuditDesc;
    /** 整改验证描述 */
    @ApiModelProperty("整改验证描述")
    private String rectifyVerifyDesc;
    /** 整改验证时限 */
    @ApiModelProperty("整改验证时限")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date verifyTimeLimit;

    /** 整改下达时间 */
    @ApiModelProperty("整改下达时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date issueTime;
    /** 整改下达时限 */
    @ApiModelProperty("整改下达时限")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date issueTimeLimit;

    /** 整改下达状态 */
    @ApiModelProperty("整改下达状态（0本环节/2驳回/4进入下一环节")
    private String issueStatus;
    /**
     * 上传附件id，关联表TF_YWPN_FILE_W关键值，多个文件以英文逗号分割
     */
    @ApiModelProperty(value = "整改下达环节文件id,上传附件id，关联表TF_YWPN_FILE _W关键值，多个文件以英文逗号分割")
    private String issueFileIds;
    /** 整改下达描述 */
    @ApiModelProperty("整改下达描述")
    private String rectifyIssueDesc;
    /**
     * 上传附件id，关联表TF_YWPN_FILE_W关键值，多个文件以英文逗号分割
     */
    @ApiModelProperty(value = "整改处置环节文件id,上传附件id，关联表TF_YWPN_FILE _W关键值，多个文件以英文逗号分割")
    private String rectifyFileIds;
    /** 验证审核部门 */
    @ApiModelProperty("验证审核部门")
    private String validateDept;
    /** 验证审核部门 */
    @ApiModelProperty("验证审核部门")
    private String validateDeptName;
    /** 验证审核人员 */
    @ApiModelProperty("验证审核人员")
    private String validatePerson;
    /** 验证审核人员id */
    @ApiModelProperty("验证审核人员id")
    private Long validatePersonId;
    /** 验证审核时间 */
    @ApiModelProperty("验证审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date validateTime;
    /** 验证审核状态(0本环节/2驳回/3终止) */
    @ApiModelProperty("验证审核状态(0本环节/2驳回/3终止)")
    private String validateStatus;
    /** 验证审核描述 */
    @ApiModelProperty("验证审核描述")
    private String rectifyValidateDesc;
    /** 整改下达环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回 */
    @ApiModelProperty("整改下达环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回")
    private Integer issueExceptionStatus;
    /** 整改处置环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回 */
    @ApiModelProperty("整改处置环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回")
    private Integer rectifyExceptionStatus;
    /** 整改审核环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回 */
    @ApiModelProperty("整改审核环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回")
    private Integer auditExceptionStatus;
    /** 整改验证环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回 */
    @ApiModelProperty("整改验证环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回")
    private Integer verifyExceptionStatus;
    /** 验证审核环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回 */
    @ApiModelProperty("验证审核环节异常状态（取值 0 1 2 3）,0表示无超时,无驳回;1表示有超时,无驳回;2表示无超时,有驳回;3表示有超时,有驳回")
    private Integer validateExceptionStatus;

    /** 用水类型编码 */
    @ApiModelProperty(value = "用水类型编码")
    private String ysxzBm;

    /** 用水类型名称 */
    @ApiModelProperty(value = "用水类型名称")
    private String ysxzMc;

    /** 缺陷类型ids */
    @ApiModelProperty(value = "缺陷类型ids ")
    private String gdlxIds;

}
