医学审核修改,暂时不让报错,需要修改之前的接口,待定
							parent
							
								
									faafc8fdfc
								
							
						
					
					
						commit
						1e5edd1c4c
					
				| 
						 | 
					@ -917,50 +917,37 @@ namespace IRaCIS.Core.Application
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #region 废弃不能对包含聚合或子查询的表达式执行聚合函数
 | 
					            #region 废弃不能对包含聚合或子查询的表达式执行聚合函数
 | 
				
			||||||
 | 
					            var query = _taskMedicalReviewRepository
 | 
				
			||||||
 | 
					                    .Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
 | 
				
			||||||
 | 
					                   .Where(t => t.IsClosedDialog == false)
 | 
				
			||||||
 | 
					                   .GroupBy(t => new
 | 
				
			||||||
 | 
					                   {
 | 
				
			||||||
 | 
					                       t.TrialId,
 | 
				
			||||||
 | 
					                       t.Trial.ResearchProgramNo,
 | 
				
			||||||
 | 
					                       t.Trial.ExperimentName,
 | 
				
			||||||
 | 
					                       t.Trial.TrialCode,
 | 
				
			||||||
 | 
					                       t.VisitTask.TrialReadingCriterionId,
 | 
				
			||||||
 | 
					                       t.VisitTask.TrialReadingCriterion.CriterionName
 | 
				
			||||||
 | 
					                   })
 | 
				
			||||||
 | 
					                   .Select(g => new MedicalCommentsToBeDoneDto()
 | 
				
			||||||
 | 
					                   {
 | 
				
			||||||
 | 
					                       TrialId = g.Key.TrialId,
 | 
				
			||||||
 | 
					                       ResearchProgramNo = g.Key.ResearchProgramNo,
 | 
				
			||||||
 | 
					                       ExperimentName = g.Key.ExperimentName,
 | 
				
			||||||
 | 
					                       TrialCode = g.Key.TrialCode,
 | 
				
			||||||
 | 
					                       CriterionName = g.Key.CriterionName,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                       //UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First()).Count(t => t.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                       //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()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                   });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #endregion
 | 
					            #endregion
 | 
				
			||||||
            
 | 
					 | 
				
			||||||
    var subquery = _taskMedicalReviewRepository
 | 
					 | 
				
			||||||
        .Where(t => t.Trial.TrialUserList.Any(tu => tu.UserId == _userInfo.Id))
 | 
					 | 
				
			||||||
        .Where(t => !t.IsClosedDialog)
 | 
					 | 
				
			||||||
        .Select(t => new
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            t.TrialId,
 | 
					 | 
				
			||||||
            t.Trial.ResearchProgramNo,
 | 
					 | 
				
			||||||
            t.Trial.ExperimentName,
 | 
					 | 
				
			||||||
            t.Trial.TrialCode,
 | 
					 | 
				
			||||||
            t.VisitTask.TrialReadingCriterionId,
 | 
					 | 
				
			||||||
            t.VisitTask.TrialReadingCriterion.CriterionName,
 | 
					 | 
				
			||||||
           
 | 
					 | 
				
			||||||
            IsIndependentReviewer = (t.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).FirstOrDefault().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer),
 | 
					 | 
				
			||||||
            IsInvalid = t.IsInvalid,
 | 
					 | 
				
			||||||
            AuditState = t.AuditState
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var query = subquery
 | 
					 | 
				
			||||||
    .GroupBy(t => new
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        t.TrialId,
 | 
					 | 
				
			||||||
        t.ResearchProgramNo,
 | 
					 | 
				
			||||||
        t.ExperimentName,
 | 
					 | 
				
			||||||
        t.TrialCode,
 | 
					 | 
				
			||||||
        t.TrialReadingCriterionId,
 | 
					 | 
				
			||||||
        t.CriterionName
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
    .Select(g => new MedicalCommentsToBeDoneDto()
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        TrialId = g.Key.TrialId,
 | 
					 | 
				
			||||||
        ResearchProgramNo = g.Key.ResearchProgramNo,
 | 
					 | 
				
			||||||
        ExperimentName = g.Key.ExperimentName,
 | 
					 | 
				
			||||||
        TrialCode = g.Key.TrialCode,
 | 
					 | 
				
			||||||
        CriterionName = g.Key.CriterionName,
 | 
					 | 
				
			||||||
        UrgentCount = g.Count(t => t.IsIndependentReviewer ),
 | 
					 | 
				
			||||||
        ToBeReplyedCount = g.Count(t => t.IsIndependentReviewer),
 | 
					 | 
				
			||||||
        ToBeReviewedCount = g.Count(t => !t.IsInvalid && t.AuditState != MedicalReviewAuditState.HaveSigned)
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var list = query.ToList();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(MedicalCommentsToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc);
 | 
					            var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(MedicalCommentsToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue