package com.testor.module.train.myManagement.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.testor.module.train.course.model.dto.TTrainCourseParam;
import com.testor.module.train.myManagement.model.domain.TTrainMyManagement;
import com.testor.module.train.myManagement.model.dto.TTrainMyManagementParam;
import com.testor.module.train.myManagement.model.dto.TrainMyManagementStatVo;
import com.testor.module.train.project.model.stat.TrainProjectUserDetailStat;
import com.testor.module.train.project.model.stat.TrainProjectUserStat;
import com.tongtech.tfw.backend.common.models.supers.SuperDao;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 我的培训教育及考试—安全培训教育Mapper接口
 *
 * @author testor-framework
 * @date 2022-07-28 15:25:02
 */
public interface TTrainMyManagementDao extends SuperDao<TTrainMyManagement> {
    IPage<TTrainMyManagementParam> staffTrainCase(Page<TTrainMyManagementParam> resultPage,@Param("param") TTrainMyManagementParam param,@Param("parentIds") String parentIds, @Param("orgId") String orgId);

    List<TTrainCourseParam> getCourseDetail(@Param("id")String id,@Param("taskId") String taskId,@Param("userId") String userId);


    List<TrainMyManagementStatVo> findStateCourseByUserId(   @Param("loginName") String loginName);

    TrainProjectUserStat findStateExamByUserId(@Param("loginName") String loginName);


    List<TrainProjectUserDetailStat> findTrainListState(@Param("userId") String userId, @Param("tabStatus") String tabStatus);

    @Select("select * from t_train_my_management where id=#{id} and parent_id!=null")
    TTrainMyManagement getDetail(@Param("id") String id);

}
