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> </summary>
</member> </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)"> <member name="M:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.GetVisitAnswer(System.Int32,System.String,System.Int32,System.String)">
<summary> <summary>
获取访视答案
</summary> </summary>
<param name="visitIndex"></param> <param name="visitIndex">访视Index 第几个访视</param>
<param name="lesionName"></param> <param name="lesionName">病灶字段名 数组</param>
<param name="num"></param> <param name="num">第几个病灶</param>
<param name="fieldName"></param> <param name="fieldName">要取的字段名</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NoTargetInfoList"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NoTargetInfoList">
@ -7132,12 +7139,12 @@
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NewTargetInfoList"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NewTargetInfoList">
<summary> <summary>
靶病灶信息 靶病灶信息
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NewNoTargetInfoList"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportTumorEvaluationInfo.NewNoTargetInfoList">
<summary> <summary>
非靶病灶信息 非靶病灶信息
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ExportData.OneHavePreviousNewLesions"> <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 get
{ {
List<TargetInfo> targets=new List<TargetInfo>(); return GetTargetInfoList("VisitTargetInfoList");
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;
} }
} }
/// <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>
/// 获取访视答案 /// 获取访视答案
/// </summary> /// </summary>
@ -129,9 +151,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
var result= string.Empty; var result= string.Empty;
try try
{ {
PropertyInfo listProp = VisitList[visitIndex].GetType().GetProperty(lesionName); PropertyInfo? listProp = VisitList[visitIndex].GetType().GetProperty(lesionName);
IList list = listProp.GetValue(VisitList[visitIndex]) as IList; IList? list = listProp.GetValue(VisitList[visitIndex]) as IList;
object listItem = list[num]; object? listItem = list[num];
FieldInfo field = listItem.GetType().GetField(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); FieldInfo field = listItem.GetType().GetField(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
if (field != null) if (field != null)
return field.GetValue(listItem).ToString(); return field.GetValue(listItem).ToString();
@ -155,86 +177,30 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{ {
get get
{ {
List<TargetInfo> targets = new List<TargetInfo>(); return GetTargetInfoList("VisitNoTargetInfoList"); ;
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;
} }
} }
/// <summary> /// <summary>
/// 靶病灶信息 /// 新靶病灶信息
/// </summary> /// </summary>
public List<TargetInfo> NewTargetInfoList public List<TargetInfo> NewTargetInfoList
{ {
get get
{ {
List<TargetInfo> targets = new List<TargetInfo>(); return GetTargetInfoList("NewVisitTargetInfoList"); ;
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;
} }
} }
/// <summary> /// <summary>
/// 非靶病灶信息 /// 新非靶病灶信息
/// </summary> /// </summary>
public List<TargetInfo> NewNoTargetInfoList public List<TargetInfo> NewNoTargetInfoList
{ {
get get
{ {
List<TargetInfo> targets = new List<TargetInfo>(); return GetTargetInfoList("NewVisitTargetInfoList"); ;
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;
} }
} }
} }

View File

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