package jnpf.model.cultivate.po.learn;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jnpf.base.entity.SuperBaseEntity;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.Date;

/**
 * 学习任务表
 *
 * @author admin
 * @create 2024-09-09
 */

@Getter
@Setter
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "ftb_cultivate_learn_task")
public class FtbCultivateLearnTask extends SuperBaseEntity.SuperCUDBaseEntity<String> {


    /**
     * 任务分类主键id
     */
    @TableField(value = "F_TaskClass")
    private String taskClass;

    /**
     * 任务名称
     */
    @TableField(value = "F_TaskName")
    private String taskName;

    /**
     * 学习任务展示id
     */
    @TableField(value = "F_LearnTaskShowId")
    private String learnTaskShowId;

    /**
     * 任务类型(0,长期,1限时)
     */
    @TableField(value = "F_TaskType")
    private Integer taskType;

    /**
     * 任务限时开始时间
     */
    @TableField(value = "F_TimeLimitStartTime")
    private Date timeLimitStartTime;

    /**
     * 任务限时结束时间
     */
    @TableField(value = "F_TimeLimitEndTime")
    private Date timeLimitEndTime;

    /**
     * 学员限时完成(0,限时,1不限时)
     */
    @TableField(value = "F_StudentTimeCompletion")
    private Integer studentTimeCompletion;

    /**
     * 学员限时完成单位(0,天,1,小时)
     */
    @TableField(value = "F_TimeCompletionUnit")
    private Integer timeCompletionUnit;

    /**
     * 限时完成数值(365天,23小时)
     */
    @TableField(value = "F_TimeCompletionDays")
    private Integer timeCompletionDays;

    /**
     * 任务状态 (0 未发布，1 未开始，2 进行中，3 已结束 4 已经终止)
     *
     * @see jnpf.enums.cultivate.v2.LearnTaskStatusEnum
     */
    @TableField(value = "F_Status")
    private Integer status;

    /**
     * 任务分配规则(1,指定成员,2指定组织,3指定岗位,4自定义)
     */
    @TableField(value = "F_AssignmentRule")
    private Integer assignmentRule;

    /**
     * 任务分配规则关联id(逗号分割)
     */
    @TableField(value = "F_AssociationIds")
    private String associationIds;

    /**
     * 自定义员工入职(期限开始天数)
     */
    @TableField(value = "F_StartEntryPeriod")
    private Integer startEntryPeriod;

    /**
     * 自定义员工入职(期限结束天数)
     */
    @TableField(value = "F_EndEntryPeriod")
    private Integer endEntryPeriod;

    /**
     * 是否有效(1无效,0有效)
     */
    @TableField(value = "F_EnableMark")
    private Integer enableMark;

    /**
     * 是否合格才完成任务，1-是  0-否
     */
    @TableField(value = "F_IsPassComplete")
    private Integer isPassComplete;

    /**
     * 任务描述
     */
    @TableField(value = "F_Description")
    private String description;

    /**
     * 任务封面Id
     */
    @TableField(value = "F_CoverId")
    private String coverId;

    /**
     * 任务封面Url
     */
    @TableField(value = "F_CoverUrl")
    private String coverUrl;

    /**
     * 自定义分类类型: 0-新员工 1-岗领
     */
    @TableField(value = "F_CustomAssignType")
    private Integer customAssignType;

    /**
     * 自定义岗位IDS
     */
    @TableField(value = "F_CustomAssignPostIds")
    private String customAssignPostIds;

}
