diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs index 298817c40..16b2d1d60 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs @@ -296,7 +296,9 @@ namespace IRaCIS.Application.Services var visitId = await _readModuleRepository.Where(x => x.Id == taskInfo.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync(); - var oncologModuleId = await _readModuleRepository.Where(x => x.SubjectVisitId == visitId && x.ModuleType == ModuleTypeEnum.Oncology).Select(x => x.Id).FirstOrDefaultAsync(); + var oncologModuleId = await _readModuleRepository.Where(x => x.SubjectVisitId == visitId && x.ModuleType == ModuleTypeEnum.Oncology + &&x.TrialReadingCriterionId== taskInfo.TrialReadingCriterionId + ).Select(x => x.Id).FirstOrDefaultAsync(); await AddOncologyTask(oncologModuleId); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs index 5507ea66c..a12b16063 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs @@ -209,7 +209,9 @@ namespace IRaCIS.Application.Services if (readModuleInfo != null) { // 先找到对应的全局阅片模块Id - var globalreadModuleId = await _readModuleRepository.Where(x => x.SubjectVisitId == readModuleInfo.SubjectVisitId && x.ModuleType == ModuleTypeEnum.Global).Select(x => x.Id).FirstOrDefaultAsync(); + var globalreadModuleId = await _readModuleRepository.Where(x => x.SubjectVisitId == readModuleInfo.SubjectVisitId && + x.TrialReadingCriterionId== readModuleInfo.TrialReadingCriterionId&& + x.ModuleType == ModuleTypeEnum.Global).Select(x => x.Id).FirstOrDefaultAsync(); // 找到一个全局阅片任务是否有裁判任务 diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index 5d993a684..8bcc18d40 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -136,6 +136,27 @@ namespace IRaCIS.Core.Application [HttpPost] public async Task GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto) { + + + var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync(); + if (trialCriterion.SynchronizeOriginalTime == null && trialCriterion.ReadingQuestionCriterionSystemId != null) + { + // 同步器官 + await _iOrganInfoService.SynchronizeSystemOrganToTrial(new SynchronizeSystemOrganToTrialInDto() + { + TrialReadingCriterionId = inDto.TrialReadingCriterionId, + SystemCriterionId = trialCriterion.ReadingQuestionCriterionSystemId + }); + + // 同步问题 + await iReadingQuestionService.SynchronizeCriterion(new SynchronizeCriterionInDto() + { + + TrialReadingCriterionId = inDto.TrialReadingCriterionId, + }); + } + + 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(); @@ -262,22 +283,6 @@ namespace IRaCIS.Core.Application result.FormType = trialCriterion.FormType; result.IsFromSystem = trialCriterion.ReadingQuestionCriterionSystemId != null; - if (trialCriterion.SynchronizeOriginalTime == null && trialCriterion.ReadingQuestionCriterionSystemId != null) - { - // 同步器官 - await _iOrganInfoService.SynchronizeSystemOrganToTrial(new SynchronizeSystemOrganToTrialInDto() - { - TrialReadingCriterionId = inDto.TrialReadingCriterionId, - SystemCriterionId = trialCriterion.ReadingQuestionCriterionSystemId - }); - - // 同步问题 - await iReadingQuestionService.SynchronizeCriterion(new SynchronizeCriterionInDto() - { - - TrialReadingCriterionId = inDto.TrialReadingCriterionId, - }); - } };