import { BaseDefine, MultipleQuery, MultipleResult } from './base'

/** 强制考核接口 */
export namespace ForceCheck {
  /** 分发考核卷 */
  type HandOutForceCheck = BaseDefine<{
    forceGroupNumber?: number
    mainNumber?: number
    markerIds: number[]
    subjectCode: string
  }>
  /** 获取考核卷组 */
  interface ForceCheckGroup {
    createTime: string
    creatorId: number
    examId: number
    forceGroupNumber: number
    id: number
    mainNumber: number
    subjectCode: string
    updateTime: string
    updaterId: number
  }
  type GetForceCheckGroupList = BaseDefine<{ mainNumber?: number; subjectCode: string }, ForceCheckGroup[]>
  /** 获取分发进度 */
  interface HandOutProgress {
    /** 已评量 */
    finishCount: number
    /** 强制卷组号 */
    forceGroupNumber: number
    /** 大题 */
    mainQuestion: string
    /** 评卷员 */
    marker: string
    /** 小组号 */
    markingGroupNumber: number
    /** 未评量 */
    pendingCount: number
    /** 科目 */
    subject: string
    /** 总量 */
    totalCount: number
  }
  type GetHandOutProgressList = BaseDefine<
    { mainNumber?: number; subjectCode: string; forceGroupNumber?: number },
    HandOutProgress[]
  >
  export interface ApiMap {
    /** 分发考核卷 */
    handOutForceCheck: HandOutForceCheck
    /** 获取考核卷组 */
    getForceCheckGroupList: GetForceCheckGroupList
    /** 获取分发进度 */
    getHandOutProgressList: GetHandOutProgressList
  }
}
