diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 0dcbbe1bd..cd85f6d77 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1981,6 +1981,23 @@ namespace IRaCIS.Core.Application.Image.QA SubjectId = dbSubjectVisit.SubjectId }); + + if (await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.Id == trialReadingCriterionId && x.IsOncologyReading)) + { + await _readModuleRepository.AddAsync(new ReadModule() + { + TrialReadingCriterionId = trialReadingCriterionId, + ReadingSetType = ReadingSetType.TumorReading, + SubjectVisitId = dbSubjectVisit.Id, + ModuleName = $"O-{dbSubjectVisit.VisitName}", + ModuleType = ModuleTypeEnum.Oncology, + ReadModuleAddTypeEnum = dbSubjectVisit.PDState == PDStateEnum.PDProgress ? ReadModuleAddType.PDConfirmation : ReadModuleAddType.FinalVisit, + IsUrgent = dbSubjectVisit.IsUrgent, + TrialId = dbSubjectVisit.TrialId, + SubjectId = dbSubjectVisit.SubjectId + }); + } + } } diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs index 4364366a5..8618fb3a6 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs @@ -66,6 +66,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate foreach (var item in questions) { item.QuestionName = item.QuestionName.LanguageName(item.QuestionEnName, _userInfo.IsEn_Us); + item.GroupName = item.GroupName.LanguageName(item.GroupEnName, _userInfo.IsEn_Us); item.ReportLayType = ReportLayType.Group; item.Childrens = _mapper.Map>(questionList.Where(x => x.GroupId == item.QuestionId).OrderBy(x => x.ShowOrder)); diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs index feba6454e..8ecbcce82 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs @@ -1,7 +1,9 @@ using EntityFrameworkCore.Triggered; +using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.Service.Reading.Interface; using IRaCIS.Core.Application.ViewModel; +using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; using MassTransit; @@ -179,6 +181,26 @@ namespace IRaCIS.Core.Application.Triggers }; readModule = await _readModuleRepository.AddAsync(newReadModule); + + + } + + var readTumorModule = await _readModuleRepository.Where(x => x.ReadingSetType == ReadingSetType.TumorReading && x.TrialReadingCriterionId == item.Id && x.SubjectVisitId == subjectVisitId).FirstOrDefaultAsync(); + + if ((await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.Id == item.Id && x.IsOncologyReading))&& readTumorModule==null) + { + await _readModuleRepository.AddAsync(new ReadModule() + { + TrialReadingCriterionId = item.Id, + ReadingSetType = ReadingSetType.TumorReading, + SubjectVisitId = subjectVisit.Id, + ModuleName = $"O-{subjectVisit.VisitName}", + ModuleType = ModuleTypeEnum.Oncology, + ReadModuleAddTypeEnum = subjectVisit.PDState == PDStateEnum.PDProgress ? ReadModuleAddType.PDConfirmation : ReadModuleAddType.FinalVisit, + IsUrgent = subjectVisit.IsUrgent, + TrialId = subjectVisit.TrialId, + SubjectId = subjectVisit.SubjectId + }); } var visitTaskList = await _visitTaskRepository.Where(x => x.TrialReadingCriterionId == item.Id && x.SourceSubjectVisitId == subjectVisitId && x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned).ToListAsync();