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

import lombok.Data;

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


@Data
public class V2MyCultivateLearnTaskSimpleInfoVo {

    /**
     * 我的任务id
     */
    private String id;

    /**
     * 任务id
     */
    private String taskId;

    /**
     * 任务分类主键id
     */
    private String taskClass;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 任务类型(0,长期,1限时)
     */
    private Integer taskType;

    /**
     * 任务限时开始时间
     */
    private Date timeLimitStartTime;

    /**
     * 任务限时结束时间
     */
    private Date timeLimitEndTime;

    /**
     * 学员限时完成(0,限时,1不限时)
     */
    private Integer studentTimeCompletion;

    /**
     * 学员限时完成单位(0,天,1,小时)
     */
    private Integer timeCompletionUnit;

    /**
     * 限时完成数值(365天,23小时)
     */
    private Integer timeCompletionDays;

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

    /**
     * 任务分配规则关联id(逗号分割)
     */
    private String associationIds;

    /**
     * 自定义员工入职(期限开始天数)
     */
    private Integer startEntryPeriod;

    /**
     * 自定义 【是新员工->就是新员工入职天数  岗龄->满N天】
     */
    private Integer endEntryPeriod;


    /**
     * 自定义分类类型: 0-新员工 1-岗领
     */
    private Integer customAssignType;

    /**
     * 自定义岗位IDS
     */
    private String customAssignPostIds;

    /**
     * 任务描述
     */
    private String description;

    /**
     * 任务封面Id
     */
    private String coverId;

    /**
     * 课程封面
     */
    private String coverUrl;


    /***************************************任务分配***********************************************/
    /**
     * 任务分配用户id集合
     */
    private List<String> userIds;

    /**************************************提醒规则************************************************/
    /**
     * 开启任务开始提醒(0否,1是)
     */
    private Integer taskStartReminder;

    /**
     * 开启定时提醒(0否,1是)
     */
    private Integer taskEndReminder;

    /**
     * 每天定时发送消息时间,HH:MM格式
     */
    private String perInterval;

    /**
     * 任务状态(0未发布,1未开始,2进行中,3已完成)
     */
    private Integer status;


    /**
     * 学习状态 0未开始，1进行中，2已完成，3已逾期
     */
    private Integer studyStats;

    private List<V2CultivateLearnTaskSimplePhaseVo> phase;
    /**
     * 当前学习阶段
     */
    private String currStudyPhase;
}
