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");
}
}
}