diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index d746a8065..ca21f055c 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1551,6 +1551,11 @@ 阅片计算Dto + + + TrialReadingCriterionId + + 是否修改其他任务 @@ -8144,35 +8149,16 @@ 阅片问题.标准 - + - 获取疗效对照 + 获取标准字典 + - + - 获取疗效对照 - - - - - - 新增修改疗效对照 - - - - - - - 删除疗效对照 - - - - - - - 复制一个系统标准到另一系统标准 + 设置标准字典 @@ -8183,104 +8169,6 @@ - - - 获取系统的表格问题 - - - - - - - 获取项目的表格问题 - - - - - - - 新增修改系统表格问题 - - - - - - - 新增修改想想项目表格问题 - - - - - - - 删除项目表格问题 - - - - - - - 删除系统表格问题 - - - - - - - 获取项目表格其他问题 - - - - - - - 获取系统表格其他问题 - - - - - - - 设置项目裁判信息 - - - - - - - 验证是否要同步标准 - - - - - - - 同步标准到项目新(2022-08-10) - - - - - - - 获取项目裁判信息 - - - - - - - 新增修改项目标准分页 - - - - - - - 删除标准分页 - - - - 获取系统问题标准 @@ -8293,27 +8181,6 @@ - - - 设置系统问题标准是否完成配置 - - - - - - - 更改项目标准(老) - - - - - - - 更改项目标准(新) - - - - 新增修改系统问题标准 @@ -8328,59 +8195,20 @@ - + - 新增修改系统问题 - - - - - - - 获取系统问题 - - - - - - 获取系统标准的其他问题 + 设置系统问题标准是否完成配置 - + - 删除系统问题 + 获取项目裁判信息 - + - - - 添加系统数据到项目里面 - - - - - - 设置父子关系 - - 项目标准ID - 项目Id - 系统问题 - 需要添加list - - - - 递归处理父子关系 - - - - - - - - 新增修改项目问题标准(项目) @@ -8408,6 +8236,75 @@ + + + 设置项目裁判信息 + + + + + + + 获取系统问题分组 + + + + + + + 获取系统问题 + + + + + + 获取系统标准的其他问题 + + + + + + + 新增修改系统问题 + + + + + + + 删除系统问题 + + + + + + + 获取系统的表格问题 + + + + + + + 获取系统表格其他问题 + + + + + + + 新增修改系统表格问题 + + + + + + + 删除系统表格问题 + + + + 新增修改项目问题(项目) @@ -8442,13 +8339,135 @@ - + - 获取系统问题分组 + 获取项目的表格问题 + + + 获取项目表格其他问题 + + + + + + + 新增修改想想项目表格问题 + + + + + + + 删除项目表格问题 + + + + + + + 新增修改项目标准分页 + + + + + + + 删除标准分页 + + + + + + + 获取疗效对照 + + + + + + 获取疗效对照 + + + + + + 新增修改疗效对照 + + + + + + + 删除疗效对照 + + + + + + + 复制一个系统标准到另一系统标准 + + + + + + + 同步标准到项目新(2022-08-10) + + + + + + + 更改项目标准(老) + + + + + + + 更改项目标准(新) + + + + + + + 验证是否要同步标准 + + + + + + + 添加系统数据到项目里面 + + + + + + 设置父子关系 + + 项目标准ID + 项目Id + 系统问题 + 需要添加list + + + + 递归处理父子关系 + + + + + + + + Dashboard统计、全局工作量统计、入组两个维度统计(按照项目、按照人) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index 2ce58b99c..79039f051 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -90,7 +90,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List DictionaryIds { get; set; } - public bool IsSystemCriterion { get; set; } = true; } public class GetAssessTypeInDto diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs index 82b58b276..f20528fcf 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs @@ -117,7 +117,7 @@ namespace IRaCIS.Application.Services { CriterionId = inDto.CriterionId, DictionaryId = x, - IsSystemCriterion = inDto.IsSystemCriterion, + IsSystemCriterion = true, ParentCode = inDto.ParentCode })); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index 8945eb58a..7d5bc7a00 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -397,6 +397,9 @@ namespace IRaCIS.Core.Application.Contracts public bool? IsArbitrationReading { get; set; } + public List GlobalAssessTypeIds { get; set; } + + ///// ///// 阅片模式 ///// @@ -721,6 +724,8 @@ namespace IRaCIS.Core.Application.Contracts public bool IsSign { get; set; } + public List GlobalAssessTypeIds { get; set; } + /// /// 评估结果 /// @@ -759,6 +764,9 @@ namespace IRaCIS.Core.Application.Contracts { public Guid TrialReadingCriterionId { get; set; } + + public List GlobalAssessTypeIds { get; set; } + /// /// 表单类型 /// diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index c5cb766c0..97a4f9206 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -28,6 +28,7 @@ namespace IRaCIS.Core.Application private readonly IEasyCachingProvider _provider; private readonly IOrganInfoService _iOrganInfoService; private readonly IRepository _taskAllocationRuleRepository; + private readonly IRepository _readingCriterionDictionaryRepository; private readonly IReadingQuestionService iReadingQuestionService; public TrialConfigService(IRepository trialRepository, @@ -37,6 +38,7 @@ namespace IRaCIS.Core.Application IRepository clinicalDataTrialSetRepository, IRepository readingCriterionPageRepository, IRepository taskAllocationRuleRepository, + IRepository readingCriterionDictionaryRepository, IReadingQuestionService iReadingQuestionService, IEasyCachingProvider provider, IOrganInfoService iOrganInfoService @@ -44,6 +46,7 @@ namespace IRaCIS.Core.Application { _trialRepository = trialRepository; _taskAllocationRuleRepository = taskAllocationRuleRepository; + this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this.iReadingQuestionService = iReadingQuestionService; this._trialQCQuestionRepository = trialQCQuestionRepository; this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository; @@ -134,6 +137,9 @@ namespace IRaCIS.Core.Application public async Task GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto) { GetTrialReadingInfoOutDto trialInfo= await _readingQuestionCriterionTrialRepository.Where(x=>x.Id==inDto.TrialReadingCriterionId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync(); + + trialInfo.GlobalAssessTypeIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType").Select(x => x.DictionaryId).ToListAsync(); + return trialInfo; } @@ -152,6 +158,7 @@ namespace IRaCIS.Core.Application return new GetOncologySetOutDto { + EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason, EvaluationResult= trialCriterion.EvaluationResult, IsShowDetail=trialCriterion.IsShowDetail, @@ -300,10 +307,20 @@ namespace IRaCIS.Core.Application { FormType = inDto.FormType, DigitPlaces = inDto.DigitPlaces, - - }); + + await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType"); + + await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessTypeIds.Select(x => new ReadingCriterionDictionary + { + CriterionId = inDto.TrialReadingCriterionId, + DictionaryId = x, + IsSystemCriterion = false, + ParentCode = "GlobalAssessType" + })); + + var result = await _trialRepository.SaveChangesAsync();