Uat_Study
parent
508dbd09a6
commit
bf83cc52f2
|
@ -76,69 +76,30 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
result.ReadingTaskState = visitTaskInfo.ReadingTaskState;
|
||||
var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(indto.VisitTaskId);
|
||||
|
||||
taskInfoList = taskInfoList.Where(x => x.VisitTaskNum <= visitTaskInfo.VisitTaskNum).ToList();
|
||||
result.VisitTaskList = taskInfoList;
|
||||
|
||||
var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
|
||||
|
||||
var criterionId = visitTaskInfo.TrialReadingCriterionId;
|
||||
var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId)
|
||||
.Where(x=>x.LesionType!=LesionType.AlwaysNewLesions&&x.LesionType!=LesionType.BaselineLesions)
|
||||
.Where(x => x.LesionType != LesionType.BaselineLesions)
|
||||
.ToListAsync();
|
||||
var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == criterionId).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == indto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
|
||||
|
||||
|
||||
// 新病灶
|
||||
// 新病灶
|
||||
var questionNewLesions = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == visitTaskInfo.TrialReadingCriterionId && x.LesionType == LesionType.NewLesions).FirstNotNullAsync();
|
||||
|
||||
// 既往新病灶
|
||||
var questionAlwaysLesions = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == visitTaskInfo.TrialReadingCriterionId && x.LesionType == LesionType.AlwaysNewLesions).FirstNotNullAsync();
|
||||
var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == criterionId).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == indto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId))
|
||||
.Where(x => x.ReadingQuestionTrialId != questionNewLesions.Id||x.VisitTaskId== visitTaskInfo.Id)
|
||||
.ToListAsync();
|
||||
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId))
|
||||
.Where(x => x.QuestionId != questionNewLesions.Id || x.VisitTaskId == visitTaskInfo.Id)
|
||||
.ToListAsync();
|
||||
|
||||
|
||||
|
||||
var newLesionTableQuestions = await _readingTableQuestionTrialRepository.Where(x => x.ReadingQuestionId == questionNewLesions.Id).ToListAsync();
|
||||
var alwaysNewLesionsTableQuestions = await _readingTableQuestionTrialRepository.Where(x => x.ReadingQuestionId == questionAlwaysLesions.Id).ToListAsync();
|
||||
|
||||
Dictionary<Guid, Guid> alwaysTableQuestionIdDic = new Dictionary<Guid, Guid>();
|
||||
|
||||
alwaysNewLesionsTableQuestions.ForEach(x =>
|
||||
{
|
||||
|
||||
alwaysTableQuestionIdDic.Add(
|
||||
x.Id,
|
||||
newLesionTableQuestions.Where(y => y.QuestionName == x.QuestionName).Select(y => y.Id).FirstOrDefault()
|
||||
);
|
||||
});
|
||||
|
||||
foreach (var item in tableAnsweRowInfos)
|
||||
{
|
||||
if (item.QuestionId == questionAlwaysLesions.Id)
|
||||
{
|
||||
item.QuestionId = questionNewLesions.Id;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in answers)
|
||||
{
|
||||
if (item.ReadingQuestionTrialId == questionAlwaysLesions.Id)
|
||||
{
|
||||
item.ReadingQuestionTrialId = questionNewLesions.Id;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in tableAnswers)
|
||||
{
|
||||
if (item.QuestionId == questionAlwaysLesions.Id)
|
||||
{
|
||||
item.QuestionId = questionNewLesions.Id;
|
||||
item.TableQuestionId = alwaysTableQuestionIdDic[item.TableQuestionId];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 第一级 分组
|
||||
|
|
Loading…
Reference in New Issue