修改查询
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
hang 2025-09-03 13:49:29 +08:00
parent 5fa12786aa
commit 16e5a0567f
2 changed files with 33 additions and 25 deletions

View File

@ -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; }

View File

@ -1284,7 +1284,7 @@ public class VisitTaskService(IRepository<VisitTask> _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<VisitTask> _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<VisitTask> _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<VisitTask> _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)*/;
// 有序阅片需要找到最小需要