
package org.sky.scientific.excel;


import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 技术人员花名册 Excel实体类
 *
 * @author Kd
 * @since 2025-06-11
 */
@Data
public class TechnicianExcel implements Serializable {

	@Serial
	private static final long serialVersionUID = 1L;

	private String xh;

	@Schema(description = "姓名")
	@NotBlank(message = "姓名不能为空")
	@Size(max = 20, message = "姓名长度不能超过20个字符")
	private String name;

	@Schema(description = "工号")
 	private String number;

	@Schema(description = "身份证号")
 	private String idCard;

  	private Integer gender;

	@Schema(description = "性别")
 	private String genderName;

	@Schema(description = "出生日期")
  	private String birthday;

	@Schema(description = "民族")
  	private String ethnic;

	@Schema(description = "所属二级单位/部门")
 	private String department;

	@Schema(description = "岗位职务")
 	private String post;

	@Schema(description = "岗位所在地")
  	private String postLocation;

	@Schema(description = "用工性质")
	@NotBlank(message = "用工性质不能为空")
  	private String nature;

	@Schema(description = "入职时间")
  	private String hireDate;

	@Schema(description = "最高学历")
  	private String education;

	@Schema(description = "最高学位")
 	private String degree;

	@Schema(description = "最高学历学校")
  	private String schoolName;

	@Schema(description = "最高学历专业名称")
  	private String major;

	@Schema(description = "职称")
  	private String rank;

	@Schema(description = "执业资格")
 	private String practicingRequirement;

	@Schema(description = "情况说明")
 	private String remark;

	@Schema(description = "参研情况")
	@NotBlank(message = "参研情况不能为空")
  	private String situation;

	@Schema(description = "人员类型")
	@NotBlank(message = "人员类型不能为空")
  	private String personnelType;

}
