// @ts-ignore
/* eslint-disable */

// 该文件自动生成，请勿手动修改！

// --------------------------------------------------------------------------
// 监测学生管理服务
// --------------------------------------------------------------------------

import { request } from '@umijs/max';

/** 上传批量导入文件 POST /api/exam/student/upload */
export async function upload(data: FormData, options?: { [key: string]: any }) {
    const url = '/api/exam/student/upload';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<API.UploadExamDataOutput_UploadExamStudentOutput>>(
        url,
        config,
    );
    return res?.data;
}

/** 批量导入监测学生 POST /api/exam/student/import */
export async function importAction(
    data: API.ImportExamStudentInput,
    options?: { [key: string]: any },
) {
    const url = '/api/exam/student/import';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 添加监测学生 POST /api/exam/student/add */
export async function add(data: API.AddExamStudentInput, options?: { [key: string]: any }) {
    const url = '/api/exam/student/add';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 更新监测学生 POST /api/exam/student/update */
export async function update(data: API.UpdateExamStudentInput, options?: { [key: string]: any }) {
    const url = '/api/exam/student/update';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 删除监测学生 POST /api/exam/student/del */
export async function del(data: API.BaseId_Int64, options?: { [key: string]: any }) {
    const url = '/api/exam/student/del';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 清空监测学生 POST /api/exam/student/clear */
export async function clear(data: API.ClearExamStudentInput, options?: { [key: string]: any }) {
    const url = '/api/exam/student/clear';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<any>>(url, config);
    return res?.data;
}

/** 分页查询监测学生列表 POST /api/exam/student/query-page-list */
export async function queryPageList(
    data: API.ExamStudentPageInput,
    options?: { [key: string]: any },
) {
    const url = '/api/exam/student/query-page-list';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<API.PageResponse<API.ExamStudentOutput>>>(
        url,
        config,
    );
    return res?.data;
}

/** 获取机构班级上报人数统计列表 GET /api/exam/student/get-org-grade-class-student-count */
export async function getOrgGradeClassStudentCount(
    params: {
        /**  */
        examplanid: number;
    },
    options?: { [key: string]: any },
) {
    const url = '/api/exam/student/get-org-grade-class-student-count';
    const config = { method: 'GET', params, ...(options || {}) };
    const res = await request<API.ResponseType<API.ExamStudentGradeClassStudentCountOutput>>(
        url,
        config,
    );
    return res?.data;
}

/** 分页查询班级学生人数 POST /api/exam/student/query-student-count-page-list */
export async function queryStudentCountPageList(
    data: API.ExamStudentCountPageInput,
    options?: { [key: string]: any },
) {
    const url = '/api/exam/student/query-student-count-page-list';
    const config = { method: 'POST', data, ...(options || {}) };
    const res = await request<API.ResponseType<API.PageResponse<API.ExamStudentCountItem>>>(
        url,
        config,
    );
    return res?.data;
}

export default {
    /** 上传批量导入文件 POST /api/exam/student/upload */
    upload,
    /** 批量导入监测学生 POST /api/exam/student/import */
    importAction,
    /** 添加监测学生 POST /api/exam/student/add */
    add,
    /** 更新监测学生 POST /api/exam/student/update */
    update,
    /** 删除监测学生 POST /api/exam/student/del */
    del,
    /** 清空监测学生 POST /api/exam/student/clear */
    clear,
    /** 分页查询监测学生列表 POST /api/exam/student/query-page-list */
    queryPageList,
    /** 获取机构班级上报人数统计列表 GET /api/exam/student/get-org-grade-class-student-count */
    getOrgGradeClassStudentCount,
    /** 分页查询班级学生人数 POST /api/exam/student/query-student-count-page-list */
    queryStudentCountPageList,
};
