IUVS和OCT修改
continuous-integration/drone/push Build is running Details

Test_IRC_Net10
he 2026-07-27 13:39:28 +08:00
parent 822a4331aa
commit e762da2bf5
4 changed files with 98 additions and 9 deletions

View File

@ -238,6 +238,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
return this.Emm - this.Lumen; return this.Emm - this.Lumen;
} }
} }
/// <summary>
/// 斑块破裂
/// </summary>
public string PlaqueRupture { get; set; }
} }
public class TemplateData public class TemplateData
@ -300,6 +305,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public decimal? LipidAngle { get; set; } public decimal? LipidAngle { get; set; }
/// <summary>
/// 斑块破裂
/// </summary>
public string PlaqueRupture { get; set; }
/// <summary>
/// 斑块愈合
/// </summary>
public string PlaqueHealing { get; set; }
public decimal? Avg public decimal? Avg
{ {

View File

@ -298,10 +298,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
//new ReadingCalculateData (){QuestionType=QuestionType.Plaque3PVA,GetDecimalNullFun=GetPlaque3PVA}, //new ReadingCalculateData (){QuestionType=QuestionType.Plaque3PVA,GetDecimalNullFun=GetPlaque3PVA},
// (EEM-Lumen)求和 // 获取EMM求和
new ReadingCalculateData (){QuestionType=QuestionType.EEMSum,GetDecimalNullFun=GetEmmSum}, new ReadingCalculateData (){QuestionType=QuestionType.EEMSum,GetDecimalNullFun=GetEmmSum},
// 斑块2-PAV // (EEM-Lumen)求和
new ReadingCalculateData (){QuestionType=QuestionType.EEMSubLumenSum,GetDecimalNullFun=GetEEMLumenSum}, new ReadingCalculateData (){QuestionType=QuestionType.EEMSubLumenSum,GetDecimalNullFun=GetEEMLumenSum},
// PAV冠状动脉粥样硬化体积百分比) // PAV冠状动脉粥样硬化体积百分比)
@ -494,6 +494,30 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
string getNone(string value)
{
if (value == string.Empty || value == null)
{
return "无";
}
else
{
return value;
}
}
Dictionary<string, string> isPresent = new Dictionary<string, string>()
{
{ "有","1"},
{ "无","0"},
{ "Existence","1"},
{ "Non-existence","0"},
{ string.Empty,string.Empty},
};
List<IVUSMeasuredValue> measuredValueList = new List<IVUSMeasuredValue>(); List<IVUSMeasuredValue> measuredValueList = new List<IVUSMeasuredValue>();
var errorRow = new List<int> { }; var errorRow = new List<int> { };
@ -508,6 +532,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
FrameNumber = dataTable.Rows[i]["A"].ToString()??string.Empty, FrameNumber = dataTable.Rows[i]["A"].ToString()??string.Empty,
Emm = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()), Emm = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()),
Lumen = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString()), Lumen = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString()),
PlaqueRupture= getNone(dataTable.Rows[i]["D"].ToString()),
}; };
} }
catch (Exception) catch (Exception)
@ -623,6 +648,18 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.ElasticAreaDiffValue).Select(x => x.Id).FirstOrDefault(), TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.ElasticAreaDiffValue).Select(x => x.Id).FirstOrDefault(),
}); });
// 斑块破裂
tableAnswers.Add(new ReadingTableQuestionAnswer()
{
Answer = isPresent[item.PlaqueRupture.ToString()],
QuestionId = questionInfo.Id,
TrialId = taskinfo.TrialId,
VisitTaskId = taskinfo.Id,
RowId = newRowId,
RowIndex = maxnum,
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueRupture).Select(x => x.Id).FirstOrDefault(),
});
// 添加其他问题答案 // 添加其他问题答案
foreach (var otherQuestion in tableQuestionList.Where(x => !tableAnswers.Any(y => y.TableQuestionId == x.Id && y.RowId == newRowId))) foreach (var otherQuestion in tableQuestionList.Where(x => !tableAnswers.Any(y => y.TableQuestionId == x.Id && y.RowId == newRowId)))

View File

@ -355,15 +355,18 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{ {
//PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()), //PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()),
FrameNumber = dataTable.Rows[i]["A"].ToString() ?? string.Empty, FrameNumber = dataTable.Rows[i]["A"].ToString() ?? string.Empty,
FirstData = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()), LumenAreaMeasurement = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()),
SecondData = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString()), LipidAngle = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString() ?? string.Empty),
ThirdData = getdecimalEmptyData(dataTable.Rows[i]["D"].ToString()), FirstData = getdecimalEmptyData(dataTable.Rows[i]["D"].ToString()),
MacrophageInfiltrationMeasurement = getNone(dataTable.Rows[i]["E"].ToString()), SecondData = getdecimalEmptyData(dataTable.Rows[i]["E"].ToString()),
MacrophageInfiltrationAngle = getdecimalEmptyData(dataTable.Rows[i]["F"].ToString() ?? string.Empty), ThirdData = getdecimalEmptyData(dataTable.Rows[i]["F"].ToString()),
MicrochannelMeasurement = getNone(dataTable.Rows[i]["G"].ToString()), MicrochannelMeasurement = getNone(dataTable.Rows[i]["G"].ToString()),
CholesterolCrystalMeasurement = getNone(dataTable.Rows[i]["H"].ToString()), CholesterolCrystalMeasurement = getNone(dataTable.Rows[i]["H"].ToString()),
LumenAreaMeasurement = getdecimalEmptyData(dataTable.Rows[i]["I"].ToString()), MacrophageInfiltrationMeasurement = getNone(dataTable.Rows[i]["I"].ToString()),
LipidAngle = getdecimalEmptyData(dataTable.Rows[i]["J"].ToString() ?? string.Empty), MacrophageInfiltrationAngle = getdecimalEmptyData(dataTable.Rows[i]["J"].ToString() ?? string.Empty),
PlaqueRupture = getNone(dataTable.Rows[i]["K"].ToString()),
PlaqueHealing = getNone(dataTable.Rows[i]["L"].ToString()),
}); });
} }
catch (Exception) catch (Exception)
@ -598,6 +601,30 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.LipidAngle).Select(x => x.Id).FirstOrDefault(), TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.LipidAngle).Select(x => x.Id).FirstOrDefault(),
}); });
// 斑块破裂
tableAnswers.Add(new ReadingTableQuestionAnswer()
{
Answer = isPresent[item.PlaqueRupture.ToString()],
QuestionId = questionInfo.Id,
TrialId = taskinfo.TrialId,
VisitTaskId = taskinfo.Id,
RowId = newRowId,
RowIndex = maxnum,
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueRupture).Select(x => x.Id).FirstOrDefault(),
});
// 斑块愈合
tableAnswers.Add(new ReadingTableQuestionAnswer()
{
Answer = isPresent[item.PlaqueHealing.ToString()],
QuestionId = questionInfo.Id,
TrialId = taskinfo.TrialId,
VisitTaskId = taskinfo.Id,
RowId = newRowId,
RowIndex = maxnum,
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueHealing).Select(x => x.Id).FirstOrDefault(),
});
} }
catch (Exception) catch (Exception)
{ {

View File

@ -2518,6 +2518,16 @@ namespace IRaCIS.Core.Domain.Share
/// </summary> /// </summary>
FrameNumber =1032, FrameNumber =1032,
/// <summary>
/// 斑块破裂
/// </summary>
PlaqueRupture = 1033,
/// <summary>
/// 斑块愈合
/// </summary>
PlaqueHealing = 1034,
/// <summary> /// <summary>
/// 第一次测量 /// 第一次测量
/// </summary> /// </summary>