修改暂存
parent
ec3087efc4
commit
e7f281a03d
|
@ -8,6 +8,7 @@ using IRaCIS.Core.Infrastructure;
|
||||||
using IRaCIS.Core.Infrastructure.Extention;
|
using IRaCIS.Core.Infrastructure.Extention;
|
||||||
using MathNet.Numerics;
|
using MathNet.Numerics;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Linq.Dynamic.Core;
|
using System.Linq.Dynamic.Core;
|
||||||
|
|
||||||
|
@ -872,6 +873,9 @@ namespace IRaCIS.Core.Application
|
||||||
CriterionName = g.Key.CriterionName,
|
CriterionName = g.Key.CriterionName,
|
||||||
TrialReadingCriterionId = g.Key.TrialReadingCriterionId,
|
TrialReadingCriterionId = g.Key.TrialReadingCriterionId,
|
||||||
|
|
||||||
|
#region 不能对包含聚合或子查询的表达式执行聚合函数
|
||||||
|
|
||||||
|
#endregion
|
||||||
//UrgentCount = g.Where(u => u.VisitTask.IsUrgent
|
//UrgentCount = g.Where(u => u.VisitTask.IsUrgent
|
||||||
//&& u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.MIM).Count(),
|
//&& u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.MIM).Count(),
|
||||||
|
|
||||||
|
@ -914,17 +918,35 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
#region 废弃不能对包含聚合或子查询的表达式执行聚合函数
|
#region 废弃不能对包含聚合或子查询的表达式执行聚合函数
|
||||||
|
|
||||||
var query = _taskMedicalReviewRepository
|
|
||||||
.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
#endregion
|
||||||
.Where(t => t.IsClosedDialog == false)
|
|
||||||
.GroupBy(t => new
|
var subquery = _taskMedicalReviewRepository
|
||||||
|
.Where(t => t.Trial.TrialUserList.Any(tu => tu.UserId == _userInfo.Id))
|
||||||
|
.Where(t => !t.IsClosedDialog)
|
||||||
|
.Select(t => new
|
||||||
{
|
{
|
||||||
t.TrialId,
|
t.TrialId,
|
||||||
t.Trial.ResearchProgramNo,
|
t.Trial.ResearchProgramNo,
|
||||||
t.Trial.ExperimentName,
|
t.Trial.ExperimentName,
|
||||||
t.Trial.TrialCode,
|
t.Trial.TrialCode,
|
||||||
t.VisitTask.TrialReadingCriterionId,
|
t.VisitTask.TrialReadingCriterionId,
|
||||||
t.VisitTask.TrialReadingCriterion.CriterionName
|
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()
|
.Select(g => new MedicalCommentsToBeDoneDto()
|
||||||
{
|
{
|
||||||
|
@ -933,45 +955,12 @@ namespace IRaCIS.Core.Application
|
||||||
ExperimentName = g.Key.ExperimentName,
|
ExperimentName = g.Key.ExperimentName,
|
||||||
TrialCode = g.Key.TrialCode,
|
TrialCode = g.Key.TrialCode,
|
||||||
CriterionName = g.Key.CriterionName,
|
CriterionName = g.Key.CriterionName,
|
||||||
|
UrgentCount = g.Count(t => t.IsIndependentReviewer ),
|
||||||
//UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First())
|
ToBeReplyedCount = g.Count(t => t.IsIndependentReviewer),
|
||||||
//.Count(t => t.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer),
|
ToBeReviewedCount = g.Count(t => !t.IsInvalid && t.AuditState != MedicalReviewAuditState.HaveSigned)
|
||||||
|
|
||||||
//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 list = query.ToList();
|
||||||
//var query = _trialReadingCriterionRepository
|
|
||||||
// .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()
|
|
||||||
|
|
||||||
// });
|
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
|
@ -1206,11 +1195,11 @@ namespace IRaCIS.Core.Application
|
||||||
.Where(t => t.IsClosedDialog == false)
|
.Where(t => t.IsClosedDialog == false)
|
||||||
.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer).Count() : 0,
|
.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer).Count() : 0,
|
||||||
|
|
||||||
Medical_MIM_ToBeReviewedCount=
|
Medical_MIM_ToBeReviewedCount =
|
||||||
(t.User.UserTypeEnum == UserTypeEnum.MIM) ?
|
(t.User.UserTypeEnum == UserTypeEnum.MIM) ?
|
||||||
t.Trial.TaskMedicalReviewList
|
t.Trial.TaskMedicalReviewList
|
||||||
.Where(t => t.IsClosedDialog == false)
|
.Where(t => t.IsClosedDialog == false)
|
||||||
.Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count():0
|
.Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count() : 0
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue