diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index f52a044e6..72f9cada8 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -3675,6 +3675,13 @@
+
+
+ 获取报告图表数据
+
+
+
+
获取阅片报告
@@ -6704,6 +6711,13 @@
+
+
+ 获取报告图表数据
+
+
+
+
验证访视提交
@@ -13873,6 +13887,13 @@
IR影像阅片
+
+
+ 获取报告图表数据
+
+
+
+
设置已阅读关键文件
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index ec6c5c769..33b14b86b 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -447,7 +447,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
}
public class GetReportsChartDataOutDto
{
+ public List VisitTaskNameList { get; set; }
+ public List ChartDataList { get; set; }
+
+
+ }
+
+ public class ChartData
+ {
+ public string Name { get; set; }
+ public List Value { get; set; }
}
public class GetReportsChartDataInDto
@@ -455,6 +465,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid VisitTaskId { get; set; }
public Guid TrialId { get; set; }
+
+ public Guid? QuestionId { get; set; }
+
+ public Guid? TableQuestionId { get; set; }
+
+ public decimal? RowIndex { get; set; }
}
public class SetReadKeyFileInDto
{
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
index 6fb635a40..b18943cd5 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
@@ -1,4 +1,5 @@
-using IRaCIS.Core.Application.Helper;
+using DocumentFormat.OpenXml.Office.SpreadSheetML.Y2023.MsForms;
+using IRaCIS.Core.Application.Helper;
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Domain.Models;
@@ -252,7 +253,64 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
TrialId = inDto.TrialId,
VisitTaskId = inDto.VisitTaskId,
});
- return new GetReportsChartDataOutDto();
+
+ GetReportsChartDataOutDto result = new GetReportsChartDataOutDto()
+ {
+ VisitTaskNameList = data.VisitTaskList.Select(x => x.BlindName).ToList(),
+ ChartDataList=new List() { },
+ };
+
+
+ result.VisitTaskNameList = data.VisitTaskList.Select(x => x.BlindName).ToList();
+ if (inDto.QuestionId != null)
+ {
+ var question = data.TaskQuestions.SelectMany(x => x.Childrens)
+ .Where(x => x.QuestionId == inDto.QuestionId.Value).FirstOrDefault();
+ if (question != null)
+ {
+ ChartData chartData = new ChartData()
+ {
+ Name = question.QuestionName,
+ Value = new List(),
+ };
+ foreach (var answer in question.Answer)
+ {
+ chartData.Value.Add(answer.Answer);
+ }
+ result.ChartDataList.Add(chartData);
+ }
+
+ }
+ else
+ {
+ var lesion = data.TaskQuestions
+ // 问题 靶病灶
+ .SelectMany(x => x.Childrens)
+ // 病灶
+ .SelectMany(x => x.Childrens).Where(x=> x.RowIndex == inDto.RowIndex)
+ // 表格问题
+ .SelectMany(x => x.Childrens).Where(x => x.TableQuestionId == inDto.TableQuestionId)
+
+ .FirstOrDefault();
+
+ if (lesion != null)
+ {
+ ChartData chartData = new ChartData()
+ {
+ Name = lesion.QuestionName,
+ Value = new List(),
+ };
+ foreach (var answer in lesion.Answer)
+ {
+ chartData.Value.Add(answer.Answer);
+ }
+ result.ChartDataList.Add(chartData);
+ }
+
+
+ }
+
+ return result;
}
///