修改医学审核统计,需要迁移01
							parent
							
								
									ea9a5fa3a0
								
							
						
					
					
						commit
						0df5e56dee
					
				| 
						 | 
				
			
			@ -115,7 +115,7 @@ namespace IRaCIS.Core.Application.ViewModel
 | 
			
		|||
        public bool? IsUrgent { get; set; }
 | 
			
		||||
        public Guid? DoctorUserId { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public bool? IsInvalid { get; set; }
 | 
			
		||||
        public TaskState? TaskState { get; set; }
 | 
			
		||||
 | 
			
		||||
        public MedicalReviewAuditState? AuditState { get; set; }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -200,6 +200,7 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                             .WhereIf(inQuery.DoctorUserId != null, t => t.VisitTask.DoctorUserId == inQuery.DoctorUserId)
 | 
			
		||||
                             .WhereIf(inQuery.ReadingCategory != null, t => t.VisitTask.ReadingCategory == inQuery.ReadingCategory)
 | 
			
		||||
                             .WhereIf(inQuery.ReadingTaskState != null, t => t.VisitTask.ReadingTaskState == inQuery.ReadingTaskState)
 | 
			
		||||
                              .WhereIf(inQuery.IsInvalid != null, t => t.IsInvalid == inQuery.IsInvalid)
 | 
			
		||||
                             .WhereIf(inQuery.IsGetBeRead,x=>!x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned)
 | 
			
		||||
                              .WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
 | 
			
		||||
                             .ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 });
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue