Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
he 2025-12-02 11:27:15 +08:00
commit 55882aa0ba
4 changed files with 436 additions and 396 deletions

View File

@ -390,9 +390,17 @@ public class IVUS_OCTExportService(IRepository<ReadingQuestionCriterionTrial> _r
{
var ivus = _mapper.Map<IvusExportDto>(task);
//靶段
ivus.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionName == "靶段").FirstOrDefault()?.QuestionValue ?? string.Empty;
//靶段
ivus.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegment).FirstOrDefault()?.QuestionValue ?? string.Empty;
var marks = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegmentRemarks).FirstOrDefault()?.QuestionValue ?? string.Empty;
if (marks.IsNotNullOrEmpty())
{
ivus.TARGETV = ivus.TARGETV + "_" + marks;
}
//斑块编号
ivus.PLAQUE = lesion.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.PlaqueNumber).FirstOrDefault()?.QuestionValue ?? string.Empty;
@ -407,10 +415,10 @@ public class IVUS_OCTExportService(IRepository<ReadingQuestionCriterionTrial> _r
//回撤中的图像帧数
ivus.PFC = task.QuestionAnswerList.Where(t => t.QuestionName == "回撤中的图像帧数").FirstOrDefault()?.QuestionValue ?? string.Empty;
ivus.PFC = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.PullbackFrameCount).FirstOrDefault()?.QuestionValue ?? string.Empty;
//分析图像帧数
ivus.FC = task.QuestionAnswerList.Where(t => t.QuestionName == "分析图像帧数").FirstOrDefault()?.QuestionValue ?? string.Empty;
ivus.FC = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.AnalysisFrameCount).FirstOrDefault()?.QuestionValue ?? string.Empty;
var findStatLession = task.LesionList.FirstOrDefault(t => t.LessionType == LesionType.PatchDataStatistics && t.LessionAnswerList.Any(t => t.QuestionMark == QuestionMark.PlaqueNumber && t.QuestionValue == ivus.PLAQUE));
var findPAVLession = task.LesionList.FirstOrDefault(t => t.LessionType == LesionType.PAV && t.LessionAnswerList.Any(t => t.QuestionMark == QuestionMark.PlaqueNumber && t.QuestionValue == ivus.PLAQUE));
@ -632,7 +640,16 @@ public class IVUS_OCTExportService(IRepository<ReadingQuestionCriterionTrial> _r
//靶段
oct.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionName == "靶段").FirstOrDefault()?.QuestionValue ?? string.Empty;
//靶段
oct.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegment).FirstOrDefault()?.QuestionValue ?? string.Empty;
var marks = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegmentRemarks).FirstOrDefault()?.QuestionValue ?? string.Empty;
if (marks.IsNotNullOrEmpty())
{
oct.TARGETV = oct.TARGETV + "_" + marks;
}
//斑块编号
oct.PLAQUE = pNo;

View File

@ -660,7 +660,7 @@ public class Tumor_CDISC_ExportService(IRepository<ReadingQuestionCriterionTrial
}
else
{
if (questionAnswer.ValueType == ValueOfType.Percentage)
if (questionAnswer.ValueType == ValueOfType.Percentage && double.TryParse(questionAnswer.QuestionValue, out _))
{
tr.OriginalMeasurements = questionAnswer.QuestionValue + "%";
@ -699,7 +699,7 @@ public class Tumor_CDISC_ExportService(IRepository<ReadingQuestionCriterionTrial
}
else if (criterion.CriterionType == CriterionType.Lugano2014)
{
trValueTypeIndex = Get_Lugano_RS_VisitFixed_Index(task, questionAnswer);
rsValueTypeIndex = Get_Lugano_RS_VisitFixed_Index(task, questionAnswer);
rsValueList = Lugano_RSFixed.RSValueList;
}
@ -721,7 +721,9 @@ public class Tumor_CDISC_ExportService(IRepository<ReadingQuestionCriterionTrial
rs.RespondEfficacyAssessment = questionAnswer.QuestionValue;
}
if (questionAnswer.QuestionType == QuestionType.Tumor)
if ((questionAnswer.QuestionType == QuestionType.Tumor && criterion.CriterionType == CriterionType.RECIST1Point1)||
(questionAnswer.QuestionType == QuestionType.ImgOncology && criterion.CriterionType == CriterionType.Lugano2014))
{
rs.AssessmentReason = task.VisitNote;
@ -1277,7 +1279,7 @@ public class Tumor_CDISC_ExportService(IRepository<ReadingQuestionCriterionTrial
case QuestionType.NoTargetLesion:
rsValueTypeIndex = 1;
break;
case QuestionType.NewLesions:
case QuestionType.NewLesionEvaluation:
rsValueTypeIndex = 2;
break;
@ -1308,7 +1310,7 @@ public class Tumor_CDISC_ExportService(IRepository<ReadingQuestionCriterionTrial
break;
case QuestionType.Tumor:
rsValueTypeIndex = 3;
rsValueTypeIndex = 9;
break;
}

View File

@ -2884,6 +2884,26 @@ public enum SUVChangeVSBaseline
/// </summary>
Plaque3MinFCT = 1008,
/// <summary>
/// 靶段
/// </summary>
TargetSegment = 1009,
/// <summary>
/// 回撤中的图像帧数
/// </summary>
PullbackFrameCount = 1010,
/// <summary>
/// 分析图像帧数
/// </summary>
AnalysisFrameCount = 1011,
/// <summary>
/// 靶段 备注
/// </summary>
TargetSegmentRemarks = 1012,
/// <summary>
/// 脂肪分数总平均值
/// </summary>

View File

@ -76,11 +76,12 @@ namespace IRaCIS.Core.Infrastructure.Extention
foreach (PropertyInfo property in properties)
{
if (typeof(IEnumerable).IsAssignableFrom(property.PropertyType)
&& property.PropertyType != typeof(string))
{
continue;
}
//质控导出需要集合
// if (typeof(IEnumerable).IsAssignableFrom(property.PropertyType)
//&& property.PropertyType != typeof(string))
// {
// continue;
// }
string propertyName = property.Name;
object propertyValue = property.GetValue(obj);