医学审核修改,暂时不让报错,需要修改之前的接口,待定
parent
faafc8fdfc
commit
1e5edd1c4c
|
@ -917,50 +917,37 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
|
||||
#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
|
||||
|
||||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue