using YBEE.EQM.Core;
namespace YBEE.EQM.Application;
///
/// 监测教师任教科目管理服务
///
[ApiDescriptionSettings(Name = "exam-teacher-course")]
[Route("exam/teacher/course")]
public class ExamTeacherCourseAppService : IDynamicApiController
{
private readonly IExamTeacherCourseService _examTeacherCourseService;
public ExamTeacherCourseAppService(IExamTeacherCourseService examTeacherCourseService)
{
_examTeacherCourseService = examTeacherCourseService;
}
#region 批量导入
///
/// 上传批量导入文件
///
///
///
[RequestSizeLimit(long.MaxValue)]
[RequestFormLimits(MultipartBodyLengthLimit = long.MaxValue)]
public async Task> Upload([FromForm] UploadExamDataInput input)
{
string fileExt = Path.GetExtension(input.File.FileName).ToLower();
if (fileExt != ".xls" && fileExt != ".xlsx")
{
throw Oops.Oh(ErrorCode.E1010);
}
string filePath = Path.Combine(FileUtil.GetTempFileRoot(), $"{Guid.NewGuid()}{fileExt}");
using FileStream fs = File.Create(filePath);
await input.File.CopyToAsync(fs);
await fs.FlushAsync();
fs.Close();
var ret = await _examTeacherCourseService.Upload(filePath, input.ExamPlanId);
return ret;
}
///
/// 批量导入监测教师
///
///
///
public async Task Import(ImportExamTeacherCourseInput input)
{
await _examTeacherCourseService.Import(input);
}
#endregion
#region 批量导出
///
/// 导出TQES导入文件格式文件包
///
///
///
///
[AllowAnonymous]
public async Task ExportTqesFile([Required]int examPlanId)
{
var (fileName, fileBytes) = await _examTeacherCourseService.ExportTqesFile(examPlanId);
return new FileContentResult(fileBytes, "application/octet-stream")
{
FileDownloadName = fileName,
};
}
#endregion
#region 创建编辑
///
/// 添加监测教师
///
///
///
public async Task Add(AddExamTeacherCourseInput input)
{
await _examTeacherCourseService.Add(input);
}
///
/// 更新监测教师
///
///
///
public async Task Update(UpdateExamTeacherCourseInput input)
{
await _examTeacherCourseService.Update(input);
}
///
/// 删除监测教师
///
///
///
public async Task Del(BaseId input)
{
await _examTeacherCourseService.Del(input);
}
///
/// 清空监测教师
///
///
///
public async Task Clear(ClearExamTeacherCourseInput input)
{
await _examTeacherCourseService.Clear(input);
}
#endregion
#region 查询统计
///
/// 分页查询监测教师列表
///
///
///
public async Task> QueryPageList(ExamTeacherCoursePageInput input)
{
return await _examTeacherCourseService.QueryPageList(input);
}
#endregion
}