病灶修改

IRC_NewDev
he 2024-02-21 11:19:33 +08:00
parent 0cc7b373b7
commit dfdb3b5951
2 changed files with 29 additions and 13 deletions

View File

@ -1098,7 +1098,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
tableRowAnswers.ForEach(x => tableRowAnswers.ForEach(x =>
{ {
x.SplitOrMergeType = null; x.SplitOrMergeType = x.SplitOrMergeType==SplitOrMergeType.Merge|| x.SplitOrMergeType == SplitOrMergeType.Merged? SplitOrMergeType.Merged : null;
x.VisitTaskId = visitTaskId; x.VisitTaskId = visitTaskId;
x.IsCurrentTaskAdd = false; x.IsCurrentTaskAdd = false;
x.Id = NewId.NextGuid(); x.Id = NewId.NextGuid();
@ -1173,20 +1173,32 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}); });
} }
var tableAnswers = copyTableAnswers.Select(x => new ReadingTableQuestionAnswer var tableAnswers = new List<ReadingTableQuestionAnswer>();
// 处理状态
var mergedRowIds = tableRowAnswers.Where(x => x.SplitOrMergeType == SplitOrMergeType.Merged).Select(x => x.Id).ToList();
copyTableAnswers.ForEach(x =>
{ {
Id = NewId.NextGuid(), var tableAnswer = new ReadingTableQuestionAnswer()
Answer = needCopyMarks.Contains(x.QuestionMark) ? x.Answer : string.Empty, {
QuestionId = x.QuestionId, Id = NewId.NextGuid(),
RowIndex = x.RowIndex, Answer = needCopyMarks.Contains(x.QuestionMark) ? x.Answer : string.Empty,
RowId = tableRowAnswers.Where(y => y.OriginalId == x.RowId).Select(x => x.Id).FirstOrDefault(), QuestionId = x.QuestionId,
TableQuestionId = x.TableQuestionId, RowIndex = x.RowIndex,
TrialId = x.TrialId, RowId = tableRowAnswers.Where(y => y.OriginalId == x.RowId).Select(x => x.Id).FirstOrDefault(),
VisitTaskId = visitTaskId, TableQuestionId = x.TableQuestionId,
TrialId = x.TrialId,
VisitTaskId = visitTaskId,
};
if (mergedRowIds.Contains(tableAnswer.RowId) && x.QuestionMark == QuestionMark.State)
{
tableAnswer.Answer = TargetState.Loss.GetEnumInt();
}
tableAnswers.Add(tableAnswer);
}); });
var questionMarkList = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == LastVisitTaskId).Select(x => new ReadingTaskQuestionMark()
var questionMarkList = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == LastVisitTaskId).Select(x => new ReadingTaskQuestionMark()
{ {
VisitTaskId= visitTaskId, VisitTaskId= visitTaskId,
FirstAddTaskId=x.FirstAddTaskId, FirstAddTaskId=x.FirstAddTaskId,

View File

@ -644,7 +644,7 @@ namespace IRaCIS.Core.Domain.Share
Split = 0, Split = 0,
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
Merge = 1, Merge = 1,
@ -653,6 +653,10 @@ namespace IRaCIS.Core.Domain.Share
/// </summary> /// </summary>
SplitMain = 2, SplitMain = 2,
/// <summary>
/// 融合过 再之前任务融合了
/// </summary>
Merged=3,
} }
/// <summary> /// <summary>