|
@@ -11,6 +11,9 @@ using Microsoft.AspNetCore.Mvc;
|
|
using System.ComponentModel;
|
|
using System.ComponentModel;
|
|
using Hotline.Application.Exam.Interface.ExamManages;
|
|
using Hotline.Application.Exam.Interface.ExamManages;
|
|
using Exam.Infrastructure.Data.Entity;
|
|
using Exam.Infrastructure.Data.Entity;
|
|
|
|
+using Hotline.Share.Dtos.Order;
|
|
|
|
+using Hotline.Tools;
|
|
|
|
+using MapsterMapper;
|
|
|
|
|
|
namespace Hotline.Api.Controllers.Exam
|
|
namespace Hotline.Api.Controllers.Exam
|
|
{
|
|
{
|
|
@@ -18,11 +21,13 @@ namespace Hotline.Api.Controllers.Exam
|
|
{
|
|
{
|
|
private readonly IUserExamService _userExamService;
|
|
private readonly IUserExamService _userExamService;
|
|
private readonly IExamManageService _examManageService;
|
|
private readonly IExamManageService _examManageService;
|
|
|
|
+ private readonly IMapper _mapper;
|
|
|
|
|
|
- public UserExamController(IUserExamService userExamService,IExamManageService examManageService)
|
|
|
|
|
|
+ public UserExamController(IUserExamService userExamService,IExamManageService examManageService,IMapper mapper)
|
|
{
|
|
{
|
|
this._userExamService = userExamService;
|
|
this._userExamService = userExamService;
|
|
this._examManageService = examManageService;
|
|
this._examManageService = examManageService;
|
|
|
|
+ this._mapper = mapper;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -190,7 +195,38 @@ namespace Hotline.Api.Controllers.Exam
|
|
[HttpPost(UserExamApiRoute.GetUnExamUsers)]
|
|
[HttpPost(UserExamApiRoute.GetUnExamUsers)]
|
|
public async Task<UnExamUserPageViewResponse> GetUnExamUsers([FromBody] UnExamUserReportPagedRequest unExamUserReportPagedRequest)
|
|
public async Task<UnExamUserPageViewResponse> GetUnExamUsers([FromBody] UnExamUserReportPagedRequest unExamUserReportPagedRequest)
|
|
{
|
|
{
|
|
- return await _userExamService.GetUnExamUsers(unExamUserReportPagedRequest);
|
|
|
|
|
|
+ return await _userExamService.GetUnExamUsersPaged(unExamUserReportPagedRequest);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 导出未考试的考生信息
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="exportExcelDto"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ [HttpPost(UserExamApiRoute.ExportUnExamUsers)]
|
|
|
|
+ public async Task<FileStreamResult> ExportUnExamUsers([FromBody] ExportExcelDto<UnExamUserReportPagedRequest> exportExcelDto)
|
|
|
|
+ {
|
|
|
|
+ if (exportExcelDto.IsExportAll)
|
|
|
|
+ {
|
|
|
|
+ exportExcelDto.QueryDto.IsPaged = false;
|
|
|
|
+ }
|
|
|
|
+ var result = await _userExamService.GetUnExamUsersPaged(exportExcelDto.QueryDto);
|
|
|
|
+
|
|
|
|
+ var items = result.Items;
|
|
|
|
+
|
|
|
|
+ var viewResponses = _mapper.Map<ICollection<UnExamUserViewResponse>>(items);
|
|
|
|
+
|
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass<UnExamUserViewResponse>(exportExcelDto.ColumnInfos??new List<ColumnInfo>());
|
|
|
|
+
|
|
|
|
+ var dtos = viewResponses
|
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(UnExamUserViewResponse), dynamicClass))
|
|
|
|
+ .Cast<object>()
|
|
|
|
+ .ToList();
|
|
|
|
+
|
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
|
+
|
|
|
|
+ return ExcelStreamResult(stream, "未考试的考生信息");
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -205,6 +241,39 @@ namespace Hotline.Api.Controllers.Exam
|
|
return await _userExamService.GetUserExamResults(userExamResultReportPagedRequest);
|
|
return await _userExamService.GetUserExamResults(userExamResultReportPagedRequest);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 导出成绩统计分析
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="exportExcelDto"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+
|
|
|
|
+ [HttpPost(UserExamApiRoute.ExportUserExamResults)]
|
|
|
|
+ public async Task<FileStreamResult> ExportUserExamResults([FromBody] ExportExcelDto<UserExamResultReportPagedRequest> exportExcelDto)
|
|
|
|
+ {
|
|
|
|
+ if (exportExcelDto.IsExportAll)
|
|
|
|
+ {
|
|
|
|
+ exportExcelDto.QueryDto.IsPaged = false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var result = await _userExamService.GetUserExamResults(exportExcelDto.QueryDto);
|
|
|
|
+
|
|
|
|
+ var items = result.Items;
|
|
|
|
+
|
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass<UserExamResultViewResponse>(exportExcelDto.ColumnInfos ?? new List<ColumnInfo>());
|
|
|
|
+
|
|
|
|
+ var dtos = items
|
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(UserExamResultViewResponse), dynamicClass))
|
|
|
|
+ .Cast<object>()
|
|
|
|
+ .ToList();
|
|
|
|
+
|
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
|
+
|
|
|
|
+ return ExcelStreamResult(stream, "成绩统计分析");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 查看考试试题
|
|
/// 查看考试试题
|
|
/// </summary>
|
|
/// </summary>
|