肿瘤学修改
parent
36d2203e4c
commit
03f514d5fe
|
@ -376,41 +376,75 @@ namespace IRaCIS.Application.Services
|
||||||
if (readModuleInfo != null)
|
if (readModuleInfo != null)
|
||||||
{
|
{
|
||||||
// 先找到对应的全局阅片模块Id
|
// 先找到对应的全局阅片模块Id
|
||||||
var globalreadModuleId = await _readModuleRepository.Where(x => x.SubjectVisitId == readModuleInfo.SubjectVisitId &&
|
var globalreadModule = await _readModuleRepository.Where(x => x.SubjectVisitId == readModuleInfo.SubjectVisitId &&
|
||||||
x.TrialReadingCriterionId== readModuleInfo.TrialReadingCriterionId&&
|
x.TrialReadingCriterionId== readModuleInfo.TrialReadingCriterionId&&
|
||||||
x.ModuleType == ModuleTypeEnum.Global).Include(x=>x.SubjectVisit).Select(x => x.Id).FirstOrDefaultAsync();
|
x.ModuleType == ModuleTypeEnum.Global).Include(x=>x.SubjectVisit).FirstOrDefaultAsync();
|
||||||
|
// 获取系统配置
|
||||||
// 找到一个全局阅片任务是否有裁判任务
|
var readingType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == readModuleInfo.TrialReadingCriterionId).Select(x => x.ReadingType).FirstOrDefaultAsync();
|
||||||
|
if (globalreadModule != null)
|
||||||
var judgeVisitTaskId = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModuleId && x.TaskState == TaskState.Effect
|
|
||||||
&& x.ReadingCategory == ReadingCategory.Global
|
|
||||||
&& x.ReadingTaskState == ReadingTaskState.HaveSigned).Select(x => x.JudgeVisitTaskId).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
// 要判断是否为老裁判任务的Id
|
|
||||||
if (judgeVisitTaskId != null)
|
|
||||||
{
|
{
|
||||||
// 如果不存在有效的裁判
|
// 找到一个全局阅片任务是否有裁判任务
|
||||||
if (!(await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId && x.TaskState == TaskState.Effect)))
|
|
||||||
|
var judgeVisitTaskId = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModule.Id && x.TaskState == TaskState.Effect
|
||||||
|
&& x.ReadingCategory == ReadingCategory.Global
|
||||||
|
&& x.ReadingTaskState == ReadingTaskState.HaveSigned).Select(x => x.JudgeVisitTaskId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
// 要判断是否为老裁判任务的Id
|
||||||
|
if (judgeVisitTaskId != null)
|
||||||
{
|
{
|
||||||
judgeVisitTaskId = null;
|
// 如果不存在有效的裁判
|
||||||
|
if (!(await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId && x.TaskState == TaskState.Effect)))
|
||||||
|
{
|
||||||
|
judgeVisitTaskId = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 判断阅片是否完成
|
||||||
|
if (judgeVisitTaskId == null && (await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModule.Id && x.TaskState == TaskState.Effect && x.ReadingCategory == ReadingCategory.Global
|
||||||
|
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate && x.TrialReadingCriterionId == readModuleInfo.TrialReadingCriterionId
|
||||||
|
).CountAsync() == (int)readingType))
|
||||||
|
{
|
||||||
|
|
||||||
|
finishReading = true;
|
||||||
|
}
|
||||||
|
else if (judgeVisitTaskId != null && (await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId.Value && x.JudgeResultTaskId != null && x.ReadingTaskState == ReadingTaskState.HaveSigned)))
|
||||||
|
{
|
||||||
|
finishReading = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取系统配置
|
else {
|
||||||
var readingType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == readModuleInfo.TrialReadingCriterionId).Select(x => x.ReadingType).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
// 判断阅片是否完成
|
var judgeVisitTaskId = await _visitTaskRepository.Where(x => x.SourceSubjectVisitId == readModuleInfo.SubjectVisitId && x.TaskState == TaskState.Effect
|
||||||
if (judgeVisitTaskId == null && (await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModuleId && x.TaskState == TaskState.Effect && x.ReadingCategory == ReadingCategory.Global
|
&&x.TrialReadingCriterionId== readModuleInfo.TrialReadingCriterionId
|
||||||
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate && x.TrialReadingCriterionId == readModuleInfo.TrialReadingCriterionId
|
&& x.ReadingTaskState == ReadingTaskState.HaveSigned).Select(x => x.JudgeVisitTaskId).FirstOrDefaultAsync();
|
||||||
).CountAsync() == (int)readingType))
|
// 要判断是否为老裁判任务的Id
|
||||||
{
|
if (judgeVisitTaskId != null)
|
||||||
|
{
|
||||||
|
// 如果不存在有效的裁判
|
||||||
|
if (!(await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId && x.TaskState == TaskState.Effect)))
|
||||||
|
{
|
||||||
|
judgeVisitTaskId = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断阅片是否完成
|
||||||
|
if (judgeVisitTaskId == null && (await _visitTaskRepository.Where(x => x.SourceSubjectVisitId == readModuleInfo.SubjectVisitId && x.TaskState == TaskState.Effect
|
||||||
|
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate && x.TrialReadingCriterionId == readModuleInfo.TrialReadingCriterionId
|
||||||
|
).CountAsync() == (int)readingType))
|
||||||
|
{
|
||||||
|
|
||||||
|
finishReading = true;
|
||||||
|
}
|
||||||
|
else if (judgeVisitTaskId != null && (await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId.Value && x.JudgeResultTaskId != null && x.ReadingTaskState == ReadingTaskState.HaveSigned)))
|
||||||
|
{
|
||||||
|
finishReading = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
finishReading = true;
|
|
||||||
}
|
|
||||||
else if (judgeVisitTaskId != null && (await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId.Value&&x.JudgeResultTaskId!=null && x.ReadingTaskState == ReadingTaskState.HaveSigned)))
|
|
||||||
{
|
|
||||||
finishReading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (finishReading)
|
if (finishReading)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue