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.Services; using VOL.Core.Filters; using VOL.Core.ManageUser; using VOL.Core.Utilities; using VOL.Model; using VOL.Model.Norm.Response; namespace VOL.WebApi.Controllers.Business { /// /// 体测数据 /// [Route("api/[controller]")] [ApiController] [ApiExplorerSettings(GroupName = "v3")] [TypeFilter(typeof(CustomApiResponseFilter))] public class SportsTestResultController : ControllerBase { #region 初始化 private readonly IN_SportsTestResultService _sportsTestResultService; public SportsTestResultController( IN_SportsTestResultService sportsTestResultService) { _sportsTestResultService = sportsTestResultService; } #endregion /// /// 学生成绩分页 /// /// [HttpGet(nameof(GetSportsTestCategoryPageList))] public async Task> GetSportsTestCategoryPageList(StudentsTestDataListParam paramDto) { return await _sportsTestResultService.GetSportsTestCategoryPageList(paramDto); } /// /// 导入学生体测数据 /// /// /// /// [HttpPost(nameof(ImportStudentsTestData))] public async Task ImportStudentsTestData(IFormFile file) { await _sportsTestResultService.ImportStudentsTestData(file); return Ok("导入成功"); } /// /// 导出 /// /// /// [HttpGet(nameof(Export))] public async Task Export(StudentsTestDataListParam paramDto) { var rseList = await _sportsTestResultService.GetStudentsTestDataList(paramDto); var disList = new Dictionary>(); disList.Add("学生成绩", rseList); var exportColumns = Tool.GetPropertyNames(); var excelBytes = Tool.ExportToExcel(disList, exportColumns); Response.Headers.Add("Content-Disposition", "attachment; filename=ExportedData.xlsx"); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; return File(excelBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"学生成绩{DateTime.Now.ToString("yyyyMMddHHmmss")}"); } /// /// 新增 /// /// /// [HttpPost(nameof(Add))] public async Task Add([FromBody] List paramDto) { await _sportsTestResultService.AddStudentsTestData(paramDto); return Ok("新增成功"); } /// /// 更新 /// /// /// [HttpPost(nameof(Modify))] public async Task Modify([FromBody] List paramDto) { await _sportsTestResultService.ModifyStudentsTestData(paramDto); return Ok("更新成功"); } /// /// 删除 /// /// /// [HttpPost(nameof(Delete))] public async Task Delete(List ids) { await _sportsTestResultService.DeleteStudentsTestData(ids); return Ok("更新成功"); } } }