diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 6332842f8..09e3a70f2 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -7115,14 +7115,21 @@
靶病灶信息
+
+
+ 病灶名称
+
+
+
+
-
+ 获取访视答案
-
-
-
-
+ 访视Index 第几个访视
+ 病灶字段名 数组
+ 第几个病灶
+ 要取的字段名
@@ -7132,12 +7139,12 @@
- 非靶病灶信息
+ 新靶病灶信息
- 非靶病灶信息
+ 新非靶病灶信息
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs
index b7f5f02d0..ab01bd991 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs
@@ -93,29 +93,51 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
get
{
- List targets=new List();
-
- 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");
}
}
+ ///
+ /// 病灶名称
+ ///
+ ///
+ ///
+ public List GetTargetInfoList(string lesionName)
+ {
+ List targets = new List();
+ var index = 0;
+
+ PropertyInfo? listProp = VisitList.Last().GetType().GetProperty(lesionName);
+
+ if (listProp != null)
+ {
+ List? lesionList = listProp.GetValue(VisitList.Last()) as List;
+
+ 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;
+ }
+
///
/// 获取访视答案
///
@@ -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 targets = new List();
-
- 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"); ;
}
}
///
- /// 非靶病灶信息
+ /// 新靶病灶信息
///
public List NewTargetInfoList
{
get
{
- List targets = new List();
-
- 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"); ;
}
}
///
- /// 非靶病灶信息
+ /// 新非靶病灶信息
///
public List NewNoTargetInfoList
{
get
{
- List targets = new List();
-
- 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"); ;
}
}
}
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
index 3da75228e..ea9053b45 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
@@ -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"];