修改CDISC 多表格导出
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
cfd05cff36
commit
6e586fb6d3
|
@ -688,6 +688,16 @@
|
||||||
<param name="eventId"></param>
|
<param name="eventId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetTrialQCQuestionAnserList_Export(System.Guid,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestion},IRaCIS.Application.Interfaces.IDictionaryService)">
|
||||||
|
<summary>
|
||||||
|
质控问题答案导出
|
||||||
|
</summary>
|
||||||
|
<param name="trialId"></param>
|
||||||
|
<param name="_trialQCQuestionAnswerRepository"></param>
|
||||||
|
<param name="_trialRepository"></param>
|
||||||
|
<param name="_dictionaryService"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetReadingMedicineSystemQuestionList_Export(IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingMedicineSystemQuestion},IRaCIS.Application.Interfaces.IDictionaryService)">
|
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetReadingMedicineSystemQuestionList_Export(IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingMedicineSystemQuestion},IRaCIS.Application.Interfaces.IDictionaryService)">
|
||||||
<summary>
|
<summary>
|
||||||
医学审核问题导表
|
医学审核问题导表
|
||||||
|
@ -985,16 +995,6 @@
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
<exception cref="T:System.Exception"></exception>
|
<exception cref="T:System.Exception"></exception>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetTrialQCQuestionAnserList_Export(System.Guid,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestion},IRaCIS.Application.Interfaces.IDictionaryService)">
|
|
||||||
<summary>
|
|
||||||
质控问题答案导出
|
|
||||||
</summary>
|
|
||||||
<param name="trialId"></param>
|
|
||||||
<param name="_trialQCQuestionAnswerRepository"></param>
|
|
||||||
<param name="_trialRepository"></param>
|
|
||||||
<param name="_dictionaryService"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="T:IRaCIS.Core.Application.Service.ExploreRecommendService">
|
<member name="T:IRaCIS.Core.Application.Service.ExploreRecommendService">
|
||||||
<summary>
|
<summary>
|
||||||
ExploreRecommendService
|
ExploreRecommendService
|
||||||
|
|
|
@ -48,6 +48,128 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer, IWebHostEnvironment _hostEnvironment) : BaseService
|
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer, IWebHostEnvironment _hostEnvironment) : BaseService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 质控问题答案导出
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="trialId"></param>
|
||||||
|
/// <param name="_trialQCQuestionAnswerRepository"></param>
|
||||||
|
/// <param name="_trialRepository"></param>
|
||||||
|
/// <param name="_dictionaryService"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<IActionResult> GetTrialQCQuestionAnserList_Export(Guid trialId,
|
||||||
|
[FromServices] IRepository<TrialQCQuestionAnswer> _trialQCQuestionAnswerRepository,
|
||||||
|
[FromServices] IRepository<Trial> _trialRepository,
|
||||||
|
[FromServices] IRepository<UserRole> _userRoleRepository,
|
||||||
|
[FromServices] IRepository<TrialQCQuestion> _trialQCQuestionRepository,
|
||||||
|
[FromServices] IDictionaryService _dictionaryService)
|
||||||
|
{
|
||||||
|
//var query = from sv in _subjectVisitRepository.Where(t => t.TrialId == trialId && t.AuditState == AuditStateEnum.QCPassed)
|
||||||
|
|
||||||
|
// join u in _userRoleRepository.AsQueryable() on sv.UpdateUserId equals u.Id
|
||||||
|
// select new QCQuestionReusult_export()
|
||||||
|
// {
|
||||||
|
// TrialSiteCode = sv.TrialSite.TrialSiteCode,
|
||||||
|
// SubjectCode = sv.Subject.Code,
|
||||||
|
// VisitName = sv.VisitName,
|
||||||
|
// SubjectVisitId = sv.Id,
|
||||||
|
|
||||||
|
// CurrentQCEnum = qa.CurrentQCEnum,
|
||||||
|
// AuditTime = qa.UpdateTime,
|
||||||
|
// SecondReviewTime = qa.SecondReviewTime,
|
||||||
|
// AuditUserName = u.UserName,
|
||||||
|
// AuditUserFullName = u.FullName,
|
||||||
|
// QuesitonName = qa.TrialQCQuestionConfigure.QuestionName,
|
||||||
|
|
||||||
|
// ShowOrder = qa.TrialQCQuestionConfigure.ShowOrder,
|
||||||
|
// Answer = qa.Answer
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
var query = from qa in _trialQCQuestionAnswerRepository.Where(t => t.SubjectVisit.TrialId == trialId &&
|
||||||
|
(t.SubjectVisit.AuditState == AuditStateEnum.QCPassed ||
|
||||||
|
(t.SubjectVisit.SecondReviewState == SecondReviewState.AuditPassed && t.SecondReviewTime <= t.SubjectVisit.Trial.QCQuestionConfirmedTime) ||
|
||||||
|
(t.SubjectVisit.SecondReviewState == SecondReviewState.WaitAudit && t.SecondReviewTime < t.SubjectVisit.Trial.QCQuestionConfirmedTime)))
|
||||||
|
join u in _userRoleRepository.AsQueryable() on qa.UpdateUserId equals u.Id
|
||||||
|
select new QCQuestionAnswerResult_export()
|
||||||
|
{
|
||||||
|
SubjectVisitId = qa.SubjectVisitId,
|
||||||
|
SecondReviewTime = qa.SecondReviewTime,
|
||||||
|
|
||||||
|
VisitNum = qa.SubjectVisit.VisitNum,
|
||||||
|
|
||||||
|
TrialSiteCode = qa.SubjectVisit.TrialSite.TrialSiteCode,
|
||||||
|
SubjectCode = qa.SubjectVisit.Subject.Code,
|
||||||
|
VisitName = qa.SubjectVisit.VisitName,
|
||||||
|
CurrentQCEnum = qa.CurrentQCEnum,
|
||||||
|
|
||||||
|
AuditTime = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditTime : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditTime : qa.UpdateTime),
|
||||||
|
AuditUserName = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditUser.UserName : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditUser.UserName : u.UserName),
|
||||||
|
AuditUserFullName = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditUser.FullName : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditUser.FullName : u.FullName),
|
||||||
|
|
||||||
|
QuestionId = qa.TrialQCQuestionConfigure.Id,
|
||||||
|
QuesitonName = qa.TrialQCQuestionConfigure.QuestionName,
|
||||||
|
ShowOrder = qa.TrialQCQuestionConfigure.ShowOrder,
|
||||||
|
Answer = qa.Answer,
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var result = query.OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToList();
|
||||||
|
|
||||||
|
var list = result.GroupBy(t => new { t.SubjectVisitId, t.SecondReviewTime, t.TrialSiteCode, t.VisitNum, t.SubjectCode, t.VisitName, t.CurrentQCEnum })
|
||||||
|
.Select(g => new QCQuestionResult_Export()
|
||||||
|
{
|
||||||
|
TrialSiteCode = g.Key.TrialSiteCode,
|
||||||
|
SubjectCode = g.Key.SubjectCode,
|
||||||
|
VisitName = g.Key.VisitName,
|
||||||
|
CurrentQCEnum = g.Key.CurrentQCEnum,
|
||||||
|
VisitNum = g.Key.VisitNum,
|
||||||
|
|
||||||
|
AuditTime = g.Select(t => t.AuditTime).First(),
|
||||||
|
AuditUserName = g.Select(t => t.AuditUserName).First(),
|
||||||
|
AuditUserFullName = g.Select(t => t.AuditUserFullName).First(),
|
||||||
|
|
||||||
|
QuestionAnswerList = g.Select(t => new QCQuestionAnswerExport() { Answer = t.Answer, QuestionName = t.QuesitonName, ShowOrder = t.ShowOrder, QuestionId = t.QuestionId }).OrderBy(t => t.ShowOrder).ToList()
|
||||||
|
|
||||||
|
|
||||||
|
}).OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
var exportInfo = new ExcelExportInfo();
|
||||||
|
|
||||||
|
exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list, _userInfo.TimeZoneId);
|
||||||
|
exportInfo.CurrentTime = ExportExcelConverterDate.DateTimeInternationalToString(DateTime.Now, _userInfo.TimeZoneId);
|
||||||
|
|
||||||
|
|
||||||
|
var columNameList = _trialQCQuestionRepository.Where(t => t.TrialId == trialId).OrderBy(t => t.ShowOrder).Select(t => new { t.QuestionName, t.Id }).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
var dynamicColumnConfig = new DynamicColumnConfig()
|
||||||
|
{
|
||||||
|
AutoColumnTitleRowIndex = 2,
|
||||||
|
AutoColumnStartIndex = 7,
|
||||||
|
TempalteLastColumnIndex = 6,
|
||||||
|
DynamicItemDicName = "TranslateDicName",
|
||||||
|
DynamicItemValueName = "Answer",
|
||||||
|
DynamicItemTitleName = "QuestionName",
|
||||||
|
DynamicListName = "QuestionAnswerList",
|
||||||
|
DynamicItemTitleId = "QuestionId",
|
||||||
|
RemoveColunmIndexList = new List<int>() { },
|
||||||
|
ColumnIdNameList = columNameList.Select(t => new DynamicColumnConfig.ColumItem() { Id = t.Id, Name = t.QuestionName }).ToList(),
|
||||||
|
TranslateDicNameList = new List<string>()
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var (memoryStream, fileName) = await ExcelExportHelper.DataExport_NpoiTestAsync(StaticData.Export.TrialQCResult_Export, exportInfo, _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(QCQuestionResult_Export), dynamicColumnConfig: dynamicColumnConfig);
|
||||||
|
|
||||||
|
return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
||||||
|
{
|
||||||
|
FileDownloadName = $"{exportInfo.ResearchProgramNo}_{exportInfo.CriterionName}_{fileName}_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 医学审核问题导表
|
/// 医学审核问题导表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -147,7 +269,6 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region 后续需要移动过来
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -441,7 +562,6 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1860,7 +1980,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
return await ExcelExportHelper.DataExportAsync(StaticData.Export.EmailNoticeConfig_Export, exportInfo, $"{exportInfo.ResearchProgramNo}", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(EmailNoticeConfigExportDto));
|
return await ExcelExportHelper.DataExportAsync(StaticData.Export.EmailNoticeConfig_Export, exportInfo, $"{exportInfo.ResearchProgramNo}", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(EmailNoticeConfigExportDto));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region 导表公用
|
#region 导表公用
|
||||||
|
|
||||||
|
@ -2186,7 +2306,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region 通用阅片结果导出
|
#region 通用阅片结果导出
|
||||||
|
|
||||||
|
@ -3084,7 +3204,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (criterion.CriterionType == CriterionType.SelfDefine)
|
if (criterion.CriterionGroup == CriterionGroup.Nontumorous)
|
||||||
{
|
{
|
||||||
//最终EXCEL 列
|
//最终EXCEL 列
|
||||||
var configCoumNameList = new List<DynamicColumnConfig.ColumItem>();
|
var configCoumNameList = new List<DynamicColumnConfig.ColumItem>();
|
||||||
|
@ -3683,126 +3803,6 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 质控问题答案导出
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="trialId"></param>
|
|
||||||
/// <param name="_trialQCQuestionAnswerRepository"></param>
|
|
||||||
/// <param name="_trialRepository"></param>
|
|
||||||
/// <param name="_dictionaryService"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost]
|
|
||||||
public async Task<IActionResult> GetTrialQCQuestionAnserList_Export(Guid trialId,
|
|
||||||
[FromServices] IRepository<TrialQCQuestionAnswer> _trialQCQuestionAnswerRepository,
|
|
||||||
[FromServices] IRepository<Trial> _trialRepository,
|
|
||||||
[FromServices] IRepository<UserRole> _userRoleRepository,
|
|
||||||
[FromServices] IRepository<TrialQCQuestion> _trialQCQuestionRepository,
|
|
||||||
[FromServices] IDictionaryService _dictionaryService)
|
|
||||||
{
|
|
||||||
//var query = from sv in _subjectVisitRepository.Where(t => t.TrialId == trialId && t.AuditState == AuditStateEnum.QCPassed)
|
|
||||||
|
|
||||||
// join u in _userRoleRepository.AsQueryable() on sv.UpdateUserId equals u.Id
|
|
||||||
// select new QCQuestionReusult_export()
|
|
||||||
// {
|
|
||||||
// TrialSiteCode = sv.TrialSite.TrialSiteCode,
|
|
||||||
// SubjectCode = sv.Subject.Code,
|
|
||||||
// VisitName = sv.VisitName,
|
|
||||||
// SubjectVisitId = sv.Id,
|
|
||||||
|
|
||||||
// CurrentQCEnum = qa.CurrentQCEnum,
|
|
||||||
// AuditTime = qa.UpdateTime,
|
|
||||||
// SecondReviewTime = qa.SecondReviewTime,
|
|
||||||
// AuditUserName = u.UserName,
|
|
||||||
// AuditUserFullName = u.FullName,
|
|
||||||
// QuesitonName = qa.TrialQCQuestionConfigure.QuestionName,
|
|
||||||
|
|
||||||
// ShowOrder = qa.TrialQCQuestionConfigure.ShowOrder,
|
|
||||||
// Answer = qa.Answer
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
var query = from qa in _trialQCQuestionAnswerRepository.Where(t => t.SubjectVisit.TrialId == trialId &&
|
|
||||||
(t.SubjectVisit.AuditState == AuditStateEnum.QCPassed ||
|
|
||||||
(t.SubjectVisit.SecondReviewState == SecondReviewState.AuditPassed && t.SecondReviewTime <= t.SubjectVisit.Trial.QCQuestionConfirmedTime) ||
|
|
||||||
(t.SubjectVisit.SecondReviewState == SecondReviewState.WaitAudit && t.SecondReviewTime < t.SubjectVisit.Trial.QCQuestionConfirmedTime)))
|
|
||||||
join u in _userRoleRepository.AsQueryable() on qa.UpdateUserId equals u.Id
|
|
||||||
select new QCQuestionAnswerResult_export()
|
|
||||||
{
|
|
||||||
SubjectVisitId = qa.SubjectVisitId,
|
|
||||||
SecondReviewTime = qa.SecondReviewTime,
|
|
||||||
|
|
||||||
VisitNum = qa.SubjectVisit.VisitNum,
|
|
||||||
|
|
||||||
TrialSiteCode = qa.SubjectVisit.TrialSite.TrialSiteCode,
|
|
||||||
SubjectCode = qa.SubjectVisit.Subject.Code,
|
|
||||||
VisitName = qa.SubjectVisit.VisitName,
|
|
||||||
CurrentQCEnum = qa.CurrentQCEnum,
|
|
||||||
|
|
||||||
AuditTime = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditTime : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditTime : qa.UpdateTime),
|
|
||||||
AuditUserName = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditUser.UserName : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditUser.UserName : u.UserName),
|
|
||||||
AuditUserFullName = qa.CurrentQCEnum == CurrentQC.First ? qa.SubjectVisit.PreliminaryAuditUser.FullName : (qa.CurrentQCEnum == CurrentQC.Second ? qa.SubjectVisit.ReviewAuditUser.FullName : u.FullName),
|
|
||||||
|
|
||||||
QuestionId = qa.TrialQCQuestionConfigure.Id,
|
|
||||||
QuesitonName = qa.TrialQCQuestionConfigure.QuestionName,
|
|
||||||
ShowOrder = qa.TrialQCQuestionConfigure.ShowOrder,
|
|
||||||
Answer = qa.Answer,
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
var result = query.OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToList();
|
|
||||||
|
|
||||||
var list = result.GroupBy(t => new { t.SubjectVisitId, t.SecondReviewTime, t.TrialSiteCode, t.VisitNum, t.SubjectCode, t.VisitName, t.CurrentQCEnum })
|
|
||||||
.Select(g => new QCQuestionResult_Export()
|
|
||||||
{
|
|
||||||
TrialSiteCode = g.Key.TrialSiteCode,
|
|
||||||
SubjectCode = g.Key.SubjectCode,
|
|
||||||
VisitName = g.Key.VisitName,
|
|
||||||
CurrentQCEnum = g.Key.CurrentQCEnum,
|
|
||||||
VisitNum = g.Key.VisitNum,
|
|
||||||
|
|
||||||
AuditTime = g.Select(t => t.AuditTime).First(),
|
|
||||||
AuditUserName = g.Select(t => t.AuditUserName).First(),
|
|
||||||
AuditUserFullName = g.Select(t => t.AuditUserFullName).First(),
|
|
||||||
|
|
||||||
QuestionAnswerList = g.Select(t => new QCQuestionAnswerExport() { Answer = t.Answer, QuestionName = t.QuesitonName, ShowOrder = t.ShowOrder, QuestionId = t.QuestionId }).OrderBy(t => t.ShowOrder).ToList()
|
|
||||||
|
|
||||||
|
|
||||||
}).OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToList();
|
|
||||||
|
|
||||||
|
|
||||||
var exportInfo = new ExcelExportInfo();
|
|
||||||
|
|
||||||
exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list, _userInfo.TimeZoneId);
|
|
||||||
exportInfo.CurrentTime = ExportExcelConverterDate.DateTimeInternationalToString(DateTime.Now, _userInfo.TimeZoneId);
|
|
||||||
|
|
||||||
|
|
||||||
var columNameList = _trialQCQuestionRepository.Where(t => t.TrialId == trialId).OrderBy(t => t.ShowOrder).Select(t => new { t.QuestionName, t.Id }).ToList();
|
|
||||||
|
|
||||||
|
|
||||||
var dynamicColumnConfig = new DynamicColumnConfig()
|
|
||||||
{
|
|
||||||
AutoColumnTitleRowIndex = 2,
|
|
||||||
AutoColumnStartIndex = 7,
|
|
||||||
TempalteLastColumnIndex = 6,
|
|
||||||
DynamicItemDicName = "TranslateDicName",
|
|
||||||
DynamicItemValueName = "Answer",
|
|
||||||
DynamicItemTitleName = "QuestionName",
|
|
||||||
DynamicListName = "QuestionAnswerList",
|
|
||||||
DynamicItemTitleId = "QuestionId",
|
|
||||||
RemoveColunmIndexList = new List<int>() { },
|
|
||||||
ColumnIdNameList = columNameList.Select(t => new DynamicColumnConfig.ColumItem() { Id = t.Id, Name = t.QuestionName }).ToList(),
|
|
||||||
TranslateDicNameList = new List<string>()
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
var (memoryStream, fileName) = await ExcelExportHelper.DataExport_NpoiTestAsync(StaticData.Export.TrialQCResult_Export, exportInfo, _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(QCQuestionResult_Export), dynamicColumnConfig: dynamicColumnConfig);
|
|
||||||
|
|
||||||
return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
|
||||||
{
|
|
||||||
FileDownloadName = $"{exportInfo.ResearchProgramNo}_{exportInfo.CriterionName}_{fileName}_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue