修改无全局bug
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-12-10 14:08:45 +08:00
parent 6b02c03f7f
commit 5e34a41902
1 changed files with 9 additions and 12 deletions

View File

@ -1664,7 +1664,7 @@ namespace IRaCIS.Core.Application.Service.Common
{
//最大的完成的全局未产生裁判
if (visitItem.VisitTaskNum < subjectMaxFinishedGlobalTaskNum)
if (visitItem.VisitTaskNum <= subjectMaxFinishedGlobalTaskNum)
{
visitItem.IsTrigerJudge = false;
@ -2370,8 +2370,8 @@ namespace IRaCIS.Core.Application.Service.Common
//2、完成阅片的病例数QR1,R2均完成阅片的访视数
exportInfo.VisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned)
.GroupBy(t => new { t.SubjectId, t.SourceSubjectVisitId })
.Where(g => g.Count() == 2).Select(g => g.Key.SourceSubjectVisitId).Distinct().Count();
.GroupBy(t => new { t.SubjectId, t.VisitTaskNum })
.Where(g => g.Count() == 2).Select(g => g.Key.VisitTaskNum).Distinct().Count();
//裁判不需要完成阅片
exportInfo.JudgeVisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Judge).Count();
@ -2465,13 +2465,13 @@ namespace IRaCIS.Core.Application.Service.Common
exportInfo.SubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t =>
t.SubjectVisitTaskList.AsQueryable().Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Global && t.ReadingTaskState == ReadingTaskState.HaveSigned)
.GroupBy(t => new { t.SubjectId, t.SouceReadModuleId }).Where(g => g.Count() == 2).Any()
.GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2).Any()
).Count();
//最后一个已完成的全局 没产生裁判 (之前有裁判),不算入裁判量
exportInfo.judgeSubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t =>
t.SubjectVisitTaskList.AsQueryable().Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Global && t.ReadingTaskState == ReadingTaskState.HaveSigned)
.GroupBy(t => new { t.SubjectId, t.SouceReadModuleId, t.VisitTaskNum }).Where(g => g.Count() == 2 && g.Key.VisitTaskNum == g.Max(t => t.VisitTaskNum)).Any(g => g.Any(t => t.JudgeVisitTaskId != null))
.GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2 && g.Key.VisitTaskNum == g.Max(t => t.VisitTaskNum)).Any(g => g.Any(t => t.JudgeVisitTaskId != null))
).Count();
exportInfo.DoctorSubjectStatList = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned)
@ -2488,9 +2488,10 @@ namespace IRaCIS.Core.Application.Service.Common
.Select(t => t.SubjectId).Distinct().Count(),
// G-2 G-4 可能选择的是不同的医生,要以最后一次选择的为准
JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned
&& t.JudgeVisitTask.JudgeResultTaskId == t.Id
&& t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).Max(t => t.VisitTaskNum))
JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).Max(t => t.VisitTaskNum)
&& t.JudgeVisitTask.JudgeResultTaskId == t.Id
)
.Select(t => t.SubjectId).Distinct().Count(),
}).ToList();
@ -2600,11 +2601,7 @@ namespace IRaCIS.Core.Application.Service.Common
}
return await ExcelExportHelper.DataExportAsync(StaticData.Export.ReadingPeriodJudgeRatio_Export, exportInfo, $"{exportInfo.ResearchProgramNo}_{exportInfo.CriterionName}", _commonDocumentRepository, _hostEnvironment);
}
else
{