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

import jnpf.model.cultivate.v2.identify.vo.V2IdentifyScoreConfigVo;
import jnpf.model.cultivate.v2.identify.vo.V2IdentifyTableScoreConfigVo;
import jnpf.model.cultivate.vo.identify.IdentifyApplyDetailsInfoVo;
import jnpf.model.cultivate.vo.offline.FtbCultivateOfflineFileVO;
import jnpf.permission.vo.v2.user.UserBoundVO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class V2IdentifyApplyItemVo {
    /**
     * 主键id
     */
    private String id;
    /**
     * 被鉴定人信息
     */
    private UserBoundVO beIdentifyUserInfo;

    /**
     * 鉴定人信息
     */
    private List<UserBoundVO> identifyUserInfo;

    /**
     * 鉴定表id
     */
    private String tableId;

    /**
     * 鉴定表id系统生成
     */
    private String ruleId;


    /**
     * 鉴定表名称
     */
    private String tableName;

    /**
     * 鉴定表规则说明
     */
    private String ruleDesc;


    /**
     * 鉴定状态(0待鉴定，1已鉴定，2逾期未鉴定)
     */
    private Integer status;

    /**
     * 鉴定结果(0合格，1优秀，2不合格)
     */
    private Integer result;

    /**
     * 鉴定时间
     */
    private Date identifyTime;

    /**
     * 用时(单位分钟)
     */
    private Integer userTime;

    /**
     * 鉴定项得分集合
     */
    private List<IdentifyApplyDetailsInfoVo> identifyItemList;
    /**
     * 鉴定总得分
     */
    private BigDecimal totalScore;

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


    /**
     * 鉴定评分类型：0-等第制，1-等级制
     */
    private Integer scoreType;

    /**
     * 合格分数类型（1固定分，2百分比）
     */
    private Integer passType;
    /**
     * 合格分数
     */
    private BigDecimal passScore;
    /**
     * 优秀分数类型（1固定分，2百分比）
     */
    private Integer excellentType;
    /**
     * 优秀分数
     */
    private BigDecimal excellentScore;

    /**
     * 任务封面Url
     */
    private String coverUrl;


    /**
     * 等级制配置
     */
    private List<V2IdentifyTableScoreConfigVo> scoreConfig;

    /**
     * 证书id
     */
    private String certificateId;

    /**
     * 鉴定来源(0-手动发起，1-课程学习鉴定，2-岗位学习鉴定，3-本人申请,4-任务鉴定)
     */
    private Integer source;


    private V2IdentifyScoreConfigVo showScoreConfig;

    /**
     * 得分
     */
    private BigDecimal userTotalScore;

}