修改报告图表
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
he 2025-11-24 13:37:09 +08:00
parent 01af8f72d3
commit b629b2eec4
1 changed files with 30 additions and 9 deletions

View File

@ -249,6 +249,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// <returns></returns> /// <returns></returns>
public async Task<GetReportsChartDataOutDto> GetReportsChartData(GetReportsChartDataInDto inDto) public async Task<GetReportsChartDataOutDto> 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() var data = await GetReadingReportEvaluation(new GetReadingReportEvaluationInDto()
{ {
TrialId = inDto.TrialId, TrialId = inDto.TrialId,
@ -287,17 +291,34 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
for (var i = 0; i < result.VisitTaskNameList.Count; i++) 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()); case CriterionType.RECIST1Point1:
result.Unit = item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x=>x.Unit).FirstOrDefault(); case CriterionType.RECIST1Pointt1_MB:
} case CriterionType.mRECISTHCC:
else case CriterionType.IRECIST1Point1:
{ // 淋巴结的短径
chartData.Value.Add(item.Childrens.Where(x => x.QuestionMark == QuestionMark.MajorAxis).Select(x => x.Answer[i].Answer).FirstOrDefault()); if (item.Childrens.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer[i].Answer.EqEnum(ReadingYesOrNo.Yes)))
result.Unit = item.Childrens.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Unit).FirstOrDefault(); {
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); result.ChartDataList.Add(chartData);