|
|
|
|
@ -1061,7 +1061,7 @@ namespace IRaCIS.Core.Application
|
|
|
|
|
#region 废弃不能对包含聚合或子查询的表达式执行聚合函数
|
|
|
|
|
var query = _taskMedicalReviewRepository
|
|
|
|
|
.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
|
|
|
|
.Where(t => t.IsClosedDialog == false)
|
|
|
|
|
.Where(t => t.IsClosedDialog == false && t.VisitTask.TaskState==TaskState.Effect && t.IsInvalid==false && t.MedicalManagerUserId == _userInfo.Id)
|
|
|
|
|
.GroupBy(t => new
|
|
|
|
|
{
|
|
|
|
|
t.TrialId,
|
|
|
|
|
@ -1078,18 +1078,15 @@ namespace IRaCIS.Core.Application
|
|
|
|
|
ExperimentName = g.Key.ExperimentName,
|
|
|
|
|
TrialCode = g.Key.TrialCode,
|
|
|
|
|
CriterionName = g.Key.CriterionName,
|
|
|
|
|
TrialReadingCriterionId=g.Key.TrialReadingCriterionId,
|
|
|
|
|
|
|
|
|
|
UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.VisitTask.IsUrgent && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer).Count(),
|
|
|
|
|
UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer).Count(),
|
|
|
|
|
|
|
|
|
|
ToBeReplyedCount = g.Select(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer).Count(),
|
|
|
|
|
ToBeReplyedCount = g.Where(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer && u.AuditState == MedicalReviewAuditState.Auditing ).Count(),
|
|
|
|
|
|
|
|
|
|
//UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First()).Count(t => t.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer),
|
|
|
|
|
ToBeReviewedCount = g.Where(u => u.AuditState != MedicalReviewAuditState.HaveSigned ).Count()
|
|
|
|
|
|
|
|
|
|
//ToBeReplyedCount = g.Select(t => t.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First()).Count(t => t.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer),
|
|
|
|
|
|
|
|
|
|
ToBeReviewedCount = g.Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count()
|
|
|
|
|
|
|
|
|
|
}).Where(t => t.ToBeReplyedCount > 0);
|
|
|
|
|
}).Where(t => t.ToBeReviewedCount > 0);
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
@ -1102,19 +1099,17 @@ namespace IRaCIS.Core.Application
|
|
|
|
|
|
|
|
|
|
var toBeReplyedQuery = _taskMedicalReviewRepository
|
|
|
|
|
.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
|
|
|
|
.Where(t => t.IsClosedDialog == false)
|
|
|
|
|
.Where(t => t.IsClosedDialog == false && t.VisitTask.TaskState == TaskState.Effect && t.IsInvalid == false && t.MedicalManagerUserId == _userInfo.Id)
|
|
|
|
|
.Where(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer);
|
|
|
|
|
|
|
|
|
|
//.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer);
|
|
|
|
|
|
|
|
|
|
var toBeReplyedCount = toBeReplyedQuery.Count();
|
|
|
|
|
|
|
|
|
|
var tobeReviewedCount = _taskMedicalReviewRepository
|
|
|
|
|
.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
|
|
|
|
.Where(t => t.IsClosedDialog == false)
|
|
|
|
|
.Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count();
|
|
|
|
|
.Where(t => t.IsClosedDialog == false && t.VisitTask.TaskState == TaskState.Effect && t.IsInvalid == false && t.MedicalManagerUserId == _userInfo.Id)
|
|
|
|
|
.Where(u => u.AuditState != MedicalReviewAuditState.HaveSigned).Count();
|
|
|
|
|
|
|
|
|
|
//var firstToBeDone = toBeDealedQuery.ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider).FirstOrDefault();
|
|
|
|
|
|
|
|
|
|
return ResponseOutput.Ok(result, new { TotalToBeReplyedCount = toBeReplyedCount, TotalTobeReviewedCount = tobeReviewedCount });
|
|
|
|
|
|
|
|
|
|
|