diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs index cd5714e50..99c96453c 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs @@ -339,6 +339,16 @@ namespace IRaCIS.Core.Application.ViewModel public int UrgentCount { get; set; } + /// + /// 是否存在未处理的反馈 + /// + public bool IsExistUnprocessedFeedback + { + get + { + return UnReadCanReadTaskList.Any(t => t.IsExistUnprocessedFeedback); + } + } public List UnReadCanReadTaskList { get; set; } = new List(); @@ -355,6 +365,11 @@ namespace IRaCIS.Core.Application.ViewModel /// 是否是一致性分析产生 /// public bool IsAnalysisCreate { get; set; } + + /// + /// 是否存在未处理的反馈 + /// + public bool IsExistUnprocessedFeedback { get; set; } public bool IsUrgent { get; set; } diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index c0e69dffc..a3696e131 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1055,6 +1055,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, ReadingCategory = u.ReadingCategory, IsAnalysisCreate = u.IsAnalysisCreate, ArmEnum = u.ArmEnum, + IsExistUnprocessedFeedback=u.UserFeedBackList.Any(t => t.State ==0), TrialReadingCriterionId = u.TrialReadingCriterionId, IsNeedClinicalDataSign = u.IsNeedClinicalDataSign, IsClinicalDataSign = u.IsClinicalDataSign, @@ -1085,6 +1086,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, ReadingCategory = u.ReadingCategory, IsAnalysisCreate = u.IsAnalysisCreate, ArmEnum = u.ArmEnum, + IsExistUnprocessedFeedback = u.UserFeedBackList.Any(t => t.State == 0), TrialReadingCriterionId = u.TrialReadingCriterionId, IsNeedClinicalDataSign = u.IsNeedClinicalDataSign, IsClinicalDataSign = u.IsClinicalDataSign, @@ -1194,6 +1196,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, ReadingCategory = u.ReadingCategory, IsAnalysisCreate = u.IsAnalysisCreate, ArmEnum = u.ArmEnum, + IsExistUnprocessedFeedback = u.UserFeedBackList.Any(t => t.State == 0), TrialReadingCriterionId = u.TrialReadingCriterionId, IsNeedClinicalDataSign = u.IsNeedClinicalDataSign, IsClinicalDataSign = u.IsClinicalDataSign, diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index c1dfd44dc..7e8cab3bd 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -1864,6 +1864,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public ReadingTaskState ReadingTaskState { get; set; } + /// + /// 是否存在未处理的反馈 + /// + public bool IsExistUnprocessedFeedback { get; set; } + /// /// 是否是转变的任务(转为IRECIST) /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index e83bcef85..a07f27201 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -41,6 +41,7 @@ namespace IRaCIS.Core.Application.Service IReadingCalculateService _readingCalculateService, IRepository _subjectVisitRepository, IRepository _subjectRepository, + IRepository _userFeedBackRepository, IOptionsMonitor _verifyConfig, IRepository _readingGlobalTaskInfoRepository, IRepository _readingCriterionPageRepository, @@ -3166,6 +3167,7 @@ namespace IRaCIS.Core.Application.Service task.SubjectCode = blindSubjectCode.IsNullOrEmpty() ? task.SubjectCode : blindSubjectCode; task.ExistsManual = (await GetManualList(new GetManualListInDto() { TrialId = visitTaskInfo.TrialId })).Count > 0; task.ReadingTaskState = visitTaskInfo.ReadingTaskState; + task.IsExistUnprocessedFeedback = await _userFeedBackRepository.AnyAsync(x => x.VisitTaskId == task.VisitTaskId && x.State == 0); // 添加默认答案 if (inDto.VisitTaskId == null && visitTaskInfo.ReadingTaskState != ReadingTaskState.HaveSigned) {