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

import com.qmth.teachcloud.common.bean.params.TBExamCourseDeleteParams;

import java.util.List;

/**
 * @Description: 分析课程物理删除服务类
 * @Author: CaoZixuan
 * @Date: 2022-07-05
 */
public interface TBExamCourseDeleteService {
    /**
     * 删除基础表数据
     *
     * @param schoolId   学校id
     * @param examId     考试id
     * @param courseCode 课程编号
     */
    void deleteBasicTableData(Long schoolId, Long examId, String courseCode);

    /**
     * 删除分析表数据
     *
     * @param schoolId   学校id
     * @param examId     考试id
     * @param courseCode 课程编号
     */
    void deleteAnalyzeTableData(Long schoolId, Long examId, String courseCode);

    /**
     * 重算集合性的分析数据（比如考试概况会因为删除一个科目影响从而需要重算）
     *
     * @param schoolId   学校id
     * @param examId     考试id
     * @param courseCode 课程编号
     */
    void repeatCalculateTotalTableData(Long schoolId, Long examId, String courseCode);

    /**
     * 分析课程删除总控
     * @param tbExamCourseDeleteParamsList 分析课程删除集合
     */
    void deleteTBExamCourse(List<TBExamCourseDeleteParams> tbExamCourseDeleteParamsList);
}
