package jnpf.model.cultivate.vo.offline;

import jnpf.model.cultivate.po.offline.FtbCultivateOfflineTrain;
import lombok.Data;

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

/**
    * 线下培训表回显
    */
@Data
public class FtbCultivateOfflineTrainDetailsVO {
    /**
     * 培训主键
     */
    private String id;

    /**
     * 培训名称
     */
    private String name;

    /**
     * 培训地点
     */
    private String offlinePlace;

    /**
     * 申请人ID
     */
    private String userId;
    /**
     * 申请人姓名
     */
    private String userName;
    /**
     * 负责人ID
     */
    private String headUserId;
    /**
     * 负责人姓名
     */
    private String headUserName;
    /**
     * 附件信息
     */
    private List<FtbCultivateOfflineFileVO> files;

    /**
     * 培训开始时间
     */
    private Date trainStartTime;

    /**
     * 培训结束时间
     */
    private Date trainEndTime;

    /**
     * 培训内容
     */
    private String trainContent;

    /**
     * 培训状态，0未开始，1已结束，2进行中,3已撤回
     */
    private Integer state;

    /**
     * 负责人反馈培训结果
     */
    private String headContent;

    /**
     * 反馈负责人ID
     */
    private String feedHeadUserId;

    /**
     * 反馈负责人姓名
     */
    private String feedHeadUserName;

    /**
     * 培训反馈时间
     */
    private Date feedBackTime;

    /**
     * 参与培训人员主键id集合
     */
    private List<String> participantsInTheTraining;
    /**
     * 参与培训人员姓名集合
     */
    private List<String> participantsInTheTrainingName;
    /**
     * 课程信息集合
     */
    private List<OfflineCourseVO> courseInfo;

    /**
     * 签到方式，0一键签到，1拍照签到
     */
    private Integer signWay;

    /**
     * 返回的文件列表
     */
    private List<FtbCultivateOfflineFileVO> feedBackFiles;

    public static FtbCultivateOfflineTrainDetailsVO convertFtbCultivateOfflineTrainDetailsVO(FtbCultivateOfflineTrain ftbCultivateOfflineTrain) {
        if (ftbCultivateOfflineTrain == null) {
            return null;
        }
        FtbCultivateOfflineTrainDetailsVO ftbCultivateOfflineTrainDetailsVO = new FtbCultivateOfflineTrainDetailsVO();
        ftbCultivateOfflineTrainDetailsVO.setId(ftbCultivateOfflineTrain.getId());
        ftbCultivateOfflineTrainDetailsVO.setName(ftbCultivateOfflineTrain.getName());
        ftbCultivateOfflineTrainDetailsVO.setOfflinePlace(ftbCultivateOfflineTrain.getOfflinePlace());
        ftbCultivateOfflineTrainDetailsVO.setUserId(ftbCultivateOfflineTrain.getUserId());
        ftbCultivateOfflineTrainDetailsVO.setHeadUserId(ftbCultivateOfflineTrain.getHeadUserId());
        ftbCultivateOfflineTrainDetailsVO.setTrainStartTime(ftbCultivateOfflineTrain.getTrainStartTime());
        ftbCultivateOfflineTrainDetailsVO.setTrainEndTime(ftbCultivateOfflineTrain.getTrainEndTime());
        ftbCultivateOfflineTrainDetailsVO.setTrainContent(ftbCultivateOfflineTrain.getTrainContent());
        ftbCultivateOfflineTrainDetailsVO.setFeedBackTime(ftbCultivateOfflineTrain.getFeedBackTime());
        ftbCultivateOfflineTrainDetailsVO.setHeadContent(ftbCultivateOfflineTrain.getHeadContent());
        ftbCultivateOfflineTrainDetailsVO.setFeedHeadUserId(ftbCultivateOfflineTrain.getFeedHeadUserId());
        ftbCultivateOfflineTrainDetailsVO.setSignWay(ftbCultivateOfflineTrain.getSignWay());
        ftbCultivateOfflineTrainDetailsVO.setState(ftbCultivateOfflineTrain.getState());
        return ftbCultivateOfflineTrainDetailsVO;
    }

}