ltx e1fac41f8c feat: 添加课堂跳绳报告查询与导出接口
按课堂记录和学校权限范围查询 Ai_FastJumpRopeData,提供分页报告与 Excel 导出。

导出完整课堂数据并关闭 Excel 自动列宽,避免 GDI 依赖。
2026-10-10 09:44:15 +08:00

196 lines
6.1 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using VOL.Entity.DomainModels;
using VOL.Model;
using VOL.Model.Ai;
using VOL.Model.IOT.Response;
using VOL.Model.Training.Response;
namespace VOL.Business.IServices.Training
{
public interface II_TrainingDataService
{
#region 项目类型
/// <summary>
/// 获取年级对应测试项目
/// </summary>
/// <param name="gradeId"></param>
/// <returns></returns>
Task<List<CategoryColumnNameModel>> GetCategoryColumnNameList(int gradeId);
/// <summary>
/// 获取模式及训练类型
/// </summary>
/// <returns></returns>
Task<DataTypeAndCategory> ItemTypeList();
/// <summary>
/// 获取体测项目类型
/// </summary>
/// <returns></returns>
Task<DataTypeAndCategory> CategoryList();
#endregion
#region 训练数据
/// <summary>
/// 训练数据课堂模式列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<ClassRoomModeDataModel>> GetTrainingClassRoomModeDataList(ClassRoomModeDataParam paramDto);
/// <summary>
/// 训练数据课堂模式导出
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<List<ClassRoomModeDataModel>> GetTrainingClassRoomModeDataExport(ClassRoomModeExportParam paramDto);
/// <summary>
/// 课堂模式数据详情
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<ClassRoomModeDataDetails>> GetClassRoomModeDataDetails(ClassRoomModeDataDetailsParam paramDto);
/// <summary>
/// 课堂模式数据详情导出
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<List<ClassRoomModeDataDetails>> ClassRoomModeDataDetailsExport(ClassRoomModeDataExportParam paramDto);
#endregion
#region 自由模式
/// <summary>
/// 自由模式
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<FreeModeDataModel>> FreeModeDataList(FreeModeDataParam paramDto);
/// <summary>
/// 自由模式导出
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<List<FreeModeDataModel>> FreeModeDataExport(FreeModeDataExportParam paramDto);
#endregion
#region 体测数据
/// <summary>
/// 体测数据课堂模式列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<ClassRoomModeDataModel>> GetTestClassRoomModeDataList(ClassRoomModeDataParam paramDto);
/// <summary>
/// 体测数据列表导出
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<List<ClassRoomModeDataModel>> SportsTestDataExport(ClassRoomModeExportParam paramDto);
/// <summary>
/// 体测数据详情
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<SportsTestDetailsModel>> GetSportsTestDetails(SportsTestDetailsParam paramDto);
/// <summary>
/// 体测数据详情导出
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<List<SportsTestDetailsModel>> GetSportsTestDetailsExport(SportsTestExportParam paramDto);
/// <summary>
/// 总体数据列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<dynamic>> GetOverallDataPageList(GetOverallDataPageListParam paramDto);
/// <summary>
/// 总体数据导出
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<List<Dictionary<string, string>>> GetOverallDataExport(GetOverallDataExportParam paramDto);
#endregion
#region 视力记录
/// <summary>
/// 导入视力记录
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
Task ImportVisionData(IFormFile file);
/// <summary>
/// 视力记录列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<VisionDataModel>> GetVisionDataList(VisionDataListParam paramDto);
#endregion
#region 课堂记录
/// <summary>
/// 课堂记录列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
Task<PageDataDto<ClassReportModel>> GetClassReportList(ClassReportListParam paramDto);
/// <summary>
/// 课堂报告详情
/// </summary>
/// <returns></returns>
Task<GetClassReportDetailsModel> GetClassReportDetails(int id);
Task<PageDataDto<FastJumpRopeReportModel>> GetFastJumpRopeReport(int classRoomRecordId, int pageIndex, int pageSize);
Task<List<FastJumpRopeReportModel>> GetFastJumpRopeReportExport(int classRoomRecordId);
/// <summary>
/// 学生课堂报告详情
/// </summary>
/// <returns></returns>
Task<GetStudentClassReportDetailsModel> GetStudentClassReportDetails(GetStudentClassReportDetailsDto paramDto);
#endregion
#region 用户训练数据
/// <summary>
/// 获取用户训练数据列表
/// </summary>
/// <param name="paramDto">查询参数</param>
/// <returns>用户训练数据列表</returns>
Task<PageDataDto<UserTrainingDataModel>> GetUserTrainingDataList(UserTrainingDataQueryParam paramDto);
#endregion
}
}