Uat_Study
parent
508dbd09a6
commit
bf83cc52f2
|
@ -76,69 +76,30 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
result.ReadingTaskState = visitTaskInfo.ReadingTaskState;
|
result.ReadingTaskState = visitTaskInfo.ReadingTaskState;
|
||||||
var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(indto.VisitTaskId);
|
var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(indto.VisitTaskId);
|
||||||
|
taskInfoList = taskInfoList.Where(x => x.VisitTaskNum <= visitTaskInfo.VisitTaskNum).ToList();
|
||||||
result.VisitTaskList = taskInfoList;
|
result.VisitTaskList = taskInfoList;
|
||||||
|
|
||||||
var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
|
var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
|
||||||
|
|
||||||
var criterionId = visitTaskInfo.TrialReadingCriterionId;
|
var criterionId = visitTaskInfo.TrialReadingCriterionId;
|
||||||
var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId)
|
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();
|
.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 questionNewLesions = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == visitTaskInfo.TrialReadingCriterionId && x.LesionType == LesionType.NewLesions).FirstNotNullAsync();
|
||||||
|
|
||||||
// 既往新病灶
|
var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == criterionId).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||||
var questionAlwaysLesions = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == visitTaskInfo.TrialReadingCriterionId && x.LesionType == LesionType.AlwaysNewLesions).FirstNotNullAsync();
|
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