package com.yifu.cloud.plus.v1.batch.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * 单个人员电子档案上传DTO
 *
 * @author huych
 * @date 2025-12-17
 */
@Data
@Schema(description = "单个人员电子档案上传DTO")
public class SingleArchiveUploadDTO {

	/**
	 * 身份证号
	 */
	@NotBlank(message = "身份证号不能为空")
	@Pattern(regexp = "^\\d{18}$", message = "身份证号格式不正确")
	@Schema(description = "身份证号")
	private String empIdcard;

	/**
	 * 姓名
	 */
	@NotBlank(message = "姓名不能为空")
	@Length(min = 2, max = 32, message = "姓名长度必须在2-32之间")
	@Schema(description = "姓名")
	private String empName;

	/**
	 * 项目编码
	 */
	@NotBlank(message = "项目编码不能为空")
	@Schema(description = "项目编码")
	private String deptNo;

	/**
	 * 项目名称
	 */
	@NotBlank(message = "项目名称不能为空")
	@Schema(description = "项目名称")
	private String deptName;

	/**
	 * 资料类型（存量、新签、续签、减员）
	 */
	@NotBlank(message = "资料类型不能为空")
	@Schema(description = "资料类型（存量、新签、续签、减员）")
	private String materialType;
}

