/**
 * Copyright (c) 2018-2099, Chill Zhuang 庄骞 (bladejava@qq.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.xiaoniu.subsystem.business.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xiaoniu.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serial;
import java.util.Date;

/**
 * 计划人员信息表视图实体类
 *
 * @author sst
 * @since 2024-11-26
 */
@Data
@Accessors(chain = true)
@Schema(description = "计划人员信息表")
public class ProjectPersonnelInfoExcelDTO {
	@Serial
	private static final long serialVersionUID = 1L;

	/**
	 * 姓名
	 */
	@Excel(name = "姓名")
	@Schema(description = "姓名")
	private String userName;
	/**
	 * 学员类型
	 */
	@Schema(description = "学员类型")
	private String traineeType;
	/**
	 * 学员类型
	 */
	@Excel(name = "学员类型")
	@Schema(description = "学员类型")
	private String traineeTypeName;

	@Schema(description = "专业类型")
	private String majorType;

	@Excel(name = "专业类型")
	@Schema(description = "专业类型")
	private String majorTypeName;
	/**
	 * 性别（0男 1女 2未知）
	 */
	@Excel(name = "性别",readConverterExp = "0=男,1=女,2=未知")
	@Schema(description = "性别（0男 1女 2未知）")
	private String sex;
	/**
	 * 籍贯
	 */
	@Excel(name = "籍贯")
	@Schema(description = "籍贯")
	private String nativePlace;
	/**
	 * 民族
	 */
	@Excel(name = "民族")
	@Schema(description = "民族")
	private String nation;
	/**
	 * 身份证号
	 */
	@Excel(name = "身份证号")
	@Schema(description = "身份证号")
	private String idCard;

	/**
	 * 班次名称
	 */
	@Excel(name = "班次名称")
	@Schema(description = "班次名称")
	private String flightName;

	/**
	 * 承训单位名称
	 */
	@Excel(name = "承训单位名称")
	@Schema(description = "承训单位名称")
	private String trainingUnitName;
	/**
	 * 出生年月
	 */
	@Excel(name = "出生年月",dateFormat = "yyyy-MM-dd")
	@Schema(description = "出生年月")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date birthday;
	/**
	 * 入伍年月
	 */
	@Excel(name = "入伍年月",dateFormat = "yyyy-MM-dd")
	@Schema(description = "入伍年月")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date enlistmentYear;
	/**
	 * 开训时间
	 */
	@Excel(name = "开训时间",dateFormat = "yyyy-MM-dd")
	@Schema(description = "开训时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date trainingTime;

	/**
	 * 现岗位名称
	 */
	@Excel(name = "现岗位名称")
	@Schema(description = "现岗位名称")
	private String presentPostName;
	/**
	 * 现职时间
	 */
	@Excel(name = "现职时间",dateFormat = "yyyy-MM-dd")
	@Schema(description = "现职时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date currentEmployment;
	/**
	 * 职务
	 */
	@Excel(name = "职务")
	@Schema(description = "职务")
	private String job;
	/**
	 * 军衔
	 */
	@Excel(name = "军衔")
	@Schema(description = "军衔")
	private String militaryRank;

	/**
	 * 送训单位名称
	 */
	@Excel(name = "送训单位名称")
	@Schema(description = "送训单位名称")
	private String sendingUnitName;
	/**
	 * 送训单位地址
	 */
	@Excel(name = "送训单位地址")
	@Schema(description = "送训单位地址")
	private String sendingUnitAddress;
	/**
	 * 学历（0小学 1初中 2高中 3中专 4大专 5本科 6研究生 7博士）
	 */
	@Excel(name = "学历",readConverterExp = "0=小学,1=初中,2=高中,3=中专,4=大专,5=本科,6=研究生,7=博士")
	@Schema(description = "学历（0小学 1初中 2高中 3中专 4大专 5本科 6研究生 7博士）")
	private String qualification;
	/**
	 * 单位联系人
	 */
	@Excel(name = "单位联系人")
	@Schema(description = "单位联系人")
	private String unitContact;
	/**
	 * 联系电话
	 */
	@Excel(name = "联系电话")
	@Schema(description = "联系电话")
	private String phonenumber;
	/**
	 * 入学摸底考试成绩
	 */
	@Excel(name = "入学摸底考试成绩")
	@Schema(description = "入学摸底考试成绩")
	private String admissionScore;
	/**
	 * 摸底考试试卷
	 */
	@Excel(name = "摸底考试试卷")
	@Schema(description = "摸底考试试卷")
	private String matriculationPaper;
	/**
	 * 日常成绩
	 */
	@Excel(name = "日常成绩")
	@Schema(description = "日常成绩")
	private String dailyPerformance;
	/**
	 * 理论成绩
	 */
	@Excel(name = "理论成绩")
	@Schema(description = "理论成绩")
	private String theoreticalAchievement;
	/**
	 * 实操成绩
	 */
	@Excel(name = "实操成绩")
	@Schema(description = "实操成绩")
	private String actualPerformance;
	/**
	 * 装配台
	 */
	@Excel(name = "装配台")
	@Schema(description = "装配台")
	private String assemblyStand;
	/**
	 * 实操总成绩
	 */
	@Excel(name = "实操总成绩")
	@Schema(description = "实操总成绩")
	private String overallPracticalScore;
	/**
	 * 总成绩
	 */
	@Excel(name = "总成绩")
	@Schema(description = "总成绩")
	private String totalScore;
	/**
	 * 考评等次
	 */
	@Excel(name = "考评等次")
	@Schema(description = "考评等次")
	private String evaluationOrder;
	/**
	 * 是否参训（0是 1否）
	 */
	@Excel(name = "是否参训",readConverterExp = "0=是,1=否")
	@Schema(description = "是否参训（0是 1否）")
	private String isAttend;

	/**
	 * 是否结业（0是 1否）
	 */
	@Excel(name = "是否结业",readConverterExp = "0=是,1=否")
	@Schema(description = "是否结业（0是 1否）")
	private String isFinishSchool;
	/**
	 * 结业考核成绩
	 */
	@Excel(name = "结业考核成绩")
	@Schema(description = "结业考核成绩")
	private String completionResult;
	/**
	 * 结业考试试卷
	 */
	@Excel(name = "结业考试试卷")
	@Schema(description = "结业考试试卷")
	private String finalExaminationPaper;
	/**
	 * 年度
	 */
	@Excel(name = "年度")
	@Schema(description = "年度（示例：yyyy")
	private String year;

	/**
	 * 备注
	 */
	@Excel(name = "备注")
	@Schema(description = "备注")
	private String remark;

	/**
	 * 审核状态（0=待审核，1=审核通过，2=审核未通过）
	 */
	@Excel(name = "审核状态",readConverterExp = "0=待审核,1=审核通过,2=审核未通过")
	@Schema(description = "审核状态（0=待审核,1=审核通过,2=审核未通过）")
	private Integer status;
	/**
	 * 不通过原因
	 */
	@Excel(name = "不通过原因")
	@Schema(description = "不通过原因")
	private String reason;


}
