增加条件
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
828bd38eab
commit
8ff23af18c
|
@ -2485,13 +2485,12 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
|
|
||||||
var subjectReadingPeriodDoctorList = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned)
|
var subjectReadingPeriodDoctorList = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
.Where(t => t.Subject.ReadModuleList.Any(c => c.SubjectVisit.VisitNum == (t.VisitTaskNum - addReadingPeriodNum) && c.TrialReadingCriterionId == trialReadingCriterionId))
|
.Where(t => t.Subject.ReadModuleList.Any(c => c.SubjectVisit.VisitNum == (t.VisitTaskNum - addReadingPeriodNum) && c.TrialReadingCriterionId == trialReadingCriterionId))
|
||||||
.GroupBy(t => new { t.SubjectId, t.VisitTaskNum, t.JudgeVisitTaskId })
|
.GroupBy(t => new { t.SubjectId, t.VisitTaskNum })
|
||||||
.Where(g => g.Count() == 2)
|
.Where(g => g.Count() == 2)
|
||||||
.Select(g => new
|
.Select(g => new
|
||||||
{
|
{
|
||||||
g.Key.SubjectId,
|
g.Key.SubjectId,
|
||||||
g.Key.VisitTaskNum,
|
g.Key.VisitTaskNum,
|
||||||
g.Key.JudgeVisitTaskId,
|
|
||||||
|
|
||||||
GlobalList = g.Select(t => new
|
GlobalList = g.Select(t => new
|
||||||
{
|
{
|
||||||
|
@ -2503,31 +2502,60 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
t.JudgeVisitTaskId,
|
t.JudgeVisitTaskId,
|
||||||
t.ReadingTaskState,
|
t.ReadingTaskState,
|
||||||
t.JudgeVisitTask.JudgeResultTaskId,
|
t.JudgeVisitTask.JudgeResultTaskId,
|
||||||
JudgeTaskState = (ReadingTaskState?)t.JudgeVisitTask.ReadingTaskState
|
JudgeTaskState = (ReadingTaskState?)t.JudgeVisitTask.ReadingTaskState
|
||||||
}).ToList()
|
}).ToList()
|
||||||
})
|
})
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
|
#region 调试注释
|
||||||
|
//var cc = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
|
||||||
|
|
||||||
|
// .Where(g => g.OrderByDescending(x => x.VisitTaskNum).First().GlobalList.Any(c => c.JudgeVisitTaskId != null))
|
||||||
|
|
||||||
|
// .ToList();
|
||||||
|
|
||||||
|
//var ss = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
|
||||||
|
// //最后一个全局没有产生裁判的subject要过滤掉 过滤后
|
||||||
|
// .Where(g => g.OrderByDescending(x => x.VisitTaskNum).First().GlobalList.Any(c => c.JudgeVisitTaskId != null))
|
||||||
|
|
||||||
|
// .Select(g => g.Where(c => c.GlobalList.Any(k => k.JudgeTaskState == ReadingTaskState.HaveSigned)).OrderByDescending(c => c.VisitTaskNum).FirstOrDefault())
|
||||||
|
|
||||||
|
// .ToList();
|
||||||
|
|
||||||
|
|
||||||
|
//var kk = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
|
||||||
|
// //最后一个全局没有产生裁判的subject要过滤掉 过滤后
|
||||||
|
// .Where(g => g.OrderByDescending(x => x.VisitTaskNum).First().GlobalList.Any(c => c.JudgeVisitTaskId != null))
|
||||||
|
// // 存在 已完成的全局裁判
|
||||||
|
// .Where(subg => subg.Any(t => t.GlobalList.Any(c => c.JudgeTaskState == ReadingTaskState.HaveSigned)))
|
||||||
|
// .Select(g => g.Where(c => c.GlobalList.Any(k => k.JudgeTaskState == ReadingTaskState.HaveSigned)).OrderByDescending(c => c.VisitTaskNum).FirstOrDefault())
|
||||||
|
|
||||||
|
// .ToList();
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var filteredList = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
|
var filteredList = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
|
||||||
//最后一个全局没有产生裁判的subject要过滤掉 过滤后
|
//最后一个全局没有产生裁判的subject要过滤掉 过滤后
|
||||||
.Where(g=>g.OrderByDescending(x=>x.VisitTaskNum).First().GlobalList.Any(c=>c.JudgeVisitTaskId != null))
|
.Where(g => g.OrderByDescending(x => x.VisitTaskNum).First().GlobalList.Any(c => c.JudgeVisitTaskId != null))
|
||||||
//找到最大完成裁判的阅片期 // 每个subject 仅仅留最后一个全局
|
// subject 存在 已完成的全局裁判
|
||||||
.Select(g => g.Where(c => c.GlobalList.Any(k => k.JudgeTaskState == ReadingTaskState.HaveSigned)).OrderByDescending(c => c.VisitTaskNum).First())
|
.Where(subg => subg.Any(t => t.GlobalList.Any(c => c.JudgeTaskState == ReadingTaskState.HaveSigned)))
|
||||||
|
//找到最大完成裁判的阅片期 // 每个subject 仅仅留最后一个已完成的全局
|
||||||
|
.Select(g => g.Where(c => c.GlobalList.Any(k => k.JudgeTaskState == ReadingTaskState.HaveSigned)).OrderByDescending(c => c.VisitTaskNum).FirstOrDefault())
|
||||||
.SelectMany(t => t.GlobalList.Select(u => new
|
.SelectMany(t => t.GlobalList.Select(u => new
|
||||||
{
|
{
|
||||||
t.SubjectId,
|
t.SubjectId,
|
||||||
t.VisitTaskNum,
|
t.VisitTaskNum,
|
||||||
t.JudgeVisitTaskId,
|
u.JudgeVisitTaskId,
|
||||||
u.DoctorUserId,
|
u.DoctorUserId,
|
||||||
u.UserName,
|
u.UserName,
|
||||||
u.FullName,
|
u.FullName,
|
||||||
u.JudgeResultTaskId,
|
u.JudgeResultTaskId,
|
||||||
VisitTaskId = u.Id
|
VisitTaskId = u.Id
|
||||||
}))
|
}))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
exportInfo.DoctorSubjectStatList= filteredList.GroupBy(t => new { t.DoctorUserId, t.UserName, t.FullName }).Select(g=>new DoctorJudgeRatio()
|
exportInfo.DoctorSubjectStatList = filteredList.GroupBy(t => new { t.DoctorUserId, t.UserName, t.FullName }).Select(g => new DoctorJudgeRatio()
|
||||||
{
|
{
|
||||||
DoctorUserId = g.Key.DoctorUserId,
|
DoctorUserId = g.Key.DoctorUserId,
|
||||||
UserName = g.Key.UserName,
|
UserName = g.Key.UserName,
|
||||||
|
@ -2535,7 +2563,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
|
|
||||||
TotalJudgeCount = g.Count(),
|
TotalJudgeCount = g.Count(),
|
||||||
|
|
||||||
JudgeAgreeCount = g.Count(t=>t.JudgeResultTaskId==t.VisitTaskId)
|
JudgeAgreeCount = g.Count(t => t.JudgeResultTaskId == t.VisitTaskId)
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue