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

import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 电子档案导入Excel模板VO
 *
 * @author huych
 * @date 2025-12-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "电子档案导入Excel模板VO")
public class ArchiveImportVO extends RowIndex implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 姓名
	 */
	@ExcelAttribute(name = "姓名", isNotEmpty = true, errorInfo = "姓名不能为空", maxLength = 32)
	@ExcelProperty(value = "姓名")
	@NotBlank(message = "姓名不能为空")
	@Schema(description = "姓名")
	private String empName;

	/**
	 * 身份证号码
	 */
	@ExcelAttribute(name = "身份证号码", isNotEmpty = true, errorInfo = "身份证号码不能为空", maxLength = 18)
	@ExcelProperty(value = "身份证号码")
	@NotBlank(message = "身份证号码不能为空")
	@Schema(description = "身份证号码")
	private String empIdcard;

	/**
	 * 项目名称
	 */
	@ExcelAttribute(name = "项目名称", isNotEmpty = true, errorInfo = "项目名称不能为空", maxLength = 50)
	@ExcelProperty(value = "项目名称")
	@NotBlank(message = "项目名称不能为空")
	@Schema(description = "项目名称")
	private String deptName;

	/**
	 * 项目编码
	 */
	@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码不能为空", maxLength = 50)
	@ExcelProperty(value = "项目编码")
	@NotBlank(message = "项目编码不能为空")
	@Schema(description = "项目编码")
	private String deptNo;

}

