package com.qmth.teachcloud.report.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.teachcloud.report.business.bean.result.*;
import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeTeacher;
import com.qmth.teachcloud.report.business.enums.OrderEnum;

import java.util.List;

/**
 * <p>
 * 参考课程学院下授课教师维度分析表 服务类
 * </p>
 *
 * @author wangliang
 * @since 2021-06-01
 */
public interface TAExamCourseCollegeTeacherService extends IService<TAExamCourseCollegeTeacher> {

    IPage<TeacherClassRankResult> listClassRank(Long semesterId, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize, String column, OrderEnum order);

    IPage<TeacherMyClassRankResult> listMyClassRank(Long semesterId, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize, String column, OrderEnum order);

    IPage<TeacherClassRankResult> listAllTeacherClassRank(Long semesterId, Long examId, Long inspectCollegeId, String courseCode, Long teacherId, Integer pageNumber, Integer pageSize, String column, OrderEnum order);

    /**
     * 查询老师得分
     *
     * @param examId
     * @param courseCode
     * @param collegeId
     * @return
     */
    List<TAExamCourseTeacherResult> findTeacherInfo(Long examId, String courseCode, Long collegeId);

    IPage<TeacherClassRankResult> listTeacherClassRank(Long semesterId, Long examId, String courseCode, Integer pageNumber, Integer pageSize, String column, OrderEnum order);

    /**
     * 我的课堂考试分析-图表接口
     *
     * @param schoolId
     * @param semesterId
     * @param examId
     * @param courseCode
     * @param inspectCollegeId
     * @return
     */
    SurveyTeacherViewResult teacherView(Long schoolId, Long semesterId, Long examId, String courseCode, Long inspectCollegeId);

    /**
     * 我的课堂考试分析-试题难度得分情况分析接口
     *
     * @param schoolId
     * @param semesterId
     * @param examId
     * @param courseCode
     * @param collegeId
     * @param teacherId
     * @return
     */
    DimensionAnalyzeResult teacherQuestionView(Long schoolId, Long semesterId, Long examId, String courseCode, Long collegeId,Long teacherId);

    /**
     * 我的课堂考试分析-各难度水平题目上的作答分析接口
     *
     * @param schoolId
     * @param semesterId
     * @param examId
     * @param courseCode
     * @param collegeId
     * @return
     */
    QuestionInfoResult teacherQuestionAnswerView(Long schoolId, Long semesterId, Long examId, String courseCode, Long collegeId,Long teacher);
}
