import { PageResult, PageParams } from './common';

export interface RejectItem {
  id: number;
  /** 科目 */
  subjectName: string;
  subjectCode: string;
  /** 分组序号 */
  groupNumber: number;
  groupText: string;
  groupName: string;
  /** 准考证号 */
  examNumber: string;
  /** 密号 */
  secretNumber: string;
  /** 打回原因 */
  rejectReason: string;
  /** 评卷员 */
  markerName: string;
  /** 给分明细 */
  scoreList: string;
  /** 打回人 */
  headerName: string;
  /** 打回时间 */
  rejectTime: number;
}
export type RejectListPageRes = PageResult<RejectItem>;

export interface RejectListFilter {
  /** 科目 */
  subjectCode: string | null;
  /** 分组序号 */
  groupNumber: number;
  /** 打回原因 */
  rejectReason: string;
  /** 评卷员 */
  markerId: string | null;
  /** 打回人 */
  headerId: string | null;
}
export type RejectListPageParams = PageParams<RejectListFilter>;

// 打回统计
export interface RejectStatisticsItem {
  /** 科目 */
  subjectText: string;
  subjectCode: string;
  /** 分组序号 */
  groupNumber: number;
  groupText: string;
  groupName: string;
  /** 任务总数 */
  totalCount: number;
  /** 已完成数量 */
  finishCount: number;
  /** 打回数量 */
  rejectCount: number;
  /** 打回率 */
  rejectRatio: number;
}
export type RejectStatisticsListRes = PageResult<RejectStatisticsItem>;

export interface RejectStatisticsFilter {
  /** 科目 */
  subjectCode: string | null;
  /** 显示分组 */
  showGroupNumber: boolean;
}
export type RejectStatisticsListParams = PageParams<RejectStatisticsFilter>;

// 打回卷分类
export interface RejectTypeItem {
  // 编号
  id: number;
  /** 考试ID */
  examId: number;
  // 名称
  name: string;
  // 自定义
  custom: boolean;
}

export interface RejectTypeUpdateParam {
  id?: number;
  examId: number;
  // 名称
  name: string;
  // 自定义
  custom: boolean;
}
