Uat_Study
parent
4e63395a35
commit
67d2067a28
|
@ -1373,11 +1373,21 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<string> GetComparedTriggeringSODChange(ReadingCalculateDto inDto)
|
public async Task<string> GetComparedTriggeringSODChange(ReadingCalculateDto inDto)
|
||||||
{
|
{
|
||||||
var compareTaskId = await this.GetCompareTaskId(inDto,QuestionType.TargetLesion);
|
var compareTaskId = await this.GetCompareTaskId(inDto, QuestionType.TargetLesion);
|
||||||
if (compareTaskId == null)
|
if (compareTaskId == null)
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var lastTaskId = await GetLastVisitTaskId(inDto);
|
||||||
|
// 靶病灶评估为IUPD或者ICPD
|
||||||
|
|
||||||
|
var targetLesionIsIUorIC = await _readingTaskQuestionAnswerRepository.AnyAsync(x => x.VisitTaskId == lastTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.TargetLesion && (x.Answer==TargetAssessment.iUPD.GetEnumInt()|| x.Answer==TargetAssessment.iCPD.GetEnumInt()));
|
||||||
|
if (!targetLesionIsIUorIC)
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
var compareTaskSOD = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == compareTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
var compareTaskSOD = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == compareTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
||||||
|
|
||||||
var value = await GetSODData(inDto);
|
var value = await GetSODData(inDto);
|
||||||
|
@ -1458,6 +1468,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var lastTaskId = await GetLastVisitTaskId(inDto);
|
||||||
|
|
||||||
|
// 新靶病灶为IUPD或者ICPD
|
||||||
|
var newTargetLesionIsIUorIC = await _readingTaskQuestionAnswerRepository.AnyAsync(x => x.VisitTaskId == lastTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.NewTargetLesion && (x.Answer==NewTargetLesionAssessment.iUPD.GetEnumInt() || x.Answer==NewTargetLesionAssessment.iCPD.GetEnumInt()));
|
||||||
|
if (!newTargetLesionIsIUorIC)
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
var compareTaskiSOD = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == compareTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.ISOD).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
var compareTaskiSOD = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == compareTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.ISOD).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
||||||
|
|
||||||
var value = await GetiSODData(inDto);
|
var value = await GetiSODData(inDto);
|
||||||
|
@ -1758,56 +1778,55 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
QuestionType = x.ReadingQuestionTrial.QuestionType.Value
|
QuestionType = x.ReadingQuestionTrial.QuestionType.Value
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
compareTaskList.ForEach(x =>
|
compareTaskList.ForEach(y =>
|
||||||
{
|
{
|
||||||
x.TargetAssessmentIsIUorIC = answers.Any(x => questionType == QuestionType.TargetLesion && (x.Answer == TargetAssessment.iUPD.GetEnumInt() || x.Answer == TargetAssessment.iCPD.GetEnumInt()));
|
y.TargetAssessmentIsIUorIC = answers.Any(x =>x.VisitTaskId==y.VisitTaskId && x.QuestionType == QuestionType.TargetLesion && (x.Answer == TargetAssessment.iUPD.GetEnumInt() || x.Answer == TargetAssessment.iCPD.GetEnumInt()));
|
||||||
x.NewTargetLesionAssessmentIsIUorIC = answers.Any(x => questionType == QuestionType.NewTargetLesion && (x.Answer == NewTargetLesionAssessment.iUPD.GetEnumInt() || x.Answer == NewTargetLesionAssessment.iCPD.GetEnumInt()));
|
y.NewTargetLesionAssessmentIsIUorIC = answers.Any(x => x.VisitTaskId == y.VisitTaskId && x.QuestionType == QuestionType.NewTargetLesion && (x.Answer == NewTargetLesionAssessment.iUPD.GetEnumInt() || x.Answer == NewTargetLesionAssessment.iCPD.GetEnumInt()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Guid? compareTaskId = null;
|
Guid? compareTaskId = null;
|
||||||
if(compareTaskList.Count()==0)
|
if(compareTaskList.Count()==0)
|
||||||
{
|
{
|
||||||
return compareTaskId;
|
return compareTaskId;
|
||||||
}
|
}
|
||||||
int index = 0;
|
|
||||||
switch (questionType)
|
switch (questionType)
|
||||||
{
|
{
|
||||||
case QuestionType.TargetLesion:
|
case QuestionType.TargetLesion:
|
||||||
index = compareTaskList.FindLastIndex(x => x.TargetAssessmentIsIUorIC);
|
|
||||||
if (index == -1)
|
for (int i = compareTaskList.Count()-1; i>=0; i--)
|
||||||
|
{
|
||||||
|
if (i == 0)
|
||||||
{
|
{
|
||||||
return compareTaskList[0].VisitTaskId;
|
return compareTaskList[0].VisitTaskId;
|
||||||
}
|
}
|
||||||
else if (index > 0 && !compareTaskList[index-1].TargetAssessmentIsIUorIC)
|
|
||||||
{
|
|
||||||
return compareTaskList[index-1].VisitTaskId;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return compareTaskList[0].VisitTaskId;
|
if (compareTaskList[i].TargetAssessmentIsIUorIC && !compareTaskList[i - 1].TargetAssessmentIsIUorIC)
|
||||||
|
{
|
||||||
|
return compareTaskList[i].VisitTaskId;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case QuestionType.NewTargetLesion:
|
case QuestionType.NewTargetLesion:
|
||||||
index = compareTaskList.FindLastIndex(x => x.NewTargetLesionAssessmentIsIUorIC);
|
|
||||||
if (index == -1)
|
for (int i = compareTaskList.Count() - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
if (i == 0)
|
||||||
{
|
{
|
||||||
return compareTaskList[0].VisitTaskId;
|
return compareTaskList[0].VisitTaskId;
|
||||||
}
|
}
|
||||||
else if (index > 0 && !compareTaskList[index - 1].NewTargetLesionAssessmentIsIUorIC)
|
|
||||||
{
|
|
||||||
return compareTaskList[index - 1].VisitTaskId;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return compareTaskList[0].VisitTaskId;
|
if (compareTaskList[i].NewTargetLesionAssessmentIsIUorIC && !compareTaskList[i - 1].NewTargetLesionAssessmentIsIUorIC)
|
||||||
|
{
|
||||||
|
return compareTaskList[i].VisitTaskId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return compareTaskId;
|
return compareTaskId;
|
||||||
|
|
Loading…
Reference in New Issue