package com.xhkjedu.smarking.mapper.papercheck;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.smarking.model.papercheck.MsPaperCheckTeacher;
import com.xhkjedu.smarking.model.papercheck.MsPaperCheckTeacherArbitrate;
import com.xhkjedu.smarking.vo.papercheck.MsCheckParam;
import com.xhkjedu.smarking.vo.papercheck.MsPaperCheckVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description 阅卷仲裁教师任务表 Mapper 接口
 * @Author auto
 * @Date 2024-11-19
 */
public interface MsPaperCheckTeacherArbitrateMapper extends TkMapper<MsPaperCheckTeacherArbitrate> {
    //教师阅卷-待/已仲裁列表
    List<Map> listArbitrate(@Param("param") MsCheckParam param);

    //教师阅卷-待/已仲裁详情
    List<Map> detailArbitrate(@Param("param") MsCheckParam param);

    //获取待仲裁任务
    Map getCorrectArbitrate(@Param("param") MsCheckParam param);

    //获取仲裁数量
    MsPaperCheckTeacher getACheckNum(@Param("param") MsCheckParam param);

    //教师阅卷-待仲裁-上一份
    Map getPreArbitrate(@Param("param") MsCheckParam param);

    //待仲裁题块列表
    List<Map> listBlockArbitrate(@Param("param") MsCheckParam param);

    //待仲裁试题列表
    List<Map> listQuestionArbitrate(@Param("param") MsCheckParam param);

    //学科组长-获取待仲裁任务
    Map getCorrectLeaderArbitrate(@Param("param") MsCheckParam param);

    //仲裁历史
    List<Map> listArbitrateHistory(@Param("param") MsCheckParam param);

    //仲裁历史详情
    Map detailHistory(@Param("param") MsCheckParam param);

    //初评分
    List<Map> getScore(@Param("param") MsCheckParam param);

    //保存或更新单个任务
    void save(@Param("m") MsPaperCheckTeacherArbitrate task);

    //更新仲裁结果
    void correct(@Param("param") MsPaperCheckVo param);

    //更新仲裁状态
    void updateArbitrateState(@Param("param") MsCheckParam param);
}
