Ires肿瘤导出
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
he 2025-09-10 15:25:03 +08:00
parent 5ade2135ee
commit 87709f0122
3 changed files with 68 additions and 91 deletions

View File

@ -7115,14 +7115,21 @@
靶病灶信息
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.GetTargetInfoList(System.String)">
<summary>
病灶名称
</summary>
<param name="lesionName"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.GetVisitAnswer(System.Int32,System.String,System.Int32,System.String)">
<summary>
获取访视答案
</summary>
<param name="visitIndex"></param>
<param name="lesionName"></param>
<param name="num"></param>
<param name="fieldName"></param>
<param name="visitIndex">访视Index 第几个访视</param>
<param name="lesionName">病灶字段名 数组</param>
<param name="num">第几个病灶</param>
<param name="fieldName">要取的字段名</param>
<returns></returns>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NoTargetInfoList">
@ -7132,12 +7139,12 @@
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NewTargetInfoList">
<summary>
靶病灶信息
靶病灶信息
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NewNoTargetInfoList">
<summary>
非靶病灶信息
非靶病灶信息
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportData.OneHavePreviousNewLesions">

View File

@ -93,29 +93,51 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
get
{
List<TargetInfo> targets=new List<TargetInfo>();
var index = 0;
foreach (var item in VisitList.Last().VisitTargetInfoList)
{
TargetInfo targetInfo = new TargetInfo()
{
Title = item.Title,
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,
VisitThreeLength = VisitList.Count >= 3 ? VisitThree.VisitTargetInfoList[index].VisitLength.ToString() : string.Empty
};
targets.Add(targetInfo);
index++;
}
return targets;
return GetTargetInfoList("VisitTargetInfoList");
}
}
/// <summary>
/// 病灶名称
/// </summary>
/// <param name="lesionName"></param>
/// <returns></returns>
public List<TargetInfo> GetTargetInfoList(string lesionName)
{
List<TargetInfo> targets = new List<TargetInfo>();
var index = 0;
PropertyInfo? listProp = VisitList.Last().GetType().GetProperty(lesionName);
if (listProp != null)
{
List<VisitLesionInfo>? lesionList = listProp.GetValue(VisitList.Last()) as List<VisitLesionInfo>;
if (lesionList != null)
{
foreach (var item in lesionList)
{
TargetInfo targetInfo = new TargetInfo()
{
Title = item.Title,
VisitOneImgNum = GetVisitAnswer(0, lesionName, index, "VisitImgNum"),
VisitOneLength = GetVisitAnswer(0, lesionName, index, "VisitLength"),
VisitTwoImgNum = GetVisitAnswer(1, lesionName, index, "VisitImgNum"),
VisitTwoLength = GetVisitAnswer(1, lesionName, index, "VisitLength"),
VisitThreeImgNum = GetVisitAnswer(2, lesionName, index, "VisitImgNum"),
VisitThreeLength = GetVisitAnswer(2, lesionName, index, "VisitLength"),
};
targets.Add(targetInfo);
index++;
}
}
}
return targets;
}
/// <summary>
/// 获取访视答案
/// </summary>
@ -129,9 +151,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
var result= string.Empty;
try
{
PropertyInfo listProp = VisitList[visitIndex].GetType().GetProperty(lesionName);
IList list = listProp.GetValue(VisitList[visitIndex]) as IList;
object listItem = list[num];
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();
@ -155,86 +177,30 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
get
{
List<TargetInfo> targets = new List<TargetInfo>();
var index = 0;
foreach (var item in VisitList.Last().VisitNoTargetInfoList)
{
TargetInfo targetInfo = new TargetInfo()
{
Title = item.Title,
VisitOneImgNum = item.VisitImgNum,
VisitOneLength = item.VisitLength!=null? item.VisitLength.Value.ToString():string.Empty,
VisitTwoImgNum = VisitList.Count >= 2 ? VisitTwo.VisitNoTargetInfoList[index].VisitImgNum : string.Empty,
VisitTwoLength = VisitList.Count >= 2&& VisitTwo.VisitNoTargetInfoList[index].VisitLength!=null ? VisitTwo.VisitNoTargetInfoList[index].VisitLength.Value.ToString() : string.Empty,
VisitThreeImgNum = VisitList.Count >= 3 ? VisitThree.VisitNoTargetInfoList[index].VisitImgNum : string.Empty,
VisitThreeLength = VisitList.Count >= 3&& VisitThree.VisitNoTargetInfoList[index].VisitLength!=null ? VisitThree.VisitNoTargetInfoList[index].VisitLength.Value.ToString() : string.Empty
};
targets.Add(targetInfo);
index++;
}
return targets;
return GetTargetInfoList("VisitNoTargetInfoList"); ;
}
}
/// <summary>
/// 靶病灶信息
/// 新靶病灶信息
/// </summary>
public List<TargetInfo> NewTargetInfoList
{
get
{
List<TargetInfo> targets = new List<TargetInfo>();
var index = 0;
foreach (var item in VisitList.Last().NewVisitTargetInfoList)
{
TargetInfo targetInfo = new TargetInfo()
{
Title = item.Title,
VisitOneImgNum = item.VisitImgNum,
VisitOneLength = item.VisitLength != null ? item.VisitLength.Value.ToString() : string.Empty,
VisitTwoImgNum = VisitList.Count >= 2 ? VisitTwo.NewVisitTargetInfoList[index].VisitImgNum : string.Empty,
VisitTwoLength = VisitList.Count >= 2 && VisitTwo.NewVisitTargetInfoList[index].VisitLength != null ? VisitTwo.NewVisitTargetInfoList[index].VisitLength.Value.ToString() : string.Empty,
VisitThreeImgNum = VisitList.Count >= 3 ? VisitThree.NewVisitTargetInfoList[index].VisitImgNum : string.Empty,
VisitThreeLength = VisitList.Count >= 3 && VisitThree.NewVisitTargetInfoList[index].VisitLength != null ? VisitThree.NewVisitTargetInfoList[index].VisitLength.Value.ToString() : string.Empty
};
targets.Add(targetInfo);
index++;
}
return targets;
return GetTargetInfoList("NewVisitTargetInfoList"); ;
}
}
/// <summary>
/// 非靶病灶信息
/// 新非靶病灶信息
/// </summary>
public List<TargetInfo> NewNoTargetInfoList
{
get
{
List<TargetInfo> targets = new List<TargetInfo>();
var index = 0;
foreach (var item in VisitList.Last().NewVisitNoTargetInfoList)
{
TargetInfo targetInfo = new TargetInfo()
{
Title = item.Title,
VisitOneImgNum = item.VisitImgNum,
VisitOneLength = item.VisitLength != null ? item.VisitLength.Value.ToString() : string.Empty,
VisitTwoImgNum = VisitList.Count >= 2 ? VisitTwo.NewVisitNoTargetInfoList[index].VisitImgNum : string.Empty,
VisitTwoLength = VisitList.Count >= 2 && VisitTwo.NewVisitNoTargetInfoList[index].VisitLength != null ? VisitTwo.NewVisitNoTargetInfoList[index].VisitLength.Value.ToString() : string.Empty,
VisitThreeImgNum = VisitList.Count >= 3 ? VisitThree.NewVisitNoTargetInfoList[index].VisitImgNum : string.Empty,
VisitThreeLength = VisitList.Count >= 3 && VisitThree.NewVisitNoTargetInfoList[index].VisitLength != null ? VisitThree.NewVisitNoTargetInfoList[index].VisitLength.Value.ToString() : string.Empty
};
targets.Add(targetInfo);
index++;
}
return targets;
return GetTargetInfoList("NewVisitTargetInfoList"); ;
}
}
}

View File

@ -106,6 +106,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
string getHavePreviousNewLesions(Guid visitId)
{
var answer = answerList.Where(x => x.ReadingQuestionTrial.QuestionType == QuestionType.OtherNewTargetLesion && x.Id == visitId).Select(x => x.Answer).FirstIsNullReturnEmpty();
if(answer==string.Empty)
{
return string.Empty;
}
if (answer == ((int)(OtherPreviousNewLesionAssessment.iUPD)).ToString())
{
return _localizer["CriterionCalculateExport_Yes"];