This commit is contained in:
2023-03-27 16:39:12 +08:00
7 changed files with 77 additions and 25 deletions
@@ -160,6 +160,7 @@ namespace IRaCIS.Core.Application.Service
{
x.VisitTaskId = taskInfo.Id;
x.IsCurrentTaskAdd = false;
x.FristAddTaskId = taskInfo.Id;
x.Id = NewId.NextGuid();
});
@@ -213,20 +214,36 @@ namespace IRaCIS.Core.Application.Service
// 找到表格问题
var otherLesionTableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.ReadingQuestionId == otherLesionQuestion.Id).ToListAsync();
// 找到病灶状态
var newstateQuestionId = newLesionTableQuestionList.Where(x => x.QuestionMark == QuestionMark.State).Select(x=>x.Id).FirstOrDefault();
var stateAnswers = new List<string>() {
NewLesionState.Loss.GetEnumInt(),
NewLesionState.Suspected.GetEnumInt(),
NewLesionState.UnableEvaluate.GetEnumInt()
};
var needRowIds= tableAnswer.Where(x => x.TableQuestionId == newstateQuestionId && stateAnswers.Contains(x.Answer)).Select(x => x.RowId).Distinct().ToList();
addrowInfo.ForEach(x =>
{
if (x.QuestionId == newLesionQuestion.Id)
if (needRowIds.Contains(x.Id))
{
x.QuestionId = otherLesionQuestion.Id;
x.OrderMark = otherLesionQuestion.OrderMark;
x.RowMark = otherLesionQuestion.OrderMark+x.RowIndex.GetLesionMark();
x.RowMark = otherLesionQuestion.OrderMark + x.RowIndex.GetLesionMark();
}
});
tableAnswer.ForEach(x =>
{
if (x.QuestionId == newLesionQuestion.Id)
if (needRowIds.Contains(x.RowId))
{
x.QuestionId = otherLesionQuestion.Id;
@@ -1619,6 +1636,7 @@ namespace IRaCIS.Core.Application.Service
var task1 = await _visitTaskRepository.AddAsync(new VisitTask()
{
TrialId = trialId,
IsConvertedTask= originalTaskInfo.IsConvertedTask,
SubjectId = item.SubjectId,
IsUrgent = originalTaskInfo.IsUrgent,
VisitTaskNum = item.VisitNum + ReadingCommon.TaskNumDic[ReadingCategory.Global],
@@ -1670,6 +1688,7 @@ namespace IRaCIS.Core.Application.Service
SubjectId = item.SubjectId,
IsUrgent = originalTaskInfo.IsUrgent,
TaskName = item.ReadingName,
IsConvertedTask= originalTaskInfo.IsConvertedTask,
// 原任务是全局任务 加0.03 就好
VisitTaskNum = originalTaskInfo.VisitTaskNum + 0.03m,
ArmEnum = Arm.TumorArm, //特殊