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

import org.springframework.stereotype.Service;

import java.io.IOException;

/**
 * @Description: 基础分析数据获取及新增服务类
 * @Author: CaoZixuan
 * @Date: 2022-06-07
 */
@Service
public interface AnalyzeDataGetAndEditService {

    /**
     * 基础试卷信息新增或更新't_b_paper'
     *
     * @param examId     考试id
     * @param courseCode 课程编号
     * @param schoolId   学校id
     * @throws IOException 结果
     */
    boolean tbPaperDispose(Long examId, String courseCode, Long schoolId) throws IOException;

    /**
     * 基础试卷维度表全表删除后新增't_b_dimension'
     *
     * @param examId     考试id
     * @param courseCode 课程编号
     * @param schoolId   学校id
     */
    boolean tbPaperDimensionDispose(Long examId, String courseCode, Long schoolId) throws IOException;

    /**
     * 基础试卷结构根据试卷id删除后新增't_b_paper_struct'
     *
     * @param examId     考试id
     * @param courseCode 课程编号
     * @param schoolId   学校id
     */
    boolean tbPaperStructDispose(Long examId, String courseCode, Long schoolId) throws IOException;

    /**
     * 基础模块评价和二级维度熟练度定义 't_b_module_config'和 't_b_module_proficiency'
     *
     * @param examId     考试id
     * @param courseCode 课程编号
     * @param schoolId   学校id
     * @throws IOException 异常
     */
    boolean tbPaperModuleDispose(Long examId, String courseCode, Long schoolId) throws IOException;

    boolean tbExamStudentScoreDatasourceDispose(Long examId, String courseCode, Long schoolId) throws IOException;

    /**
     * 基础数据获取和新增总控
     *
     * @param examId     考试id
     * @param courseCode 课程编号
     * @param schoolId   学校id
     * @return 是否重算
     * @throws IOException 异常
     */
    boolean dataGetAndEdit(Long examId, String courseCode, Long schoolId) throws IOException;
}
