package com.ningdatech.carapi.industry.model.vo;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ningdatech.carapi.sys.entity.dto.RegionDTO;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * LabWorkerCertificateListVo
 * </p>
 *
 * @author WendyYang
 * @since 15:06 2022/11/4
 */
@Data
public class LabWorkerCertificateChangeListVo {

    @ApiModelProperty("ID")
    private Long id;

    @ApiModelProperty("企业")
    private Long companyId;

    @ApiModelProperty("区域信息")
    private List<RegionDTO> regions;

    @ApiModelProperty("区域ID")
    private Long regionId;

    @ApiModelProperty("区域名")
    private String regionName;

    @ApiModelProperty("姓名")
    private String userName;

    @ApiModelProperty("身份证号")
    private String idCard;

    @ApiModelProperty("有效期")
    private LocalDate validDate;

    @ApiModelProperty("发证时间")
    private LocalDate conferDate;

    @ApiModelProperty("证书编号")
    private String certificateNo;

    @ApiModelProperty("性别：0 女、1 男、2 未知、3 其他")
    private Integer gender;

    @ApiModelProperty("性别：0 女、1 男、2 未知、3 其他")
    private String genderName;

    @ApiModelProperty("企业名称")
    @NotBlank(message = "企业名称不能为空")
    private String companyName;

    @ApiModelProperty("备注")
    @Length(max = 500, message = "备注最多500个字符")
    private String remark;

    @ApiModelProperty("证书类型")
    @NotNull(message = "证书类型不能为空")
    private Integer certificateType;

    @ApiModelProperty("审核状态：0 待审核、1 已审核")
    private Integer auditStatus;

    @ApiModelProperty("申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime applicationTime;

    @ApiModelProperty("换证时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate replaceDate;

    @ApiModelProperty("申请原因")
    private String applicationReason;

    @ApiModelProperty("申请事项")
    private String applicationItem;
}
