修改一版
parent
01375d0adc
commit
7bd30717bb
|
@ -24,6 +24,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
||||||
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
|
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
|
||||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
|
private readonly IRepository<OrganInfo> _organInfoRepository;
|
||||||
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
||||||
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
|
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
|
||||||
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
|
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
|
||||||
|
@ -38,6 +39,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
||||||
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
||||||
IRepository<SubjectVisit> subjectVisitRepository,
|
IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
|
IRepository<OrganInfo> organInfoRepository,
|
||||||
IRepository<DicomStudy> dicomStudyRepository,
|
IRepository<DicomStudy> dicomStudyRepository,
|
||||||
IRepository<NoneDicomStudy> noneDicomStudyRepository,
|
IRepository<NoneDicomStudy> noneDicomStudyRepository,
|
||||||
IRepository<TumorAssessment> tumorAssessmentRepository,
|
IRepository<TumorAssessment> tumorAssessmentRepository,
|
||||||
|
@ -52,6 +54,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
|
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
|
||||||
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
||||||
this._subjectVisitRepository = subjectVisitRepository;
|
this._subjectVisitRepository = subjectVisitRepository;
|
||||||
|
this._organInfoRepository = organInfoRepository;
|
||||||
this._dicomStudyRepository = dicomStudyRepository;
|
this._dicomStudyRepository = dicomStudyRepository;
|
||||||
this._noneDicomStudyRepository = noneDicomStudyRepository;
|
this._noneDicomStudyRepository = noneDicomStudyRepository;
|
||||||
this._tumorAssessmentRepository = tumorAssessmentRepository;
|
this._tumorAssessmentRepository = tumorAssessmentRepository;
|
||||||
|
@ -130,7 +133,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
|
|
||||||
|
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
|
||||||
|
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
|
||||||
|
|
||||||
|
var needChangeType = new List<QuestionMark?>() {
|
||||||
|
QuestionMark.Organ,
|
||||||
|
QuestionMark.Location,
|
||||||
|
QuestionMark.Part,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// 第一级 分组
|
// 第一级 分组
|
||||||
|
@ -249,13 +261,76 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
foreach (var task in taskInfoList)
|
foreach (var task in taskInfoList)
|
||||||
{
|
{
|
||||||
|
var rowinfo = alltableAnsweRowInfos.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex).FirstOrDefault();
|
||||||
tableQuestion.Answer.Add(new TaskQuestionAnswer()
|
var taskQuestionAnswer = new TaskQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = tableAnswers.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex && x.TableQuestionId == tableQuestion.TableQuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
|
Answer = tableAnswers.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex && x.TableQuestionId == tableQuestion.TableQuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
|
||||||
TaskName = task.TaskName,
|
TaskName = task.TaskName,
|
||||||
VisitTaskId = task.VisitTaskId,
|
VisitTaskId = task.VisitTaskId,
|
||||||
});
|
};
|
||||||
|
if (rowinfo != null && rowinfo.OrganInfoId != null)
|
||||||
|
{
|
||||||
|
var organInfo = organInfos.Where(x => x.Id == rowinfo.OrganInfoId).FirstOrDefault();
|
||||||
|
|
||||||
|
|
||||||
|
if (organInfo != null && needChangeType.Contains(tableQuestion.QuestionMark))
|
||||||
|
{
|
||||||
|
if (_userInfo.IsEn_Us)
|
||||||
|
{
|
||||||
|
switch (tableQuestion.QuestionMark)
|
||||||
|
{
|
||||||
|
case QuestionMark.Organ:
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULOCEN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case QuestionMark.Location:
|
||||||
|
if (organInfo.IsCanEditPosition)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULATEN;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QuestionMark.Part:
|
||||||
|
|
||||||
|
taskQuestionAnswer.Answer = organInfo.PartEN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (tableQuestion.QuestionMark)
|
||||||
|
{
|
||||||
|
case QuestionMark.Organ:
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULOC;
|
||||||
|
break;
|
||||||
|
case QuestionMark.Location:
|
||||||
|
if (organInfo.IsCanEditPosition)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULAT;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QuestionMark.Part:
|
||||||
|
taskQuestionAnswer.Answer = organInfo.Part;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tableQuestion.Answer.Add(taskQuestionAnswer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
|
|
||||||
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
|
|
||||||
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
|
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
|
||||||
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
|
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
|
||||||
|
|
||||||
|
@ -306,13 +305,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
tableQuestion.Answer.Add(taskQuestionAnswer);
|
tableQuestion.Answer.Add(taskQuestionAnswer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
||||||
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
|
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
|
||||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
|
private readonly IRepository<OrganInfo> _organInfoRepository;
|
||||||
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
||||||
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
|
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
|
||||||
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
|
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
|
||||||
|
@ -38,6 +39,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
||||||
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
||||||
IRepository<SubjectVisit> subjectVisitRepository,
|
IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
|
IRepository<OrganInfo> organInfoRepository,
|
||||||
IRepository<DicomStudy> dicomStudyRepository,
|
IRepository<DicomStudy> dicomStudyRepository,
|
||||||
IRepository<NoneDicomStudy> noneDicomStudyRepository,
|
IRepository<NoneDicomStudy> noneDicomStudyRepository,
|
||||||
IRepository<TumorAssessment> tumorAssessmentRepository,
|
IRepository<TumorAssessment> tumorAssessmentRepository,
|
||||||
|
@ -52,6 +54,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
|
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
|
||||||
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
||||||
this._subjectVisitRepository = subjectVisitRepository;
|
this._subjectVisitRepository = subjectVisitRepository;
|
||||||
|
this._organInfoRepository = organInfoRepository;
|
||||||
this._dicomStudyRepository = dicomStudyRepository;
|
this._dicomStudyRepository = dicomStudyRepository;
|
||||||
this._noneDicomStudyRepository = noneDicomStudyRepository;
|
this._noneDicomStudyRepository = noneDicomStudyRepository;
|
||||||
this._tumorAssessmentRepository = tumorAssessmentRepository;
|
this._tumorAssessmentRepository = tumorAssessmentRepository;
|
||||||
|
@ -109,6 +112,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
|
|
||||||
|
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||||
|
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
|
||||||
|
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
|
||||||
|
|
||||||
|
var needChangeType = new List<QuestionMark?>() {
|
||||||
|
QuestionMark.Organ,
|
||||||
|
QuestionMark.Location,
|
||||||
|
QuestionMark.Part,
|
||||||
|
};
|
||||||
|
|
||||||
// 第一级
|
// 第一级
|
||||||
|
|
||||||
|
@ -223,13 +235,76 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
foreach (var task in taskInfoList)
|
foreach (var task in taskInfoList)
|
||||||
{
|
{
|
||||||
|
var rowinfo = alltableAnsweRowInfos.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex).FirstOrDefault();
|
||||||
tableQuestion.Answer.Add(new TaskQuestionAnswer()
|
var taskQuestionAnswer = new TaskQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = tableAnswers.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex && x.TableQuestionId == tableQuestion.TableQuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
|
Answer = tableAnswers.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex && x.TableQuestionId == tableQuestion.TableQuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
|
||||||
TaskName = task.TaskName,
|
TaskName = task.TaskName,
|
||||||
VisitTaskId = task.VisitTaskId,
|
VisitTaskId = task.VisitTaskId,
|
||||||
});
|
};
|
||||||
|
if (rowinfo != null && rowinfo.OrganInfoId != null)
|
||||||
|
{
|
||||||
|
var organInfo = organInfos.Where(x => x.Id == rowinfo.OrganInfoId).FirstOrDefault();
|
||||||
|
|
||||||
|
|
||||||
|
if (organInfo != null && needChangeType.Contains(tableQuestion.QuestionMark))
|
||||||
|
{
|
||||||
|
if (_userInfo.IsEn_Us)
|
||||||
|
{
|
||||||
|
switch (tableQuestion.QuestionMark)
|
||||||
|
{
|
||||||
|
case QuestionMark.Organ:
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULOCEN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case QuestionMark.Location:
|
||||||
|
if (organInfo.IsCanEditPosition)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULATEN;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QuestionMark.Part:
|
||||||
|
|
||||||
|
taskQuestionAnswer.Answer = organInfo.PartEN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (tableQuestion.QuestionMark)
|
||||||
|
{
|
||||||
|
case QuestionMark.Organ:
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULOC;
|
||||||
|
break;
|
||||||
|
case QuestionMark.Location:
|
||||||
|
if (organInfo.IsCanEditPosition)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
taskQuestionAnswer.Answer = organInfo.TULAT;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QuestionMark.Part:
|
||||||
|
taskQuestionAnswer.Answer = organInfo.Part;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tableQuestion.Answer.Add(taskQuestionAnswer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue