/**
 * 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.dto;

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.apache.poi.ss.usermodel.IndexedColors;
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 = "姓名", headerColor = IndexedColors.RED, sort = 2)
    @Schema(description = "姓名")
    private String userName;
    /**
     * 学员类型
     */
    @Excel(name = "学员类型", headerColor = IndexedColors.RED, sort = 3)
    @Schema(description = "学员类型")
    private String traineeType;

    @Excel(name = "专业类型")
    @Schema(description = "专业类型")
    private String majorTypeName;
    /**
     * 性别（0男 1女 2未知）
     */
    @Excel(name = "性别", headerColor = IndexedColors.RED, sort = 4, 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 = "身份证号", headerColor = IndexedColors.RED, sort = 5)
    @Schema(description = "身份证号")
    private String idCard;

    /**
     * 班次名称
     */
    @Excel(name = "班次名称", headerColor = IndexedColors.RED, sort = 1)
    @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 = "开训时间", headerColor = IndexedColors.RED, 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 = "送训单位名称", headerColor = IndexedColors.RED)
    @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 = "年度", headerColor = IndexedColors.RED)
    @Schema(description = "年度（示例：yyyy")
    private String year;
    /**
     * 入学摸底考试成绩
     */
    @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 = "备注")
    private String remark;


}
