package jnpf.model.cultivate.vo.apply;

import io.swagger.v3.oas.annotations.media.Schema;
import jnpf.model.cultivate.po.apply.FtbCultivatePromotionPostApply;
import jnpf.model.cultivate.resp.UserExamDetailVo;
import jnpf.model.cultivate.vo.course.web.PromotionChannelLearnCourseVO;
import jnpf.model.cultivate.vo.identify.IdentifyApplyInfoApiVo;
import jnpf.model.cultivate.vo.offline.FtbCultivateOfflineFileVO;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Title:FtbCultivatePromotionPostApplyWithPerVO
 * @Author:peng.hao
 * @create: 2023/12/2517:20
 */
@Data
public class FtbCultivatePromotionPostApplyWithPerVO {

    /**
     * 用户id
     */
    @Schema(title = "用户id")
    private String userId;
    /**
     * 用户名称
     */
    @Schema(title = "用户名称")
    private String userName;


    /**
     * 当前岗位id
     */
    private String postId;

    /**
     * 当前岗位名称
     */
    private String postName;



    /**
     * 当前岗位职等id
     */
    @Schema(title = "当前岗位职等id")
    private String postRankId;

    /**
     * 当前岗位职等id
     */
    @Schema(title = "当前岗位职等名称")
    private String postRankName;


    /**
     * 晋升岗位id
     */
    @Schema(title = "晋升岗位id")
    private String postPromotionId;


    /**
     * 晋升岗位名称
     */
    @Schema(title = "晋升岗位名称")
    private String postPromotionName;

    /**
     * 晋升岗位职等id
     */
    private String postRankPromotionId;
    /**
     * 晋升岗位职等名称
     */
    private String postRankPromotionName;


    /**
     * 晋升原因
     */
    @Schema(title = "晋升原因")
    private String promotionReason;

    /**
     * 审核状态，0代审核,1审核通过,2审核不通过
     */
    @Schema(title = "审核状态，0代审核,1审核通过,2审核不通过")
    private Integer state;

    /**
     * 审核评语
     */
    @Schema(title = "审核评语")
    private String reviewComment;


    /**
     * 审批人id
     */
    @Schema(title = "审批人id")
    private String reviewUserId;

    /**
     * 审批人Name
     */
    @Schema(title = "审批人Name")
    private String reviewUserName;

    /**
     * 晋升组织名称id
     */
    private String orgId;

    /**
     * 晋升组织名称
     */
    private String orgName;

    /**
     * 提交时间
     */
    private Date creatorTime;

    /**
     * 审核时间
     */
    private Date lastModifyTime;

    /**
     * 附件信息上限3个
     */
    List<FtbCultivateOfflineFileVO> files;

    /**
     * 考试成绩列表
     */
    private List<UserExamDetailVo> aListOfTestScores;
    /**
     * 实操鉴定列表
     */
    private List<IdentifyApplyInfoApiVo> listOfPracticalQualifications;
    /**
     * 已学习课程列表
     */
    private List<PromotionChannelLearnCourseVO> haveStudyCourseLists;



    public static FtbCultivatePromotionPostApplyWithPerVO coverFtbCultivatePromotionPostApplyWithPerVO(FtbCultivatePromotionPostApply vo) {
        if (vo == null) {
            return null;
        }
        FtbCultivatePromotionPostApplyWithPerVO ftbCultivatePromotionPostApplyWithPerVO = new FtbCultivatePromotionPostApplyWithPerVO();
        ftbCultivatePromotionPostApplyWithPerVO.setPostId(vo.getPostId());
        ftbCultivatePromotionPostApplyWithPerVO.setPostName(vo.getPostName());
        ftbCultivatePromotionPostApplyWithPerVO.setUserId(vo.getUserId());
        ftbCultivatePromotionPostApplyWithPerVO.setUserName(vo.getUserName());
        ftbCultivatePromotionPostApplyWithPerVO.setPromotionReason(vo.getPromotionReason());
        ftbCultivatePromotionPostApplyWithPerVO.setState(vo.getState());
        ftbCultivatePromotionPostApplyWithPerVO.setReviewComment(vo.getReviewComment());
        ftbCultivatePromotionPostApplyWithPerVO.setReviewUserId(vo.getReviewUserId());
        ftbCultivatePromotionPostApplyWithPerVO.setReviewUserName(vo.getReviewUserName());
        ftbCultivatePromotionPostApplyWithPerVO.setPostRankId(vo.getPostRankId());
        ftbCultivatePromotionPostApplyWithPerVO.setPostRankName(vo.getPostRankName());
        ftbCultivatePromotionPostApplyWithPerVO.setPostPromotionId(vo.getPostPromotionId());
        ftbCultivatePromotionPostApplyWithPerVO.setPostPromotionName(vo.getPostPromotionName());
        ftbCultivatePromotionPostApplyWithPerVO.setPostRankPromotionId(vo.getPostRankPromotionId());
        ftbCultivatePromotionPostApplyWithPerVO.setPostRankPromotionName(vo.getPostRankPromotionName());
        ftbCultivatePromotionPostApplyWithPerVO.setOrgId(vo.getOrgId());
        ftbCultivatePromotionPostApplyWithPerVO.setOrgName(vo.getOrgName());
        ftbCultivatePromotionPostApplyWithPerVO.setLastModifyTime(vo.getLastModifyTime());
        ftbCultivatePromotionPostApplyWithPerVO.setCreatorTime(vo.getCreatorTime());
        return ftbCultivatePromotionPostApplyWithPerVO;
    }
}
