package jnpf.entity.cultivate;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import jnpf.base.entity.SuperBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 岗位学习每个课程记录表
 *
 * @author JNPF
 * @since 2026-03-12
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@TableName("ftb_cultivate_position_course_log")
public class CultivatePositionCourseLogEntity extends SuperBaseEntity.SuperCUBaseEntity<String> implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "岗位学习主键 id")
    @TableField("F_PostLearnId")
    private String postLearnId;

    @Schema(description = "岗位主键 ID")
    @TableField("F_PostId")
    private String postId;

    @Schema(description = "职级")
    @TableField("F_GradeId")
    private String gradeId;

    @Schema(description = "课程 id")
    @TableField("F_CourseId")
    private String courseId;

    @Schema(description = "用户 id")
    @TableField("F_UserId")
    private String userId;

    @Schema(description = "状态：1-未完成 2-已完成")
    @TableField("F_State")
    private Integer state;

    @Schema(description = "考试id")
    @TableField("F_ExamId")
    private String examId;

    @Schema(description = "用户的考试id")
    @TableField("F_UserExamId")
    private String userExamId;

    @Schema(description = "用户的考试状态 0待考试，1待批阅，2已逾期，3合格，4不合格 5、优秀")
    @TableField("F_UserExamStatus")
    private Integer userExamStatus;

    @Schema(description = "鉴定id")
    @TableField("F_IdentifyId")
    private String identifyId;

    @Schema(description = "用户的鉴定id")
    @TableField("F_UserIdentifyId")
    private String userIdentifyId;

    @Schema(description = "用户的鉴定状态 -1-待鉴定 0-合格，1-优秀，2-不合格")
    @TableField("F_UserUserIdentifyStatus")
    private Integer userIdentifyStatus;

    @Schema(description = "是否有考试 0-默认 1-没有 2-有")
    @TableField("F_HasExam")
    private Integer hasExam;

    @Schema(description = "是否有鉴定 0-默认 1-没有 2-有")
    @TableField("F_HasIdentity")
    private Integer hasIdentity;

    /**
     * 有效标志[0-有效 1-删除]
     */
    @TableField("F_EnabledMark")
    private Integer enabledMark;

}
