From b629b2eec42798fc8d880b715a8ed7eaa29db30a Mon Sep 17 00:00:00 2001
From: he <109787524@qq.com>
Date: Mon, 24 Nov 2025 13:37:09 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=A5=E5=91=8A=E5=9B=BE?=
=?UTF-8?q?=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../General/ReadingCalculateService.cs | 39 ++++++++++++++-----
1 file changed, 30 insertions(+), 9 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
index e4334ae08..c79fd0f8f 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
@@ -249,6 +249,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
///
public async Task GetReportsChartData(GetReportsChartDataInDto inDto)
{
+ var criterionId = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.TrialReadingCriterionId).FirstNotNullAsync();
+
+ var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == criterionId).Select(x => x.CriterionType).FirstOrDefaultAsync();
+
var data = await GetReadingReportEvaluation(new GetReadingReportEvaluationInDto()
{
TrialId = inDto.TrialId,
@@ -287,17 +291,34 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
for (var i = 0; i < result.VisitTaskNameList.Count; i++)
{
- // 淋巴结的短径
- if (item.Childrens.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer[i].Answer.EqEnum(ReadingYesOrNo.Yes)))
+
+ switch (criterionType)
{
- chartData.Value.Add(item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer[i].Answer).FirstOrDefault());
- result.Unit = item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x=>x.Unit).FirstOrDefault();
- }
- else
- {
- chartData.Value.Add(item.Childrens.Where(x => x.QuestionMark == QuestionMark.MajorAxis).Select(x => x.Answer[i].Answer).FirstOrDefault());
- result.Unit = item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Unit).FirstOrDefault();
+ case CriterionType.RECIST1Point1:
+ case CriterionType.RECIST1Pointt1_MB:
+ case CriterionType.mRECISTHCC:
+ case CriterionType.IRECIST1Point1:
+ // 淋巴结的短径
+ if (item.Childrens.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer[i].Answer.EqEnum(ReadingYesOrNo.Yes)))
+ {
+ chartData.Value.Add(item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer[i].Answer).FirstOrDefault());
+ result.Unit = item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Unit).FirstOrDefault();
+ }
+ else
+ {
+ chartData.Value.Add(item.Childrens.Where(x => x.QuestionMark == QuestionMark.MajorAxis).Select(x => x.Answer[i].Answer).FirstOrDefault());
+ result.Unit = item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Unit).FirstOrDefault();
+ }
+ break;
+
+ case CriterionType.Lugano2014:
+ case CriterionType.Lugano2014WithoutPET:
+ chartData.Value.Add(item.Childrens.Where(x => x.QuestionMark == QuestionMark.PPD).Select(x => x.Answer[i].Answer).FirstOrDefault());
+ result.Unit = item.Childrens.Where(x => x.QuestionMark == QuestionMark.PPD).Select(x => x.Unit).FirstOrDefault();
+ break;
}
+
+
}
result.ChartDataList.Add(chartData);