diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs index f35bfbe9d..49c6224e2 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs @@ -138,6 +138,7 @@ namespace IRaCIS.Application.Services IsGlobalReading= criterionInfo.IsGlobalReading, IsReadingPeriod=criterionInfo.IsReadingPeriod, ReadingInfoSignTime=criterionInfo.ReadingInfoSignTime, + ExistClinicalData=await _clinicalDataTrialSetRepository.AnyAsync(x => x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)), }) ; #endregion diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs index 18d31f91c..4644a978a 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs @@ -283,7 +283,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate /// public async Task> GetReadingReportTaskList(Guid visitTaskId) { - var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync(); + var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync(); var isAdditionalQuestionId = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == visitTaskInfo.TrialReadingCriterionId && x.IsAdditional).IgnoreQueryFilters().Select(x => x.Id).ToListAsync(); @@ -302,7 +302,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { taskquery = _visitTaskRepository.Where(x => visitTaskInfo.ReportRelatedTaskIdList.Contains(x.Id)||x.Id==visitTaskInfo.Id); } - + if (!visitTaskInfo.TrialReadingCriterion.IsReadingTaskViewInOrder) + { + taskquery = _visitTaskRepository.Where(x => x.Id == visitTaskInfo.Id); + } diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs index c7a69efe3..5e070eb5b 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs @@ -330,13 +330,13 @@ namespace IRaCIS.Core.Domain.Models [Projectable] [JsonIgnore] - public bool IsConvertedTask => Subject.SubjectVisitTaskList.Where(t => (t.TrialReadingCriterionId == TrialReadingCriterionId + public bool IsConvertedTask => BeforeConvertedTaskId != null || IsHistoryConvertedTask|| Subject.SubjectVisitTaskList.Where(t => t.TrialReadingCriterionId == TrialReadingCriterionId && t.DoctorUserId == DoctorUserId && t.BeforeConvertedTaskId != null - && t.TaskState == TaskState.Effect && - t.VisitTaskNum < VisitTaskNum + && t.TaskState == TaskState.Effect + && t.VisitTaskNum < VisitTaskNum && t.IsSelfAnalysis == IsSelfAnalysis - && t.ArmEnum == ArmEnum) || BeforeConvertedTaskId != null|| IsHistoryConvertedTask - ).Any(); + && t.ArmEnum == ArmEnum + ).Any();