结构修改
continuous-integration/drone/push Build is failing Details

Test_IRC_Net8
he 2025-12-30 17:38:15 +08:00
parent 0fab295995
commit 3919d6a8a3
2 changed files with 58 additions and 12 deletions

View File

@ -503,7 +503,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{ {
public Guid SubjectId { get; set; } public Guid SubjectId { get; set; }
public CriterionType CriterionType { get; set; } public Guid TrialCriterionId { get; set; }
} }
public class GetReportsChartSummaryOutDto public class GetReportsChartSummaryOutDto
@ -518,10 +518,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class EvaluationColumn public class EvaluationColumn
{ {
public List<List<string>> Evaluation { get; set; } public List<List<EvaluationValue>> Evaluation { get; set; }
public string DictionaryCode { get; set; } public string DictionaryCode { get; set; }
} }
public class EvaluationValue public class EvaluationValue
{ {
public string Value { get; set; } public string Value { get; set; }

View File

@ -453,7 +453,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
&& x.ReadingCategory== ReadingCategory.Visit && x.ReadingCategory== ReadingCategory.Visit
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReadingTaskState == ReadingTaskState.HaveSigned
&& x.TaskState == TaskState.Effect && x.TaskState == TaskState.Effect
&& x.TrialReadingCriterion.CriterionType == inDto.CriterionType && x.TrialReadingCriterionId==inDto.TrialCriterionId
).OrderByDescending(x => x.VisitTaskNum).FirstOrDefaultAsync(); ).OrderByDescending(x => x.VisitTaskNum).FirstOrDefaultAsync();
if (task != null) if (task != null)
{ {
@ -471,27 +471,72 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{ {
EvaluationColumn result = new EvaluationColumn() EvaluationColumn result = new EvaluationColumn()
{ {
Evaluation = new List<List<string>>() { } Evaluation = new List<List<EvaluationValue>>() { }
}; };
var data = r1.VisitTaskList.Count() > r2.VisitTaskList.Count() ? r1 : r2; var data = r1.VisitTaskList.Count() > r2.VisitTaskList.Count() ? r1 : r2;
var visitTaskName = data.VisitTaskList.Select(x => x.BlindName).ToList(); var visitTaskName = data.VisitTaskList.Select(x => x.BlindName).ToList();
var length = data.VisitTaskList.Count(); var length = data.VisitTaskList.Count();
result.Evaluation.Add(visitTaskName); result.Evaluation.Add(visitTaskName.Select(x=> new EvaluationValue() {
result.DictionaryCode = data.TaskQuestions.SelectMany(x => x.Childrens).Where(x => x.QuestionType == QuestionType.Tumor).Select(x => x.DictionaryCode).FirstIsNullReturnEmpty(); Value=x
}).ToList());
var r1data = r1.TaskQuestions.SelectMany(x => x.Childrens).Where(x => x.QuestionType == QuestionType.Tumor).SelectMany(x => x.Answer).Select(x => x.Answer).ToList(); var r1baseLine= data.TaskQuestions
r1data = r1data.Concat(Enumerable.Repeat("", length)) .SelectMany(x => x.Childrens)
.Where(x => x.QuestionType == QuestionType.ExistDisease)
.SelectMany(x => x.Answer.Select(a => new EvaluationValue
{
DictionaryCode = x.DictionaryCode,
Value = a.Answer
}))
.ToList();
var r1data = data.TaskQuestions
.SelectMany(x => x.Childrens)
.Where(x => x.QuestionType == QuestionType.Tumor)
.SelectMany(x => x.Answer.Select(a => new EvaluationValue
{
DictionaryCode = x.DictionaryCode,
Value = a.Answer
}))
.ToList();
r1data = r1baseLine.Take(1).Concat(r1data.Skip(1)).ToList();
r1data= r1data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
.Take(length) .Take(length)
.ToList(); .ToList();
result.Evaluation.Add(r1data); result.Evaluation.Add(r1data);
var r2data = r2.TaskQuestions.SelectMany(x => x.Childrens).Where(x => x.QuestionType == QuestionType.Tumor).SelectMany(x => x.Answer).Select(x => x.Answer).ToList();
r2data = r2data.Concat(Enumerable.Repeat("", length))
var r2baseLine = data.TaskQuestions
.SelectMany(x => x.Childrens)
.Where(x => x.QuestionType == QuestionType.ExistDisease)
.SelectMany(x => x.Answer.Select(a => new EvaluationValue
{
DictionaryCode = x.DictionaryCode,
Value = a.Answer
}))
.ToList();
var r2data = data.TaskQuestions
.SelectMany(x => x.Childrens)
.Where(x => x.QuestionType == QuestionType.Tumor)
.SelectMany(x => x.Answer.Select(a => new EvaluationValue
{
DictionaryCode = x.DictionaryCode,
Value = a.Answer
}))
.ToList();
r2data = r2baseLine.Take(1).Concat(r2data.Skip(1)).ToList();
r2data = r2data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
.Take(length) .Take(length)
.ToList(); .ToList();
result.Evaluation.Add(r2data); result.Evaluation.Add(r2data);
return result; return result;