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)
{