2026-06-01 10:39:14 +08:00

76 lines
2.8 KiB
C#

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
{
/// <summary>
/// 上外贸
/// </summary>
[Route("api/[controller]")]
[ApiController]
[ApiExplorerSettings(GroupName = "v3")]
[TypeFilter(typeof(CustomApiResponseFilter))]
public class ShangWaiMaoController : ControllerBase
{
private readonly IShangWaiMaoService _shangWaiMaoService;
public ShangWaiMaoController(IShangWaiMaoService shangWaiMaoService)
{
_shangWaiMaoService = shangWaiMaoService;
}
/// <summary>
/// 获取体测成绩列表页搜索条件
/// </summary>
/// <returns></returns>
[HttpGet(nameof(GetTempTccjFilterOptions))]
public async Task<ShangWaiMaoTempTccjFilterOptions> GetTempTccjFilterOptions()
{
return await _shangWaiMaoService.GetTempTccjFilterOptionsAsync();
}
/// <summary>
/// 获取体测成绩分页列表
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpGet(nameof(GetTempTccjPageList))]
public async Task<PageDataDto<ShangWaiMaoTempTccjListItem>> GetTempTccjPageList([FromQuery] ShangWaiMaoTempTccjPageParam paramDto)
{
return await _shangWaiMaoService.GetTempTccjPageListAsync(paramDto);
}
/// <summary>
/// 获取体测成绩详情
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpGet(nameof(GetTempTccjDetail))]
public async Task<ShangWaiMaoTempTccjDetailDto> GetTempTccjDetail([FromQuery] ShangWaiMaoTempTccjDetailParam paramDto)
{
return await _shangWaiMaoService.GetTempTccjDetailAsync(paramDto);
}
/// <summary>
/// 导出学生课程心率与运动数据
/// </summary>
/// <param name="paramDto"></param>
/// <returns></returns>
[HttpGet(nameof(ExportHeartRateData))]
public async Task<ActionResult> 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");
}
}
}