统计数字换成分组统计子查询
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
parent
de0cb6788e
commit
4e20a86155
|
|
@ -289,7 +289,7 @@ namespace IRaCIS.Application.Contracts
|
|||
public List<TrialCriterionReadingCategory> CriterionReadingCategoryList { get; set; }
|
||||
|
||||
//任务阅片状态
|
||||
public List<DoctorUserTask> ReadingTaskStateList { get; set; } = new List<DoctorUserTask>();
|
||||
public List<DoctorTaskStat> ReadingTaskStateList { get; set; } = new List<DoctorTaskStat>();
|
||||
|
||||
public List<CriterionFile> CriterionFileList { get; set; } = new List<CriterionFile>();
|
||||
|
||||
|
|
@ -299,11 +299,17 @@ namespace IRaCIS.Application.Contracts
|
|||
new CriterionReadingCategory()
|
||||
{
|
||||
EnrollId = EnrollId,
|
||||
PendingCount = ReadingTaskStateList.Where(x => x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == t.TrialReadingCriterionId).Count(),
|
||||
//PendingCount = ReadingTaskStateList.Where(x => x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == t.TrialReadingCriterionId).Count(),
|
||||
|
||||
ComplectedCount = ReadingTaskStateList.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == t.TrialReadingCriterionId).Count(),
|
||||
//ComplectedCount = ReadingTaskStateList.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == t.TrialReadingCriterionId).Count(),
|
||||
|
||||
TotalCount = ReadingTaskStateList.Where(x => x.TrialReadingCriterionId == t.TrialReadingCriterionId).Count(),
|
||||
//TotalCount = ReadingTaskStateList.Where(x => x.TrialReadingCriterionId == t.TrialReadingCriterionId).Count(),
|
||||
|
||||
PendingCount = ReadingTaskStateList.Where(x => x.TrialReadingCriterionId == t.TrialReadingCriterionId).FirstOrDefault()?.PendingCount,
|
||||
|
||||
ComplectedCount = ReadingTaskStateList.Where(x => x.TrialReadingCriterionId == t.TrialReadingCriterionId).FirstOrDefault()?.ComplectedCount,
|
||||
|
||||
TotalCount = ReadingTaskStateList.Where(x => x.TrialReadingCriterionId == t.TrialReadingCriterionId).FirstOrDefault()?.TotalCount,
|
||||
|
||||
StatementCriterionFileList = CriterionFileList.Where(x => x.CriterionType == t.CriterionType && x.FileType == CriterionFileType.Statement)
|
||||
.WhereIf(t.CriterionType == CriterionType.SelfDefine, x => x.TrialReadingCriterionId == t.TrialReadingCriterionId).ToList(),
|
||||
|
|
@ -348,6 +354,19 @@ namespace IRaCIS.Application.Contracts
|
|||
public Guid TrialReadingCriterionId { get; set; }
|
||||
}
|
||||
|
||||
public class DoctorTaskStat
|
||||
{
|
||||
public CriterionType? CriterionType { get; set; }
|
||||
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public int PendingCount { get; set; }
|
||||
|
||||
public int ComplectedCount { get; set; }
|
||||
|
||||
public int TotalCount { get; set; }
|
||||
}
|
||||
|
||||
public class TrialReadingCriterionDto
|
||||
{
|
||||
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
|
||||
|
|
@ -435,11 +454,11 @@ namespace IRaCIS.Application.Contracts
|
|||
/// <summary>
|
||||
/// 待办数量
|
||||
/// </summary>
|
||||
public int PendingCount { get; set; }
|
||||
public int? PendingCount { get; set; }
|
||||
|
||||
public int ComplectedCount { get; set; }
|
||||
public int? ComplectedCount { get; set; }
|
||||
|
||||
public int TotalCount { get; set; }
|
||||
public int? TotalCount { get; set; }
|
||||
|
||||
public List<CriterionFile> StatementCriterionFileList { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -242,11 +242,15 @@ namespace IRaCIS.Core.Application.Service
|
|||
Id = x.Id
|
||||
}).ToList(),
|
||||
|
||||
ReadingTaskStateList = intoGroup.DoctorUser.VisitTaskList.Where(t => t.TrialReadingCriterion.IsConfirm).Where(x => x.TaskState == TaskState.Effect && x.TrialId == trialId).Select(x => new DoctorUserTask()
|
||||
ReadingTaskStateList = intoGroup.DoctorUser.VisitTaskList.Where(t => t.TrialReadingCriterion.IsConfirm).Where(x => x.TaskState == TaskState.Effect && x.TrialId == trialId).GroupBy(x => new { x.TrialReadingCriterionId, x.TrialReadingCriterion.CriterionType }).Select(g => new DoctorTaskStat()
|
||||
{
|
||||
ReadingTaskState = x.ReadingTaskState,
|
||||
TrialReadingCriterionId = x.TrialReadingCriterionId,
|
||||
CriterionType = x.TrialReadingCriterion.CriterionType,
|
||||
|
||||
|
||||
PendingCount = g.Count(x => x.ReadingTaskState != ReadingTaskState.HaveSigned),
|
||||
TotalCount = g.Count(),
|
||||
ComplectedCount = g.Count(x => x.ReadingTaskState == ReadingTaskState.HaveSigned),
|
||||
TrialReadingCriterionId = g.Key.TrialReadingCriterionId,
|
||||
CriterionType = g.Key.CriterionType,
|
||||
|
||||
}).ToList(),
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue