From 5ade2135ee752eca4e9a125e5024f6bcb492cced Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 10 Sep 2025 15:11:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 12 ++++- .../Reading/Dto/ExportTumorEvaluationDto.cs | 44 +++++++++++++++++-- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index d6394366c..6332842f8 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -7087,7 +7087,7 @@ - 所有访视的靶病灶列表 + 所有访视的靶病灶列表 最多有三个 @@ -7115,6 +7115,16 @@ 靶病灶信息 + + + + + + + + + + 非靶病灶信息 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs index a275d7557..b7f5f02d0 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs @@ -1,6 +1,10 @@ -using System; +using DocumentFormat.OpenXml.Wordprocessing; +using MassTransit.Caching.Internals; +using System; +using System.Collections; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; @@ -17,7 +21,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class ExportTumorEvaluationInfo { /// - /// 所有访视的靶病灶列表 + /// 所有访视的靶病灶列表 最多有三个 /// public List VisitList { get; set; } @@ -97,8 +101,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto TargetInfo targetInfo = new TargetInfo() { Title = item.Title, - VisitOneImgNum = item.VisitImgNum, - VisitOneLength = item.VisitLength.ToString(), + VisitOneImgNum = GetVisitAnswer(0, "VisitTargetInfoList", index, "VisitImgNum"), + VisitOneLength = GetVisitAnswer(0, "VisitTargetInfoList", index, "VisitLength"), VisitTwoImgNum = VisitList.Count >= 2 ? VisitTwo.VisitTargetInfoList[index].VisitImgNum : string.Empty, VisitTwoLength = VisitList.Count >= 2 ? VisitTwo.VisitTargetInfoList[index].VisitLength.ToString() : string.Empty, VisitThreeImgNum = VisitList.Count >= 3 ? VisitThree.VisitTargetInfoList[index].VisitImgNum : string.Empty, @@ -112,6 +116,38 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } } + /// + /// 获取访视答案 + /// + /// 访视Index 第几个访视 + /// 病灶字段名 数组 + /// 第几个病灶 + /// 要取的字段名 + /// + private string GetVisitAnswer(int visitIndex, string lesionName , int num, string fieldName) + { + var result= string.Empty; + try + { + PropertyInfo listProp = VisitList[visitIndex].GetType().GetProperty(lesionName); + IList list = listProp.GetValue(VisitList[visitIndex]) as IList; + object listItem = list[num]; + FieldInfo field = listItem.GetType().GetField(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + if (field != null) + return field.GetValue(listItem).ToString(); + PropertyInfo prop = listItem.GetType().GetProperty(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + if (prop != null) + return prop.GetValue(listItem).ToString(); + } + catch (Exception) + { + + + } + + return result; + } + /// /// 非靶病灶信息 ///