using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Threading.Tasks; using VOL.Business.IServices; using VOL.Business.IServices.School; using VOL.Business.Services; using VOL.Business.Services.Norm; using VOL.Business.Services.School; using VOL.Core.Filters; using VOL.Core.ManageUser; using VOL.Core.Utilities; using VOL.Model; using VOL.Model.HomeWork; using VOL.Model.Norm.Request; using VOL.Model.Norm.Response; namespace VOL.WebApi.Controllers.Business { /// /// 作业列表 /// [Route("api/[controller]")] [ApiController] [ApiExplorerSettings(GroupName = "v3")] [TypeFilter(typeof(CustomApiResponseFilter))] public class HomeWorkController : ControllerBase { #region 初始化 private readonly IS_HomeWorkService _homeWorkService; public HomeWorkController( IS_HomeWorkService homeWorkService) { _homeWorkService = homeWorkService; } #endregion /// /// 作业列表 /// /// [HttpGet(nameof(GetHomeWorkPageList))] public async Task> GetHomeWorkPageList(HomeWorkPageListParam paramDto) { return await _homeWorkService.GetHomeWorkPageList(paramDto); } /// /// 批量导出作业学生明细。 /// [HttpGet(nameof(ExportHomeWorkStudents))] public async Task ExportHomeWorkStudents([FromQuery] HomeWorkExportParam paramDto) { var rows = await _homeWorkService.GetHomeWorkStudentExportList(paramDto); var sheets = new Dictionary> { { "作业学生明细", rows } }; var columns = new List { nameof(HomeWorkStudentExportModel.WorkTypeName), nameof(HomeWorkStudentExportModel.TeacherName), nameof(HomeWorkStudentExportModel.WorkName), nameof(HomeWorkStudentExportModel.GradeAndClassName), nameof(HomeWorkStudentExportModel.StudentScopeName), nameof(HomeWorkStudentExportModel.WorkText), nameof(HomeWorkStudentExportModel.StartTime), nameof(HomeWorkStudentExportModel.EndTime), nameof(HomeWorkStudentExportModel.StudentNo), nameof(HomeWorkStudentExportModel.StudentName), nameof(HomeWorkStudentExportModel.SexName), nameof(HomeWorkStudentExportModel.StudentWorkStatusName), nameof(HomeWorkStudentExportModel.Result) }; var excelBytes = Tool.ExportToExcel(sheets, columns, autoFitColumns: false); var fileName = $"作业学生明细{DateTime.Now:yyyyMMddHHmmss}.xlsx"; return File( excelBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName); } /// /// 作业下学生列表 /// /// [HttpGet(nameof(GetHomeWorkStudents))] public async Task> GetHomeWorkStudents(HomeWorkStudentsParam paramDto) { return await _homeWorkService.GetHomeWorkStudents(paramDto); } /// /// 作业详情 /// /// [HttpGet(nameof(GetSubmittedAssignments))] public async Task> GetSubmittedAssignments(int homeWorkId, string studentNo) { return await _homeWorkService.GetSubmittedAssignments(homeWorkId, studentNo); } } }