using Microsoft.AspNetCore.Mvc; using System; using System.Threading.Tasks; using VOL.Business.IServices.ShangWaiMao; using VOL.Core.Filters; using VOL.Model; using VOL.Model.ShangWaiMao.Request; using VOL.Model.ShangWaiMao.Response; namespace VOL.WebApi.Controllers.Business { /// /// 上外贸 /// [Route("api/[controller]")] [ApiController] [ApiExplorerSettings(GroupName = "v3")] [TypeFilter(typeof(CustomApiResponseFilter))] public class ShangWaiMaoController : ControllerBase { private readonly IShangWaiMaoService _shangWaiMaoService; public ShangWaiMaoController(IShangWaiMaoService shangWaiMaoService) { _shangWaiMaoService = shangWaiMaoService; } /// /// 获取体测成绩列表页搜索条件 /// /// [HttpGet(nameof(GetTempTccjFilterOptions))] public async Task GetTempTccjFilterOptions() { return await _shangWaiMaoService.GetTempTccjFilterOptionsAsync(); } /// /// 获取体测成绩分页列表 /// /// /// [HttpGet(nameof(GetTempTccjPageList))] public async Task> GetTempTccjPageList([FromQuery] ShangWaiMaoTempTccjPageParam paramDto) { return await _shangWaiMaoService.GetTempTccjPageListAsync(paramDto); } /// /// 获取体测成绩详情 /// /// /// [HttpGet(nameof(GetTempTccjDetail))] public async Task GetTempTccjDetail([FromQuery] ShangWaiMaoTempTccjDetailParam paramDto) { return await _shangWaiMaoService.GetTempTccjDetailAsync(paramDto); } /// /// 导出学生课程心率与运动数据 /// /// /// [HttpGet(nameof(ExportHeartRateData))] public async Task ExportHeartRateData(ShangWaiMaoHeartRateExportParam paramDto) { var excelBytes = await _shangWaiMaoService.ExportHeartRateDataAsync(paramDto); 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:yyyyMMddHHmmss}.xlsx"); } } }