修改警告
parent
a8e0c1691d
commit
8cc9cb8caf
|
@ -133,6 +133,7 @@ dotnet_diagnostic.CS8619.severity = none
|
||||||
dotnet_diagnostic.CS8620.severity = none
|
dotnet_diagnostic.CS8620.severity = none
|
||||||
dotnet_diagnostic.CS8632.severity = none
|
dotnet_diagnostic.CS8632.severity = none
|
||||||
dotnet_diagnostic.CS8604.severity = none
|
dotnet_diagnostic.CS8604.severity = none
|
||||||
|
dotnet_diagnostic.CS1998.severity = none
|
||||||
|
|
||||||
[*.vb]
|
[*.vb]
|
||||||
#### 命名样式 ####
|
#### 命名样式 ####
|
||||||
|
|
|
@ -522,7 +522,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var generateVisitIdList = idList.Except(haveGenerateVisitIdList);
|
var generateVisitIdList = idList.Except(haveGenerateVisitIdList);
|
||||||
|
|
||||||
await _IVisitTaskHelpeService.BaseCritrionGenerateVisitTask(batchGenerateTaskCommand.TrialId, batchGenerateTaskCommand.TrialReadingCriterionId, true, generateVisitIdList.Select(t => (Guid)t).ToList());
|
await _IVisitTaskHelpeService.BaseCritrionGenerateVisitTask(batchGenerateTaskCommand.TrialId, batchGenerateTaskCommand.TrialReadingCriterionId, true, generateVisitIdList.Select(t => (Guid)t.Value).ToList());
|
||||||
|
|
||||||
await _subjectCriteriaEvaluationVisitFilterRepository.SaveChangesAsync();
|
await _subjectCriteriaEvaluationVisitFilterRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
|
|
@ -342,7 +342,7 @@ namespace IRaCIS.Core.Application.Service.RC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == inDto.Id).AsNoTracking().FirstOrDefaultAsync();
|
var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == inDto.Id).AsNoTracking().FirstNotNullAsync();
|
||||||
|
|
||||||
var confirmTime = systemCriterion.ConfirmTime;
|
var confirmTime = systemCriterion.ConfirmTime;
|
||||||
|
|
||||||
|
@ -470,7 +470,7 @@ namespace IRaCIS.Core.Application.Service.RC
|
||||||
public async Task<IResponseOutput> SetTrialJudgyInfo(SetTrialJudgyInfoInDto inDto)
|
public async Task<IResponseOutput> SetTrialJudgyInfo(SetTrialJudgyInfoInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||||
|
|
||||||
var judgeCount = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id && x.IsJudgeQuestion)
|
var judgeCount = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id && x.IsJudgeQuestion)
|
||||||
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
.WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
||||||
|
|
|
@ -460,7 +460,11 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
relation.CalculateQuestionList = calculateInfoList;
|
if (relation != null)
|
||||||
|
{
|
||||||
|
relation.CalculateQuestionList = calculateInfoList;
|
||||||
|
}
|
||||||
|
|
||||||
this.VerifyCalculateRelation(relationList, indto.Id.Value, indto.Id.Value);
|
this.VerifyCalculateRelation(relationList, indto.Id.Value, indto.Id.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -731,7 +735,11 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
relation.CalculateQuestionList = calculateInfoList;
|
if (relation != null)
|
||||||
|
{
|
||||||
|
relation.CalculateQuestionList = calculateInfoList;
|
||||||
|
}
|
||||||
|
|
||||||
this.VerifyCalculateRelation(relationList, indto.Id.Value, indto.Id.Value);
|
this.VerifyCalculateRelation(relationList, indto.Id.Value, indto.Id.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -231,10 +231,10 @@ namespace IRaCIS.Application.Services
|
||||||
ArmEnum = taskInfo.ArmEnum,
|
ArmEnum = taskInfo.ArmEnum,
|
||||||
VisitNum = x.SourceSubjectVisit.VisitNum,
|
VisitNum = x.SourceSubjectVisit.VisitNum,
|
||||||
IsBaseLine = x.SourceSubjectVisit.IsBaseLine,
|
IsBaseLine = x.SourceSubjectVisit.IsBaseLine,
|
||||||
VisitId = x.SourceSubjectVisitId.Value,
|
VisitId = x.SourceSubjectVisitId!.Value,
|
||||||
LesionCountList=x.LesionList.GroupBy(y=>y.ReadingQuestionTrial.LesionType).Select(x => new LesionDto
|
LesionCountList=x.LesionList.GroupBy(y=>y.ReadingQuestionTrial.LesionType).Select(x => new LesionDto
|
||||||
{
|
{
|
||||||
LesionType = x.Key.Value,
|
LesionType = x.Key!.Value,
|
||||||
Count = x.ToList().Count()
|
Count = x.ToList().Count()
|
||||||
}).ToList(),
|
}).ToList(),
|
||||||
//CrterionDictionaryGroup= x.CrterionDictionaryGroup,
|
//CrterionDictionaryGroup= x.CrterionDictionaryGroup,
|
||||||
|
@ -342,7 +342,7 @@ namespace IRaCIS.Application.Services
|
||||||
var globalAnswer = globalAnswers.Where(z => z.QuestionId == y.QuestionId&&z.TaskId==x.VisitTaskId).Select(z => z.Answer).FirstOrDefault();
|
var globalAnswer = globalAnswers.Where(z => z.QuestionId == y.QuestionId&&z.TaskId==x.VisitTaskId).Select(z => z.Answer).FirstOrDefault();
|
||||||
if (!globalAnswer.IsNullOrEmpty())
|
if (!globalAnswer.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
y.Answer = globalAnswer;
|
y.Answer = globalAnswer??string.Empty;
|
||||||
y.IsGlobalAnswer = true;
|
y.IsGlobalAnswer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -627,7 +627,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
x.IsReadingShowPreviousResults,
|
x.IsReadingShowPreviousResults,
|
||||||
x.IsReadingShowSubjectInfo
|
x.IsReadingShowSubjectInfo
|
||||||
}).FirstOrDefaultAsync();
|
}).FirstNotNullAsync();
|
||||||
var trialInfo = await _trialRepository.Where(x => x.Id == visitTask.TrialId).Select(x => new
|
var trialInfo = await _trialRepository.Where(x => x.Id == visitTask.TrialId).Select(x => new
|
||||||
{
|
{
|
||||||
x.ClinicalInformationTransmissionEnum,
|
x.ClinicalInformationTransmissionEnum,
|
||||||
|
@ -637,7 +637,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
VisitTaskId = visitTask.Id,
|
VisitTaskId = visitTask.Id,
|
||||||
SubjectId = visitTask.SubjectId,
|
SubjectId = visitTask.SubjectId,
|
||||||
SubjectCode = visitTask.BlindSubjectCode.IsNullOrEmpty() ? subjectCode : visitTask.BlindSubjectCode,
|
SubjectCode = visitTask.BlindSubjectCode.IsNullOrEmpty() ? subjectCode??string.Empty : visitTask.BlindSubjectCode,
|
||||||
ReadingCategory = visitTask.ReadingCategory,
|
ReadingCategory = visitTask.ReadingCategory,
|
||||||
TaskBlindName = visitTask.TaskBlindName,
|
TaskBlindName = visitTask.TaskBlindName,
|
||||||
IsReadingShowPreviousResults = criterionInfo.IsReadingShowPreviousResults,
|
IsReadingShowPreviousResults = criterionInfo.IsReadingShowPreviousResults,
|
||||||
|
@ -796,7 +796,7 @@ namespace IRaCIS.Application.Services
|
||||||
var groupids = questions.Where(x => x.Type != ReadingQestionType.Group).Select(x => x.GroupId).ToList();
|
var groupids = questions.Where(x => x.Type != ReadingQestionType.Group).Select(x => x.GroupId).ToList();
|
||||||
|
|
||||||
var result = questions.Where(x => x.Type == ReadingQestionType.Group && groupids.Contains(x.Id))
|
var result = questions.Where(x => x.Type == ReadingQestionType.Group && groupids.Contains(x.Id))
|
||||||
.WhereIf(groupClassifyList!=null,x=>x.GroupClassify!=null&& groupClassifyList.Contains(x.GroupClassify.Value))
|
.WhereIf(groupClassifyList!=null,x=>x.GroupClassify!=null&& groupClassifyList!=null&& groupClassifyList.Contains(x.GroupClassify.Value))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
foreach (var item in result)
|
foreach (var item in result)
|
||||||
|
@ -1342,7 +1342,7 @@ namespace IRaCIS.Application.Services
|
||||||
answers.Add("OtherNumberOfFrames", rowInfo == null || rowInfo.OtherNumberOfFrames == null ? string.Empty : rowInfo.OtherNumberOfFrames.ToString());
|
answers.Add("OtherNumberOfFrames", rowInfo == null || rowInfo.OtherNumberOfFrames == null ? string.Empty : rowInfo.OtherNumberOfFrames.ToString());
|
||||||
answers.Add("OtherMarkTool", rowInfo == null || rowInfo.OtherMarkTool == null ? string.Empty : rowInfo.OtherMarkTool.ToString());
|
answers.Add("OtherMarkTool", rowInfo == null || rowInfo.OtherMarkTool == null ? string.Empty : rowInfo.OtherMarkTool.ToString());
|
||||||
answers.Add("RowIndex", x.ToString());
|
answers.Add("RowIndex", x.ToString());
|
||||||
answers.Add("RowId", rowInfo.Id.ToString());
|
answers.Add("RowId", rowInfo==null?string.Empty: rowInfo.Id.ToString());
|
||||||
answers.Add("MarkTool", rowInfo.MarkTool);
|
answers.Add("MarkTool", rowInfo.MarkTool);
|
||||||
answers.Add("StudyId", rowInfo.StudyId.ToString());
|
answers.Add("StudyId", rowInfo.StudyId.ToString());
|
||||||
answers.Add("OrganInfoId", rowInfo.OrganInfoId.ToString());
|
answers.Add("OrganInfoId", rowInfo.OrganInfoId.ToString());
|
||||||
|
@ -1351,8 +1351,8 @@ namespace IRaCIS.Application.Services
|
||||||
answers.Add("InstanceId", rowInfo == null ? string.Empty : rowInfo.InstanceId.ToString());
|
answers.Add("InstanceId", rowInfo == null ? string.Empty : rowInfo.InstanceId.ToString());
|
||||||
answers.Add("SeriesId", rowInfo == null ? string.Empty : rowInfo.SeriesId.ToString());
|
answers.Add("SeriesId", rowInfo == null ? string.Empty : rowInfo.SeriesId.ToString());
|
||||||
answers.Add("IsCurrentTaskAdd", rowInfo == null ? false.ToString() : rowInfo.IsCurrentTaskAdd.ToString());
|
answers.Add("IsCurrentTaskAdd", rowInfo == null ? false.ToString() : rowInfo.IsCurrentTaskAdd.ToString());
|
||||||
answers.Add("SplitOrMergeLesionName", rowInfo.SplitName.IsNullOrEmpty() ? rowInfo.MergeName : rowInfo.SplitName);
|
answers.Add("SplitOrMergeLesionName", rowInfo == null ? string.Empty : rowInfo.SplitName.IsNullOrEmpty() ? rowInfo.MergeName : rowInfo.SplitName);
|
||||||
answers.Add("SplitOrMergeType", rowInfo.SplitOrMergeType == null ? string.Empty : ((int)rowInfo.SplitOrMergeType).ToString());
|
answers.Add("SplitOrMergeType", rowInfo == null ? string.Empty : rowInfo.SplitOrMergeType == null ? string.Empty : ((int)rowInfo.SplitOrMergeType).ToString());
|
||||||
answers.Add("LastTaskState", lastTaskTableAnswer.Where(n=>n.QuestionId== item.Id&&n.ReadingTableQuestionTrial.QuestionMark==QuestionMark.State&&n.RowIndex==x).Select(n=>n.Answer).FirstOrDefault()??string.Empty);
|
answers.Add("LastTaskState", lastTaskTableAnswer.Where(n=>n.QuestionId== item.Id&&n.ReadingTableQuestionTrial.QuestionMark==QuestionMark.State&&n.RowIndex==x).Select(n=>n.Answer).FirstOrDefault()??string.Empty);
|
||||||
answers.Add("LastTaskMajorAxis", lastTaskTableAnswer.Where(n => n.QuestionId == item.Id && n.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis && n.RowIndex == x).Select(n => n.Answer).FirstOrDefault() ?? string.Empty);
|
answers.Add("LastTaskMajorAxis", lastTaskTableAnswer.Where(n => n.QuestionId == item.Id && n.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis && n.RowIndex == x).Select(n => n.Answer).FirstOrDefault() ?? string.Empty);
|
||||||
answers.Add("LastTaskShortAxis", lastTaskTableAnswer.Where(n => n.QuestionId == item.Id && n.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis && n.RowIndex == x).Select(n => n.Answer).FirstOrDefault() ?? string.Empty);
|
answers.Add("LastTaskShortAxis", lastTaskTableAnswer.Where(n => n.QuestionId == item.Id && n.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis && n.RowIndex == x).Select(n => n.Answer).FirstOrDefault() ?? string.Empty);
|
||||||
|
@ -2086,7 +2086,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ReadingTableAnswerRowInfo rowInfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == (inDto.RowId ?? default(Guid))).IgnoreAutoIncludes().FirstOrDefaultAsync();
|
ReadingTableAnswerRowInfo? rowInfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == (inDto.RowId ?? default(Guid))).IgnoreAutoIncludes().FirstOrDefaultAsync();
|
||||||
|
|
||||||
rowInfo = rowInfo == null ? new ReadingTableAnswerRowInfo() : rowInfo;
|
rowInfo = rowInfo == null ? new ReadingTableAnswerRowInfo() : rowInfo;
|
||||||
|
|
||||||
|
@ -2499,7 +2499,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
if (task.SubjectCode.IsNullOrEmpty())
|
if (task.SubjectCode.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
task.SubjectCode = await _subjectRepository.Where(x => x.Id == task.SubjectId).Select(x => x.Code).FirstOrDefaultAsync();
|
task.SubjectCode = await _subjectRepository.Where(x => x.Id == task.SubjectId).Select(x => x.Code).FirstNotNullAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.Id == task.VisitTaskId && x.FirstReadingTime == null, x => new VisitTask()
|
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.Id == task.VisitTaskId && x.FirstReadingTime == null, x => new VisitTask()
|
||||||
|
@ -2521,7 +2521,7 @@ namespace IRaCIS.Application.Services
|
||||||
x.CriterionType,
|
x.CriterionType,
|
||||||
x.IseCRFShowInDicomReading,
|
x.IseCRFShowInDicomReading,
|
||||||
x.IsReadingTaskViewInOrder,
|
x.IsReadingTaskViewInOrder,
|
||||||
}).FirstOrDefaultAsync();
|
}).FirstNotNullAsync();
|
||||||
|
|
||||||
task.IsReadingShowPreviousResults = criterionInfo.IsReadingShowPreviousResults;
|
task.IsReadingShowPreviousResults = criterionInfo.IsReadingShowPreviousResults;
|
||||||
task.IsReadingShowSubjectInfo = criterionInfo.IsReadingShowSubjectInfo;
|
task.IsReadingShowSubjectInfo = criterionInfo.IsReadingShowSubjectInfo;
|
||||||
|
|
|
@ -88,7 +88,7 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<GetJudgeReadingInfoOutDto> GetJudgeReadingInfo(GetJudgeReadingInfo inDto)
|
public async Task<GetJudgeReadingInfoOutDto> GetJudgeReadingInfo(GetJudgeReadingInfo inDto)
|
||||||
{
|
{
|
||||||
var visitTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstOrDefaultAsync();
|
var visitTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||||
|
|
||||||
|
|
||||||
var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == visitTask.TrialReadingCriterionId).Select(x => x.CriterionType).FirstNotNullAsync();
|
var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == visitTask.TrialReadingCriterionId).Select(x => x.CriterionType).FirstNotNullAsync();
|
||||||
|
@ -185,7 +185,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
JudgeReadingInfoDto judgeReadingInfoDto = new JudgeReadingInfoDto()
|
JudgeReadingInfoDto judgeReadingInfoDto = new JudgeReadingInfoDto()
|
||||||
{
|
{
|
||||||
VisitId = globalTaskInfos[0].SourceSubjectVisitId.Value,
|
VisitId = globalTaskInfos[0].SourceSubjectVisitId!.Value,
|
||||||
VisitName = globalTaskInfos[0].TaskBlindName,
|
VisitName = globalTaskInfos[0].TaskBlindName,
|
||||||
VisitTaskInfoList = new List<JudgeReadingQuestion>(),
|
VisitTaskInfoList = new List<JudgeReadingQuestion>(),
|
||||||
};
|
};
|
||||||
|
@ -213,7 +213,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
judgeReadingInfoDto.VisitTaskInfoList.Add(new JudgeReadingQuestion()
|
judgeReadingInfoDto.VisitTaskInfoList.Add(new JudgeReadingQuestion()
|
||||||
{
|
{
|
||||||
ArmEnum = towtask.ArmEnum,
|
ArmEnum = towtask!.ArmEnum,
|
||||||
VisitTaskId = towtask.Id,
|
VisitTaskId = towtask.Id,
|
||||||
JudgeQuestionList = judgeQuestionTwoAnswer.Where(x => x.VisitTaskId == towtask.Id).OrderBy(x => x.ShowOrder)
|
JudgeQuestionList = judgeQuestionTwoAnswer.Where(x => x.VisitTaskId == towtask.Id).OrderBy(x => x.ShowOrder)
|
||||||
.Select(x => new JudgeQuestion()
|
.Select(x => new JudgeQuestion()
|
||||||
|
@ -235,7 +235,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
JudgeReadingInfoDto judgeReadingInfoDto = new JudgeReadingInfoDto()
|
JudgeReadingInfoDto judgeReadingInfoDto = new JudgeReadingInfoDto()
|
||||||
{
|
{
|
||||||
VisitId = taskList[0].SourceSubjectVisitId.Value,
|
VisitId = taskList[0].SourceSubjectVisitId!.Value,
|
||||||
VisitName = taskList[0].TaskBlindName,
|
VisitName = taskList[0].TaskBlindName,
|
||||||
VisitTaskInfoList = new List<JudgeReadingQuestion>(),
|
VisitTaskInfoList = new List<JudgeReadingQuestion>(),
|
||||||
};
|
};
|
||||||
|
@ -298,7 +298,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
|
|
||||||
Answer = x.Answer,
|
Answer = x.Answer,
|
||||||
QuestionId = x.QuestionId.Value,
|
QuestionId = x.QuestionId!.Value,
|
||||||
QuestionName = x.QuestionName,
|
QuestionName = x.QuestionName,
|
||||||
QuestionGenre=x.QuestionGenre,
|
QuestionGenre=x.QuestionGenre,
|
||||||
DictionaryCode=x.DictionaryCode,
|
DictionaryCode=x.DictionaryCode,
|
||||||
|
@ -320,7 +320,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
judgeReadingQuestion.JudgeQuestionList.Add(new JudgeQuestion()
|
judgeReadingQuestion.JudgeQuestionList.Add(new JudgeQuestion()
|
||||||
{
|
{
|
||||||
Answer = item.AfterQuestionList.Where(x => x.GlobalAnswerType == GlobalAnswerType.Reason).Select(x => x.Answer).FirstOrDefault(),
|
Answer = item.AfterQuestionList.Where(x => x.GlobalAnswerType == GlobalAnswerType.Reason).Select(x => x.Answer).FirstOrDefault()??string.Empty,
|
||||||
QuestionType = JudgeReadingQuestionType.VisitRemark,
|
QuestionType = JudgeReadingQuestionType.VisitRemark,
|
||||||
QuestionName = "",
|
QuestionName = "",
|
||||||
});
|
});
|
||||||
|
@ -338,7 +338,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
|
|
||||||
Answer = x.Answer,
|
Answer = x.Answer,
|
||||||
QuestionId = x.QuestionId.Value,
|
QuestionId = x.QuestionId==null?default(Guid): x.QuestionId.Value,
|
||||||
QuestionName = x.QuestionName,
|
QuestionName = x.QuestionName,
|
||||||
QuestionGenre = x.QuestionGenre,
|
QuestionGenre = x.QuestionGenre,
|
||||||
DictionaryCode = x.DictionaryCode,
|
DictionaryCode = x.DictionaryCode,
|
||||||
|
@ -363,7 +363,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
rTwoJudge.JudgeQuestionList.Add(new JudgeQuestion()
|
rTwoJudge.JudgeQuestionList.Add(new JudgeQuestion()
|
||||||
{
|
{
|
||||||
Answer = twoItem.AfterQuestionList.Where(x => x.GlobalAnswerType == GlobalAnswerType.Reason).Select(x => x.Answer).FirstOrDefault(),
|
Answer = twoItem.AfterQuestionList.Where(x => x.GlobalAnswerType == GlobalAnswerType.Reason).Select(x => x.Answer).FirstOrDefault()??string.Empty,
|
||||||
QuestionType = JudgeReadingQuestionType.VisitRemark,
|
QuestionType = JudgeReadingQuestionType.VisitRemark,
|
||||||
QuestionName = "",
|
QuestionName = "",
|
||||||
});
|
});
|
||||||
|
@ -682,7 +682,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
List<GroupTaskAnswerDto> globalGroupTasks = newlist.GroupBy(x => new { x.QuestionId, x.AnswerGroup, x.JudgeType, x.AnswerCombination }).Select(x => new GroupTaskAnswerDto
|
List<GroupTaskAnswerDto> globalGroupTasks = newlist.GroupBy(x => new { x.QuestionId, x.AnswerGroup, x.JudgeType, x.AnswerCombination }).Select(x => new GroupTaskAnswerDto
|
||||||
{
|
{
|
||||||
QuestionId = x.Key.QuestionId.Value,
|
QuestionId = x.Key.QuestionId!.Value,
|
||||||
AnswerGroup = x.Key.AnswerGroup,
|
AnswerGroup = x.Key.AnswerGroup,
|
||||||
AnswerCombination = x.Key.AnswerCombination,
|
AnswerCombination = x.Key.AnswerCombination,
|
||||||
JudgeType = x.Key.JudgeType,
|
JudgeType = x.Key.JudgeType,
|
||||||
|
@ -741,7 +741,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
List<GroupTaskAnswerDto> globalGroupTasks = newlist.GroupBy(x => new { x.QuestionId, x.AnswerGroup, x.JudgeType, x.AnswerCombination }).Select(x => new GroupTaskAnswerDto
|
List<GroupTaskAnswerDto> globalGroupTasks = newlist.GroupBy(x => new { x.QuestionId, x.AnswerGroup, x.JudgeType, x.AnswerCombination }).Select(x => new GroupTaskAnswerDto
|
||||||
{
|
{
|
||||||
QuestionId = x.Key.QuestionId.Value,
|
QuestionId = x.Key.QuestionId!.Value,
|
||||||
AnswerGroup = x.Key.AnswerGroup,
|
AnswerGroup = x.Key.AnswerGroup,
|
||||||
AnswerCombination = x.Key.AnswerCombination,
|
AnswerCombination = x.Key.AnswerCombination,
|
||||||
JudgeType = x.Key.JudgeType,
|
JudgeType = x.Key.JudgeType,
|
||||||
|
|
|
@ -301,7 +301,7 @@ namespace IRaCIS.Application.Services
|
||||||
//增加标准
|
//增加标准
|
||||||
var readModulequery = _readModuleRepository.AsQueryable().Where(x=>x.TrialReadingCriterionId == inDto.TrialReadingCriterionId);
|
var readModulequery = _readModuleRepository.AsQueryable().Where(x=>x.TrialReadingCriterionId == inDto.TrialReadingCriterionId);
|
||||||
|
|
||||||
var resultlist= await visitQuery.WhereIf(finalVisitNum != null&& finalVisitNum!=0, x => x.VisitNum <= finalVisitNum)
|
var resultlist= await visitQuery.WhereIf(finalVisitNum!=0, x => x.VisitNum <= finalVisitNum)
|
||||||
.WhereIf(inDto.ReadingSetType== ReadingSetType.TumorReading, x => readModulequery.Where(y => y.SubjectVisitId == x.Id&&y.TrialReadingCriterionId== inDto.TrialReadingCriterionId && y.ReadingSetType == ReadingSetType.ImageReading).Count() > 0)
|
.WhereIf(inDto.ReadingSetType== ReadingSetType.TumorReading, x => readModulequery.Where(y => y.SubjectVisitId == x.Id&&y.TrialReadingCriterionId== inDto.TrialReadingCriterionId && y.ReadingSetType == ReadingSetType.ImageReading).Count() > 0)
|
||||||
.Where(x=>x.VisitNum> maxReadVisitNum)
|
.Where(x=>x.VisitNum> maxReadVisitNum)
|
||||||
.Where(x=>!x.IsBaseLine) // 排除基线
|
.Where(x=>!x.IsBaseLine) // 排除基线
|
||||||
|
|
|
@ -60,13 +60,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
Id = x.Id,
|
Id = x.Id,
|
||||||
ImageToolType = inQuery.ImageToolType,
|
ImageToolType = inQuery.ImageToolType,
|
||||||
ShortcutKeyEnum = int.Parse(x.Code),
|
ShortcutKeyEnum = int.Parse(x.Code),
|
||||||
Keyboardkey = isnull ? defaultkey.Keyboardkey : key.Keyboardkey,
|
Keyboardkey = isnull ? defaultkey!.Keyboardkey : key!.Keyboardkey,
|
||||||
AltKey = isnull ? false : key.AltKey,
|
AltKey = isnull ? false : key!.AltKey,
|
||||||
CtrlKey = isnull ? false : key.CtrlKey,
|
CtrlKey = isnull ? false : key!.CtrlKey,
|
||||||
MetaKey = isnull ? false : key.MetaKey,
|
MetaKey = isnull ? false : key!.MetaKey,
|
||||||
ShiftKey = isnull && int.Parse(x.Code) == 11 ? true : isnull ? false : key.ShiftKey,
|
ShiftKey = isnull && int.Parse(x.Code) == 11 ? true : isnull ? false : key!.ShiftKey,
|
||||||
Text = isnull ? defaultkey.Text : key.Text,
|
Text = isnull ? defaultkey!.Text : key!.Text,
|
||||||
Code = isnull ? defaultkey.Code : key.Code,
|
Code = isnull ? defaultkey!.Code : key!.Code,
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -471,7 +471,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <param name="calculateType"></param>
|
/// <param name="calculateType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task ReadingCalculate(ReadingCalculateDto inDto,List<QuestionType> calculateType=null)
|
public async Task ReadingCalculate(ReadingCalculateDto inDto,List<QuestionType>? calculateType=null)
|
||||||
{
|
{
|
||||||
|
|
||||||
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
||||||
|
@ -688,7 +688,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
else
|
else
|
||||||
|
|
||||||
{
|
{
|
||||||
item.Answer = value.ToString();
|
item.Answer = value==null?"": value.Value.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (calculate.GetStringFun != null)
|
else if (calculate.GetStringFun != null)
|
||||||
|
@ -704,7 +704,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
ValueOfType.Percentage
|
ValueOfType.Percentage
|
||||||
};
|
};
|
||||||
|
|
||||||
if (inDto.DigitPlaces != null && inDto.DigitPlaces != -1)
|
if (inDto.DigitPlaces != -1)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -2751,55 +2751,55 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
// 逻辑改了 现在转变后全部都是NA;
|
// 逻辑改了 现在转变后全部都是NA;
|
||||||
return NewLesionAssessment.NA.GetEnumInt();
|
return NewLesionAssessment.NA.GetEnumInt();
|
||||||
|
|
||||||
NewLesionAssessment result = NewLesionAssessment.No;
|
//NewLesionAssessment result = NewLesionAssessment.No;
|
||||||
if (inDto.IsBaseLine)
|
//if (inDto.IsBaseLine)
|
||||||
{
|
//{
|
||||||
return NewLesionAssessment.NA.GetEnumInt();
|
// return NewLesionAssessment.NA.GetEnumInt();
|
||||||
}
|
//}
|
||||||
|
|
||||||
var newTargetQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewTargetLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
//var newTargetQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewTargetLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
||||||
|
|
||||||
var newNonTargetQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewNonTargetLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
//var newNonTargetQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewNonTargetLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
||||||
|
|
||||||
var OtherPreviousNewLesionQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.OtherPreviousNewLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
//var OtherPreviousNewLesionQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.OtherPreviousNewLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
||||||
|
|
||||||
var triggeringQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TriggeringIRECSIT).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
//var triggeringQuestions = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TriggeringIRECSIT).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).ToList();
|
||||||
|
|
||||||
// 当前访视存在至少一个明确新病灶
|
//// 当前访视存在至少一个明确新病灶
|
||||||
if (newTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Exist))
|
//if (newTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Exist))
|
||||||
|| newNonTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.Exist))
|
// || newNonTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.Exist))
|
||||||
|| OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Exists))
|
// || OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Exists))
|
||||||
|| triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Exist))
|
// || triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Exist))
|
||||||
|
|
||||||
)
|
// )
|
||||||
{
|
//{
|
||||||
result = NewLesionAssessment.Yes;
|
// result = NewLesionAssessment.Yes;
|
||||||
}
|
//}
|
||||||
//只要有任何一个新病灶状态为“无法评估”
|
////只要有任何一个新病灶状态为“无法评估”
|
||||||
else if (newTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.NotEvaluable))
|
//else if (newTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.NotEvaluable))
|
||||||
|| newNonTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.NotEvaluable))
|
// || newNonTargetQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.NotEvaluable))
|
||||||
|| OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.NotEvaluable))
|
// || OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.NotEvaluable))
|
||||||
|| triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.NotEvaluable))
|
// || triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.NotEvaluable))
|
||||||
|
|
||||||
)
|
// )
|
||||||
{
|
//{
|
||||||
result = NewLesionAssessment.NE;
|
// result = NewLesionAssessment.NE;
|
||||||
}
|
//}
|
||||||
//当前访视不存在明确新病灶且存在至少一个疑似新病灶
|
////当前访视不存在明确新病灶且存在至少一个疑似新病灶
|
||||||
else if ( (!OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Exists)) && OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Equivocal)))
|
//else if ( (!OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Exists)) && OtherPreviousNewLesionQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Equivocal)))
|
||||||
|| (!triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Exist)) && triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Equivocal)))
|
// || (!triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Exist)) && triggeringQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Equivocal)))
|
||||||
|
|
||||||
)
|
// )
|
||||||
{
|
//{
|
||||||
result = NewLesionAssessment.Suspected;
|
// result = NewLesionAssessment.Suspected;
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
result = NewLesionAssessment.No;
|
// result = NewLesionAssessment.No;
|
||||||
}
|
//}
|
||||||
return result.GetEnumInt();
|
//return result.GetEnumInt();
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -3156,7 +3156,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|
||||||
return beforeConvertedAnswer;
|
return beforeConvertedAnswer==null?string.Empty: beforeConvertedAnswer;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3191,9 +3191,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|
||||||
return beforeConvertedAnswer;
|
return beforeConvertedAnswer == null ? string.Empty : beforeConvertedAnswer;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -3225,9 +3225,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|
||||||
return beforeConvertedAnswer;
|
return beforeConvertedAnswer == null ? string.Empty : beforeConvertedAnswer;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -123,7 +123,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == indto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == indto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
result.LesionCountList = tableAnsweRowInfos.GroupBy(x => x.LesionType).Select(x => new LesionDto
|
result.LesionCountList = tableAnsweRowInfos.GroupBy(x => x.LesionType).Select(x => new LesionDto
|
||||||
{
|
{
|
||||||
LesionType = x.Key.Value,
|
LesionType = x.Key,
|
||||||
Count = x.ToList().Count()
|
Count = x.ToList().Count()
|
||||||
}).ToList();
|
}).ToList();
|
||||||
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
|
@ -396,7 +396,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
x.VisitTaskId
|
x.VisitTaskId
|
||||||
}).OrderBy(x => x.Answer).Select(x => x.VisitTaskId).FirstOrDefault();
|
}).OrderBy(x => x.Answer).Select(x => x.VisitTaskId).FirstOrDefault();
|
||||||
|
|
||||||
if (lowPddTaskid != null && lowPddTaskid != default(Guid))
|
if (lowPddTaskid != default(Guid))
|
||||||
{
|
{
|
||||||
|
|
||||||
var lowPPDAnswerList = await _readingTableQuestionAnswerRepository.Where(x =>x.VisitTaskId== lowPddTaskid
|
var lowPPDAnswerList = await _readingTableQuestionAnswerRepository.Where(x =>x.VisitTaskId== lowPddTaskid
|
||||||
|
@ -456,7 +456,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <param name="calculateType"></param>
|
/// <param name="calculateType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task ReadingCalculate(ReadingCalculateDto inDto, List<QuestionType> calculateType = null)
|
public async Task ReadingCalculate(ReadingCalculateDto inDto, List<QuestionType>? calculateType = null)
|
||||||
{
|
{
|
||||||
|
|
||||||
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
||||||
|
@ -662,7 +662,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
else
|
else
|
||||||
|
|
||||||
{
|
{
|
||||||
item.Answer = value.ToString();
|
item.Answer = value==null?string.Empty: value.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (calculate.GetStringFun != null)
|
else if (calculate.GetStringFun != null)
|
||||||
|
@ -678,7 +678,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
ValueOfType.Percentage
|
ValueOfType.Percentage
|
||||||
};
|
};
|
||||||
|
|
||||||
if (inDto.DigitPlaces != null && inDto.DigitPlaces != -1)
|
if (inDto.DigitPlaces != -1)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -949,16 +949,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
switch (x.QuestionMark)
|
switch (x.QuestionMark)
|
||||||
{
|
{
|
||||||
case QuestionMark.LowPPDLDi:
|
case QuestionMark.LowPPDLDi:
|
||||||
x.Answer = lowPPD.LowPPDLDi.ToString();
|
x.Answer = lowPPD.LowPPDLDi==null?string.Empty: lowPPD.LowPPDLDi.Value.ToString();
|
||||||
break;
|
break;
|
||||||
case QuestionMark.LowPPDSDi:
|
case QuestionMark.LowPPDSDi:
|
||||||
x.Answer = lowPPD.LowPPDSDi.ToString();
|
x.Answer = lowPPD.LowPPDSDi == null ? string.Empty : lowPPD.LowPPDSDi.Value.ToString();
|
||||||
break;
|
break;
|
||||||
case QuestionMark.NadirPPD:
|
case QuestionMark.NadirPPD:
|
||||||
x.Answer = lowPPD.NadirPPD.ToString();
|
x.Answer = lowPPD.NadirPPD == null ? string.Empty : lowPPD.NadirPPD.Value.ToString();
|
||||||
break;
|
break;
|
||||||
case QuestionMark.LowPPDVisit:
|
case QuestionMark.LowPPDVisit:
|
||||||
x.Answer = lowPPD.LowPPDVisit.ToString();
|
x.Answer = lowPPD.LowPPDVisit == null ? string.Empty : lowPPD.LowPPDVisit.ToString();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
@ -2059,7 +2059,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
|
|
||||||
var answer =await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTaskId).Include(x => x.ReadingQuestionTrial).Where(x => x.ReadingQuestionTrial.QuestionType == QuestionType.FDGPET).Select(x => x.Answer).FirstOrDefaultAsync();
|
var answer =await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTaskId).Include(x => x.ReadingQuestionTrial).Where(x => x.ReadingQuestionTrial.QuestionType == QuestionType.FDGPET).Select(x => x.Answer).FirstOrDefaultAsync();
|
||||||
return answer;
|
return answer?? string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region FDG-PET总体评估结果
|
#region FDG-PET总体评估结果
|
||||||
|
@ -2077,7 +2077,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
return FDGPETOverallAssessment.NA.GetEnumInt();
|
return FDGPETOverallAssessment.NA.GetEnumInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
FDGPETOverallAssessment result = FDGPETOverallAssessment.NA;
|
//FDGPETOverallAssessment result = FDGPETOverallAssessment.NA;
|
||||||
|
|
||||||
// PET5PS
|
// PET5PS
|
||||||
var PET5PS = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.PET5PS).Select(x => x.Answer).FirstOrDefault();
|
var PET5PS = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.PET5PS).Select(x => x.Answer).FirstOrDefault();
|
||||||
|
@ -2174,7 +2174,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.EvidenceFocalFDG).Select(x => x.Answer).FirstOrDefault();
|
return inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.EvidenceFocalFDG).Select(x => x.Answer).FirstOrDefault()??string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -2218,7 +2218,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var orderMark = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).FirstOrDefault().OrderMark;
|
var orderMark = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).FirstOrDefault()!.OrderMark;
|
||||||
return orderMark+ maxSuv.RowIndex.GetLesionMark();
|
return orderMark+ maxSuv.RowIndex.GetLesionMark();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<SiteVisitForTumor> siteVisitForTumorList = null;
|
private List<SiteVisitForTumor> siteVisitForTumorList = new List<SiteVisitForTumor>();
|
||||||
|
|
||||||
|
|
||||||
#region 删除病灶获取起始病灶序号
|
#region 删除病灶获取起始病灶序号
|
||||||
|
@ -536,7 +536,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <param name="calculateType"></param>
|
/// <param name="calculateType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task ReadingCalculate(ReadingCalculateDto inDto, List<QuestionType> calculateType = null)
|
public async Task ReadingCalculate(ReadingCalculateDto inDto, List<QuestionType>? calculateType = null)
|
||||||
{
|
{
|
||||||
|
|
||||||
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
||||||
|
@ -815,7 +815,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
if (lastTask != null)
|
if (lastTask != null)
|
||||||
{
|
{
|
||||||
var thisTask = taskList.FirstOrDefault();
|
var thisTask = taskList.FirstOrDefault();
|
||||||
if (thisTask.StudyTime != null && lastTask.StudyTime != null)
|
if (thisTask!=null&& thisTask.StudyTime != null && lastTask.StudyTime != null)
|
||||||
{
|
{
|
||||||
return (int)Math.Floor((thisTask.StudyTime.Value - lastTask.StudyTime.Value).TotalDays);
|
return (int)Math.Floor((thisTask.StudyTime.Value - lastTask.StudyTime.Value).TotalDays);
|
||||||
}
|
}
|
||||||
|
@ -898,14 +898,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
|
|
||||||
var firstVisit = taskList.FirstOrDefault();
|
var firstVisit = taskList.FirstOrDefault();
|
||||||
if (baseLineTask.StudyTime != null)
|
if (baseLineTask!=null&&baseLineTask.StudyTime != null)
|
||||||
{
|
{
|
||||||
//基线后第二个访视(应满足访视间隔6周以上,否则顺延)
|
//基线后第二个访视(应满足访视间隔6周以上,否则顺延)
|
||||||
var secondVisit = taskList.Where(x => x.VisitTaskNum >= 2 && x.StudyTime >= baseLineTask.StudyTime.Value.AddDays(42)).FirstOrDefault();
|
var secondVisit = taskList.Where(x => x.VisitTaskNum >= 2 && x.StudyTime >= baseLineTask.StudyTime.Value.AddDays(42)).FirstOrDefault();
|
||||||
if (secondVisit != null)
|
if (secondVisit != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
var firstTaskNewLesionsCount = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == firstVisit.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
var firstTaskNewLesionsCount = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == firstVisit!.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
||||||
|
|
||||||
// 第二访视数量
|
// 第二访视数量
|
||||||
var secondVisitLesionsCount = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
var secondVisitLesionsCount = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
|
||||||
|
@ -934,7 +934,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
var thisVisitTask = taskList.LastOrDefault();
|
var thisVisitTask = taskList.LastOrDefault();
|
||||||
|
|
||||||
if (thisVisitTask.StudyTime!=null&&lastTask.StudyTime!=null&&
|
if (thisVisitTask!=null &&thisVisitTask.StudyTime!=null&&lastTask.StudyTime!=null&&
|
||||||
|
|
||||||
|
|
||||||
lastTasknewLesionsCount >= 2 && thisVisitTaskNewLesionsCount >= 2 && lastTask.StudyTime.Value.AddDays(42) <= thisVisitTask.StudyTime)
|
lastTasknewLesionsCount >= 2 && thisVisitTaskNewLesionsCount >= 2 && lastTask.StudyTime.Value.AddDays(42) <= thisVisitTask.StudyTime)
|
||||||
|
@ -949,10 +949,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
var visitForTumorEvaluationQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SiteVisitForTumorEvaluation).Select(x => x.QuestionId).FirstOrDefault();
|
var visitForTumorEvaluationQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SiteVisitForTumorEvaluation).Select(x => x.QuestionId).FirstOrDefault();
|
||||||
|
|
||||||
await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == visitForTumorEvaluationQuestionId,x=> new ReadingTaskQuestionAnswer
|
if(lastTask!=null)
|
||||||
{
|
{
|
||||||
Answer= VisitTumorEvaluation.PD.GetEnumInt(),
|
await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == visitForTumorEvaluationQuestionId, x => new ReadingTaskQuestionAnswer
|
||||||
});
|
{
|
||||||
|
Answer = VisitTumorEvaluation.PD.GetEnumInt(),
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == indto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == indto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
result.LesionCountList = tableAnsweRowInfos.GroupBy(x => x.LesionType).Select(x => new LesionDto
|
result.LesionCountList = tableAnsweRowInfos.GroupBy(x => x.LesionType).Select(x => new LesionDto
|
||||||
{
|
{
|
||||||
LesionType = x.Key.Value,
|
LesionType = x.Key!.Value,
|
||||||
Count = x.ToList().Count()
|
Count = x.ToList().Count()
|
||||||
}).ToList();
|
}).ToList();
|
||||||
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
|
@ -387,7 +387,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <param name="calculateType"></param>
|
/// <param name="calculateType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task ReadingCalculate(ReadingCalculateDto inDto,List<QuestionType> calculateType=null)
|
public async Task ReadingCalculate(ReadingCalculateDto inDto,List<QuestionType>? calculateType=null)
|
||||||
{
|
{
|
||||||
|
|
||||||
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
||||||
|
@ -526,7 +526,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
else
|
else
|
||||||
|
|
||||||
{
|
{
|
||||||
item.Answer = value.ToString();
|
item.Answer = value==null?string.Empty: value.Value.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (calculate.GetStringFun != null)
|
else if (calculate.GetStringFun != null)
|
||||||
|
@ -542,7 +542,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
ValueOfType.Percentage
|
ValueOfType.Percentage
|
||||||
};
|
};
|
||||||
|
|
||||||
if (inDto.DigitPlaces != null && inDto.DigitPlaces != -1)
|
if (inDto.DigitPlaces != -1)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -383,7 +383,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <param name="calculateType"></param>
|
/// <param name="calculateType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task ReadingCalculate(ReadingCalculateDto inDto,List<QuestionType> calculateType=null)
|
public async Task ReadingCalculate(ReadingCalculateDto inDto,List<QuestionType>? calculateType=null)
|
||||||
{
|
{
|
||||||
|
|
||||||
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
||||||
|
@ -522,7 +522,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
else
|
else
|
||||||
|
|
||||||
{
|
{
|
||||||
item.Answer = value.ToString();
|
item.Answer = value==null?string.Empty: value.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (calculate.GetStringFun != null)
|
else if (calculate.GetStringFun != null)
|
||||||
|
@ -538,7 +538,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
ValueOfType.Percentage
|
ValueOfType.Percentage
|
||||||
};
|
};
|
||||||
|
|
||||||
if (inDto.DigitPlaces != null && inDto.DigitPlaces != -1)
|
if (inDto.DigitPlaces != -1)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,7 +61,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<SiteVisitForTumor> siteVisitForTumorList = null;
|
private List<SiteVisitForTumor> siteVisitForTumorList = new List<SiteVisitForTumor>() ;
|
||||||
|
|
||||||
|
|
||||||
#region 删除病灶获取起始病灶序号
|
#region 删除病灶获取起始病灶序号
|
||||||
|
@ -488,7 +488,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <param name="calculateType"></param>
|
/// <param name="calculateType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task ReadingCalculate(ReadingCalculateDto inDto, List<QuestionType> calculateType = null)
|
public async Task ReadingCalculate(ReadingCalculateDto inDto, List<QuestionType>? calculateType = null)
|
||||||
{
|
{
|
||||||
//var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.CriterionId && x.CustomCalculateMark != null).ToListAsync();
|
//var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.CriterionId && x.CustomCalculateMark != null).ToListAsync();
|
||||||
//var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == inDto.CriterionId && x.CustomCalculateMark != null).ToListAsync();
|
//var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == inDto.CriterionId && x.CustomCalculateMark != null).ToListAsync();
|
||||||
|
|
Loading…
Reference in New Issue