结构修改
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 CriterionType CriterionType { get; set; }
public Guid TrialCriterionId { get; set; }
}
public class GetReportsChartSummaryOutDto
@ -518,10 +518,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class EvaluationColumn
{
public List<List<string>> Evaluation { get; set; }
public List<List<EvaluationValue>> Evaluation { get; set; }
public string DictionaryCode { get; set; }
}
public class EvaluationValue
{
public string Value { get; set; }

View File

@ -453,7 +453,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
&& x.ReadingCategory== ReadingCategory.Visit
&& x.ReadingTaskState == ReadingTaskState.HaveSigned
&& x.TaskState == TaskState.Effect
&& x.TrialReadingCriterion.CriterionType == inDto.CriterionType
&& x.TrialReadingCriterionId==inDto.TrialCriterionId
).OrderByDescending(x => x.VisitTaskNum).FirstOrDefaultAsync();
if (task != null)
{
@ -471,27 +471,72 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
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 visitTaskName = data.VisitTaskList.Select(x => x.BlindName).ToList();
var length = data.VisitTaskList.Count();
result.Evaluation.Add(visitTaskName);
result.DictionaryCode = data.TaskQuestions.SelectMany(x => x.Childrens).Where(x => x.QuestionType == QuestionType.Tumor).Select(x => x.DictionaryCode).FirstIsNullReturnEmpty();
result.Evaluation.Add(visitTaskName.Select(x=> new EvaluationValue() {
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();
r1data = r1data.Concat(Enumerable.Repeat("", length))
var r1baseLine= 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 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)
.ToList();
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)
.ToList();
result.Evaluation.Add(r2data);
return result;