package com.tofly.qualitycontrol.dto;

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

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode
public class CertifyOrderInfoDto implements Serializable {
    private static final long serialVersionUID = 1L;


    /** 是否合格（是/否） */
    @NotEmpty
    @ApiModelProperty(value = "是否合格（0 是/1 否）",required = true)
    private String isQualified;


    /** 是否整改（是/否） */
    @NotEmpty
    @ApiModelProperty(value ="是否整改（0 是/1 否) ",required = true)
    private String isRectified;


    /** 检验记录状态（流程控制：0本环节/1转部门整改/3流程终止） */
    @ApiModelProperty(value ="检验记录状态（流程控制：0 本环节/1 转部门整改/3 流程终止）",required = true)
    private String certificationStatus;


    /** 缺陷类型 水量异常原因:（爆管（内漏）、拆迁、停业、假期、多表供水、新增、销户待办等）--修改查询类型表 */
    @ApiModelProperty(" 缺陷类型 水量异常原因:（爆管（内漏）、拆迁、停业、假期、多表供水、新增、销户待办等）--修改查询类型表 ")
    private String exceptionCause;


    /** 整改内容及要求整改建议说明 */
    @ApiModelProperty("整改建议说明")
    private String rectifyDesc;


    /** 整改处置+整改审核时限 */
    @ApiModelProperty("整改处置+整改审核时限 xxx日 23:59:59")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rectifyTimeLimit;


    /** 整改处置部门 */
    @ApiModelProperty("整改处置部门")
    private String rectifyDept;


    /** 整改处置人员 */
    @ApiModelProperty("整改处置人员")
    private String rectifyPerson;


    /** 整改处置人员id */
    @ApiModelProperty("整改处置人员id")
    private Long rectifyPersonId;


    /** 整改下达部门 */
    @ApiModelProperty("整改下达部门")
    private String issueDept;


    /** 整改下达人员 */
    @ApiModelProperty("整改下达人员")
    private String issuePerson;


    /** 整改下达人员id */
    @ApiModelProperty("整改下达人员id")
    private Long issuePersonId;


    /** 检验记录认证结论 */
    @ApiModelProperty("检验记录")
    private String conclusion;


    /** 问题级别 */
    @NotNull
    @ApiModelProperty(value = "问题级别id",required = true)
    private Long problemLevel;

    /**
     * 上传附件id，关联表TF_YWPN_FILE_W关键值，多个文件以英文逗号分割
     */
    @ApiModelProperty(value = "上传附件id，关联表TF_YWPN_FILE _W关键值，多个文件以英文逗号分割")
    private String fileIds;


    /** 文件名称 */
    @ApiModelProperty("文件名称")
    private List<String> fileName;

}
