医学审核问题导表

Test_IRC_Net8
hang 2025-08-04 13:34:49 +08:00
parent 0f3050b28d
commit 2eb19a28b3
4 changed files with 79 additions and 1 deletions

View File

@ -688,6 +688,25 @@
<param name="eventId"></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)">
<summary>
医学审核问题导表
</summary>
<param name="inDto"></param>
<param name="_readingMedicineSystemQuestionRepository"></param>
<param name="_dictionaryService"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetTrialVisitImageStatList_Export(IRaCIS.Core.Application.Contracts.TrialVisitImageQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Application.Interfaces.IDictionaryService)">
<summary>
访视影像统计
</summary>
<param name="inQuery"></param>
<param name="_subjectVisitRepository"></param>
<param name="_trialRepository"></param>
<param name="_dictionaryService"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.TrialUserListExport(IRaCIS.Application.Contracts.TrialMaintenanceExportQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CommonDocument},IRaCIS.Application.Interfaces.IDictionaryService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialUserRole})">
<summary>
项目参与人员导出

View File

@ -48,7 +48,57 @@ namespace IRaCIS.Core.Application.Service.Common
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer, IWebHostEnvironment _hostEnvironment) : BaseService
{
/// <summary>
/// 医学审核问题导表
/// </summary>
/// <param name="inDto"></param>
/// <param name="_readingMedicineSystemQuestionRepository"></param>
/// <param name="_dictionaryService"></param>
/// <returns></returns>
[HttpPost]
public async Task<IActionResult> GetReadingMedicineSystemQuestionList_Export(ReadingMedicineSystemQuestionQuery inDto,
[FromServices] IRepository<ReadingMedicineSystemQuestion> _readingMedicineSystemQuestionRepository,
[FromServices] IDictionaryService _dictionaryService)
{
//避免前端遍历
var criterionEnum = inDto.TrialReadingCriterionId != null ? _readingQuestionCriterionTrialRepository.Where(t => t.Id == inDto.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefault() : CriterionType.NoCriterion;
var query = _readingMedicineSystemQuestionRepository.AsQueryable()
.WhereIf(!inDto.TypeValue.IsNullOrEmpty(), x => x.TypeValue.Contains(inDto.TypeValue))
.WhereIf(!inDto.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue))
.WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName))
.WhereIf(!inDto.Type.IsNullOrEmpty(), x => x.Type.Contains(inDto.Type))
.WhereIf(inDto.ReadingCategory != null, x => x.ReadingCategory == inDto.ReadingCategory)
.WhereIf(inDto.CurrentCriterionType != null, x => x.CriterionTypeEnum == null || x.CriterionTypeEnum == inDto.CurrentCriterionType)
.WhereIf(inDto.CriterionTypeEnum != null, x => x.CriterionTypeEnum == inDto.CriterionTypeEnum)
.WhereIf(inDto.TrialReadingCriterionId != null, x => x.CriterionTypeEnum == criterionEnum || x.IsGeneral == true)
.WhereIf(inDto.IsGeneral != null, x => x.IsGeneral == inDto.IsGeneral)
.WhereIf(inDto.LanguageType != null, x => x.LanguageType == inDto.LanguageType!.Value)
.ProjectTo<ReadingMedicineSystemQuestionView>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder);
var defalutSortArray = new string[] { nameof(ReadingMedicineSystemQuestionView.LanguageType) + " desc", nameof(ReadingMedicineSystemQuestionView.ShowOrder) };
var list = await query.SortToListAsync(inDto);
var exportInfo = new ExcelExportInfo();
exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list, _userInfo.TimeZoneId);
exportInfo.CurrentTime = ExportExcelConverterDate.DateTimeInternationalToString(DateTime.Now, _userInfo.TimeZoneId);
return await ExcelExportHelper.DataExportAsync(StaticData.Export.SystenMedicalQCQuestionsList_Export, exportInfo, exportInfo.TrialCode, _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(ReadingMedicineSystemQuestionView));
}
/// <summary>
/// 访视影像统计
/// </summary>
/// <param name="inQuery"></param>
/// <param name="_subjectVisitRepository"></param>
/// <param name="_trialRepository"></param>
/// <param name="_dictionaryService"></param>
/// <returns></returns>
[HttpPost]
public async Task<IActionResult> GetTrialVisitImageStatList_Export(TrialVisitImageQuery inQuery,
[FromServices] IRepository<SubjectVisit> _subjectVisitRepository,

View File

@ -1,3 +1,4 @@
using IRaCIS.Core.Application.Helper;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
@ -179,6 +180,7 @@ namespace IRaCIS.Core.Application.ViewModel
/// <summary>
/// 类型
/// </summary>
[DictionaryTranslate("QcType")]
public string Type { get; set; }
/// <summary>
@ -194,11 +196,13 @@ namespace IRaCIS.Core.Application.ViewModel
/// <summary>
/// 语言类型
/// </summary>
[DictionaryTranslate("LanguageType")]
public LanguageType LanguageType { get; set; } = LanguageType.Chinese;
/// <summary>
/// 是否是必须
/// </summary>
[DictionaryTranslate("YesOrNo")]
public bool IsRequired { get; set; }
/// <summary>
@ -219,16 +223,19 @@ namespace IRaCIS.Core.Application.ViewModel
/// <summary>
/// 是否启用
/// </summary>
[DictionaryTranslate("YesOrNo")]
public bool IsEnable { get; set; }
/// <summary>
/// 任务类型
/// </summary>
[DictionaryTranslate("ReadingCategory")]
public ReadingCategory ReadingCategory { get; set; }
[DictionaryTranslate("CriterionType")]
public CriterionType? CriterionTypeEnum { get; set; }
[DictionaryTranslate("YesOrNo")]
public bool IsGeneral { get; set; }
}

View File

@ -304,6 +304,8 @@ public static class StaticData
public const string TrialImageBackRecordList_Export = "TrialImageBackRecordList_Export";
public const string SystenMedicalQCQuestionsList_Export = "SystenMedicalQCQuestionsList_Export";
}