package jnpf.model.cultivate.v2.position.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import jnpf.model.cultivate.v2.course.vo.app.AppCourseSimpleVo;
import jnpf.model.cultivate.v2.course.vo.app.PositionLearningCourseVo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class AppCultivatePositionDetailVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;

    /**
     * 岗位ID
     */
    private String postId;

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

    /**
     * 岗位编码
     */
    private String postEncode;

    /**
     * 职级id
     */
    private String gradeId;
    /**
     * 职级名称
     */
    private String gradeName;

    /**
     * 是否配置到职级：[0-否，1-是]
     */
    private Integer isConfiguredToGrade;

    /**
     * 岗位考试合格后才能进行鉴定,0否1是
     */
    private Integer qualified;

    /**
     * 排序
     */
    private Long sortCode;

    /**
     * 备注
     */
    private String description;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date creatorTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastModifyTime;

    /**
     * 岗位学习资源状态,1-未完成 2-已完成
     */
    private Integer positionState;

    /**
     * 岗位学习课程列表
     */
    private List<AppCultivatePositionCourseVo> ftbCultivatePositionCourseList;

    /**
     * 岗位学习课程关联考试表
     */
    private List<AppCultivatePositionCourseExamVo> exam;
    /**
     * 岗位学习课程关联鉴定表
     */
    private List<AppCultivatePositionCourseIdentityVo> identity;

    /**
     * 岗位学习课程关联练习表
     */
    private List<AppCultivatePositionCoursePracticeVo> practiceList;

    /**
     * 岗位学习课程关联证书表
     */
    private List<AppCultivatePositionCourseCertificateVo> certificate;


    public void fillCourseList(PositionLearningCourseVo vo) {
        for (AppCourseSimpleVo courseList : vo.getCourseLists()) {
            courseList.setPostId(this.id);
        }

    }
}
