diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs index dac5ed4c5..3b84b67be 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs @@ -403,9 +403,9 @@ namespace IRaCIS.Core.Application.ViewModel public class IRUnReadSubjectView { #region HIR - public Guid? ClaimUserId { get; set; } + public Guid? ClaimUserId => UnReadCanReadTaskList.FirstOrDefault()?.ClaimUserId; - public string? ClaimUserName { get; set; } + public string? ClaimUserName => UnReadCanReadTaskList.FirstOrDefault()?.ClaimUserName; public string SubjectName { get; set; } @@ -470,6 +470,11 @@ namespace IRaCIS.Core.Application.ViewModel public class IRUnreadTaskView { + // + public Guid? ClaimUserId { get; set; } + + public string? ClaimUserName { get; set; } + public Guid Id { get; set; } public ReadingCategory ReadingCategory { get; set; } diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index b996c556d..72fb0272e 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1284,7 +1284,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, .WhereIf(!string.IsNullOrEmpty(inQuery.SubjectCode), t => (t.Subject.Code.Contains(inQuery.SubjectCode!) && t.IsAnalysisCreate == false) || (t.BlindSubjectCode.Contains(inQuery.SubjectCode!) && t.IsAnalysisCreate)); - var visitGroupQuery = visitQuery.GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode, x.Subject.ShortName, x.SubjectCriterionClaimUserId, x.SubjectCriterionClaimUser.UserName }); + var visitGroupQuery = visitQuery.GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode, x.Subject.ShortName/*, x.SubjectCriterionClaimUserId, x.SubjectCriterionClaimUser.UserName*/ }); var visitTaskQuery = visitGroupQuery.Select(x => new IRUnReadSubjectView() { @@ -1292,8 +1292,8 @@ public class VisitTaskService(IRepository _visitTaskRepository, SubjectCode = x.Key.BlindSubjectCode == string.Empty ? x.Key.Code : x.Key.BlindSubjectCode, SubjectName = x.Key.ShortName, - ClaimUserId = x.Key.SubjectCriterionClaimUserId, - ClaimUserName = x.Key.UserName, + //ClaimUserId = x.Key.SubjectCriterionClaimUserId, + //ClaimUserName = x.Key.UserName, SuggesteFinishedTime = x.Where(y => y.TrialReadingCriterionId == trialReadingCriterionId && y.ReadingTaskState != ReadingTaskState.HaveSigned).Min(x => x.SuggesteFinishedTime), @@ -1313,6 +1313,8 @@ public class VisitTaskService(IRepository _visitTaskRepository, .OrderBy(x => x.VisitTaskNum) .Select(u => new IRUnreadTaskView() { + ClaimUserId = u.SubjectCriterionClaimUserId, + ClaimUserName = u.SubjectCriterionClaimUser.UserName, Id = u.Id, IsUrgent = u.IsUrgent, VisitNum = u.VisitTaskNum, @@ -1340,26 +1342,27 @@ public class VisitTaskService(IRepository _visitTaskRepository, ExistReadingApply = x.Any(y => (y.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed && y.TrialReadingCriterionId == trialReadingCriterionId) || y.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed), - //查出所有未读的 未读的可读的 在这个列表基础上 过滤下 y.IsFrontTaskNeedSignButNotSign==false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true) 这样容易排错 确认这三个字段是否维护有误 - UnReadTaskList = x.Where(y => y.TrialReadingCriterionId == trialReadingCriterionId && y.ReadingTaskState != ReadingTaskState.HaveSigned).OrderBy(x => x.VisitTaskNum) - .Select(u => new IRUnreadTaskView() - { - Id = u.Id, - IsUrgent = u.IsUrgent, - VisitNum = u.VisitTaskNum, - TaskBlindName = u.TaskBlindName, - VisistId = u.SourceSubjectVisitId, - SuggesteFinishedTime = u.SuggesteFinishedTime, - ReadingCategory = u.ReadingCategory, - IsAnalysisCreate = u.IsAnalysisCreate, - ArmEnum = u.ArmEnum, - TrialReadingCriterionId = u.TrialReadingCriterionId, - IsNeedClinicalDataSign = u.IsNeedClinicalDataSign, - IsClinicalDataSign = u.IsClinicalDataSign, - IsFrontTaskNeedSignButNotSign = u.IsFrontTaskNeedSignButNotSign, - EvaluateProgressEnum = u.EvaluateProgressEnum - }) - .ToList(), + ////查出所有未读的 未读的可读的 在这个列表基础上 过滤下 y.IsFrontTaskNeedSignButNotSign==false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true) 这样容易排错 确认这三个字段是否维护有误 + //UnReadTaskList = x.Where(y => y.TrialReadingCriterionId == trialReadingCriterionId && y.ReadingTaskState != ReadingTaskState.HaveSigned).OrderBy(x => x.VisitTaskNum) + //.Select(u => new IRUnreadTaskView() + //{ + // Id = u.Id, + // IsUrgent = u.IsUrgent, + // VisitNum = u.VisitTaskNum, + // TaskBlindName = u.TaskBlindName, + // VisistId = u.SourceSubjectVisitId, + // SuggesteFinishedTime = u.SuggesteFinishedTime, + // ReadingCategory = u.ReadingCategory, + // IsAnalysisCreate = u.IsAnalysisCreate, + // ArmEnum = u.ArmEnum, + // TrialReadingCriterionId = u.TrialReadingCriterionId, + // IsNeedClinicalDataSign = u.IsNeedClinicalDataSign, + // IsClinicalDataSign = u.IsClinicalDataSign, + // IsFrontTaskNeedSignButNotSign = u.IsFrontTaskNeedSignButNotSign, + // EvaluateProgressEnum = u.EvaluateProgressEnum + //}) + //.ToList(), + }).Where(x => x.UnReadCanReadTaskCount > 0)/*.OrderBy(x => x.UnReadCanReadTaskCount)*/; // 有序阅片需要找到最小需要