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

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

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

import org.hibernate.validator.constraints.Length;

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 LabWorkerCertificateReq {

    @ApiModelProperty("ID")
    private Integer id;

    @ApiModelProperty("企业")
    @NotNull(message = "企业ID不能为空")
    private Long companyId;

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

    @ApiModelProperty("区域ID")
    @NotNull(message = "区域ID不能为空")
    private Long regionId;

    @ApiModelProperty("姓名")
    @NotBlank(message = "姓名不能为空")
    private String userName;

    @ApiModelProperty("身份证号")
    @NotBlank(message = "身份证号不能为空")
    private String idCard;

    @ApiModelProperty("有效期")
    @NotNull(message = "有效期不能为空")
    private LocalDate validDate;

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

    @ApiModelProperty("发证机关")
    @NotBlank(message = "发证机关不能为空")
    private String conferOrg;

    @ApiModelProperty("换证时间")
    private LocalDate replaceDate;

    @ApiModelProperty("证书编号")
    @NotBlank(message = "证书编号不能为空")
    private String certificateNo;

    @ApiModelProperty("性别：0 女、1 男、2 未知、3 其他")
    @NotNull(message = "性别不能为空")
    private Integer gender;

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

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

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

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

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

    @ApiModelProperty("新增类型")
    @NotNull(message = "新增类型不能为空!")
    private Integer addType;
}
