OCT IVUS 修改1
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
02a1ffe8b7
commit
991f1554ec
|
|
@ -8768,6 +8768,11 @@
|
||||||
IVUS测量值导入
|
IVUS测量值导入
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.IVUSMeasuredValue.FrameNumber">
|
||||||
|
<summary>
|
||||||
|
帧数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.IVUSMeasuredValue.Emm">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.IVUSMeasuredValue.Emm">
|
||||||
<summary>
|
<summary>
|
||||||
外弹力膜面积Emm
|
外弹力膜面积Emm
|
||||||
|
|
@ -8783,6 +8788,11 @@
|
||||||
外弹力膜面积- 管腔面积
|
外弹力膜面积- 管腔面积
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.OCTFCTUploadData.FrameNumber">
|
||||||
|
<summary>
|
||||||
|
帧数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.OCTFCTUploadData.FirstData">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.OCTFCTUploadData.FirstData">
|
||||||
<summary>
|
<summary>
|
||||||
第一次
|
第一次
|
||||||
|
|
|
||||||
|
|
@ -213,20 +213,25 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public int PlaqueNum { get; set; }
|
//public int PlaqueNum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 帧数
|
||||||
|
/// </summary>
|
||||||
|
public decimal? FrameNumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 外弹力膜面积Emm
|
/// 外弹力膜面积Emm
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal Emm { get; set; }
|
public decimal? Emm { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 管腔面积Lumen
|
/// 管腔面积Lumen
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal Lumen { get; set; }
|
public decimal? Lumen { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 外弹力膜面积- 管腔面积
|
/// 外弹力膜面积- 管腔面积
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal EmmSubtractionLumen
|
public decimal? EmmSubtractionLumen
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
|
@ -244,20 +249,25 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public class OCTFCTUploadData
|
public class OCTFCTUploadData
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 帧数
|
||||||
|
/// </summary>
|
||||||
|
public decimal? FrameNumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 第一次
|
/// 第一次
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal FirstData { get; set; }
|
public decimal? FirstData { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 第二次
|
/// 第二次
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal SecondData { get; set; }
|
public decimal? SecondData { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 第三次
|
/// 第三次
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal ThirdData { get; set; }
|
public decimal? ThirdData { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 巨噬细胞浸润测量
|
/// 巨噬细胞浸润测量
|
||||||
|
|
@ -291,7 +301,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public decimal? LipidAngle { get; set; }
|
public decimal? LipidAngle { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public decimal Avg { get {
|
public decimal? Avg { get {
|
||||||
|
|
||||||
return ( FirstData + SecondData + ThirdData) / 3;
|
return ( FirstData + SecondData + ThirdData) / 3;
|
||||||
} }
|
} }
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using IRaCIS.Core.Domain.Share;
|
||||||
using IRaCIS.Core.Infra.EFCore.Common;
|
using IRaCIS.Core.Infra.EFCore.Common;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
using MassTransit;
|
using MassTransit;
|
||||||
|
using MathNet.Numerics;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
@ -473,6 +474,33 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
return decimal.Parse(decimal.Round(decimal.Parse(value ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString()));
|
return decimal.Parse(decimal.Round(decimal.Parse(value ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString()));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
decimal? getdecimalEmptyData(string value)
|
||||||
|
{
|
||||||
|
if (value == string.Empty)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return decimal.Parse(decimal.Round(decimal.Parse(value ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
string getStringValue(decimal? value)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
if (digitPlaces == -1)
|
||||||
|
{
|
||||||
|
return value.Value.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return decimal.Round(value.Value, digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
List<IVUSMeasuredValue> measuredValueList = new List<IVUSMeasuredValue>();
|
List<IVUSMeasuredValue> measuredValueList = new List<IVUSMeasuredValue>();
|
||||||
var errorRow = new List<int> { };
|
var errorRow = new List<int> { };
|
||||||
|
|
||||||
|
|
@ -484,8 +512,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
iVUSMeasuredValue = new IVUSMeasuredValue()
|
iVUSMeasuredValue = new IVUSMeasuredValue()
|
||||||
{
|
{
|
||||||
//PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()),
|
//PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()),
|
||||||
Emm = getdecimalData(dataTable.Rows[i]["A"].ToString()),
|
FrameNumber = getdecimalEmptyData(dataTable.Rows[i]["A"].ToString()),
|
||||||
Lumen = getdecimalData(dataTable.Rows[i]["B"].ToString()),
|
Emm = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()),
|
||||||
|
Lumen = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString()),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
|
@ -553,22 +582,24 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
// TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueNumber).Select(x => x.Id).FirstOrDefault(),
|
// TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueNumber).Select(x => x.Id).FirstOrDefault(),
|
||||||
//});
|
//});
|
||||||
|
|
||||||
var emm = item.Emm.ToString();
|
|
||||||
var lumen=item.Lumen.ToString();
|
|
||||||
var emmSubtractionLumen = item.EmmSubtractionLumen.ToString();
|
|
||||||
|
|
||||||
if (taskinfo.TrialReadingCriterion.DigitPlaces != -1)
|
|
||||||
{
|
|
||||||
|
|
||||||
emm = decimal.Round(decimal.Parse(emm ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString());
|
|
||||||
lumen = decimal.Round(decimal.Parse(lumen ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString());
|
|
||||||
emmSubtractionLumen = decimal.Round(decimal.Parse(emmSubtractionLumen ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
// EMM
|
// EMM
|
||||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = emm,
|
Answer = getStringValue(item.FrameNumber),
|
||||||
|
QuestionId = questionInfo.Id,
|
||||||
|
TrialId = taskinfo.TrialId,
|
||||||
|
VisitTaskId = taskinfo.Id,
|
||||||
|
RowId = newRowId,
|
||||||
|
RowIndex = maxnum,
|
||||||
|
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.FrameNumber).Select(x => x.Id).FirstOrDefault(),
|
||||||
|
});
|
||||||
|
|
||||||
|
// EMM
|
||||||
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
|
{
|
||||||
|
Answer = getStringValue(item.Emm),
|
||||||
QuestionId = questionInfo.Id,
|
QuestionId = questionInfo.Id,
|
||||||
TrialId = taskinfo.TrialId,
|
TrialId = taskinfo.TrialId,
|
||||||
VisitTaskId = taskinfo.Id,
|
VisitTaskId = taskinfo.Id,
|
||||||
|
|
@ -579,7 +610,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = lumen,
|
Answer = getStringValue(item.Lumen),
|
||||||
QuestionId = questionInfo.Id,
|
QuestionId = questionInfo.Id,
|
||||||
TrialId = taskinfo.TrialId,
|
TrialId = taskinfo.TrialId,
|
||||||
VisitTaskId = taskinfo.Id,
|
VisitTaskId = taskinfo.Id,
|
||||||
|
|
@ -590,7 +621,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = emmSubtractionLumen,
|
Answer = getStringValue(item.EmmSubtractionLumen),
|
||||||
QuestionId = questionInfo.Id,
|
QuestionId = questionInfo.Id,
|
||||||
TrialId = taskinfo.TrialId,
|
TrialId = taskinfo.TrialId,
|
||||||
VisitTaskId = taskinfo.Id,
|
VisitTaskId = taskinfo.Id,
|
||||||
|
|
|
||||||
|
|
@ -354,15 +354,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
measuredValueList.Add(new OCTFCTUploadData()
|
measuredValueList.Add(new OCTFCTUploadData()
|
||||||
{
|
{
|
||||||
//PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()),
|
//PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()),
|
||||||
FirstData = getdecimalData(dataTable.Rows[i]["A"].ToString()),
|
FrameNumber = getdecimalEmptyData(dataTable.Rows[i]["A"].ToString()),
|
||||||
SecondData = getdecimalData(dataTable.Rows[i]["B"].ToString()),
|
FirstData = getdecimalEmptyData(dataTable.Rows[i]["B"].ToString()),
|
||||||
ThirdData = getdecimalData(dataTable.Rows[i]["C"].ToString()),
|
SecondData = getdecimalEmptyData(dataTable.Rows[i]["C"].ToString()),
|
||||||
MacrophageInfiltrationMeasurement = getNone(dataTable.Rows[i]["D"].ToString()),
|
ThirdData = getdecimalEmptyData(dataTable.Rows[i]["D"].ToString()),
|
||||||
MacrophageInfiltrationAngle = getdecimalEmptyData(dataTable.Rows[i]["E"].ToString() ?? string.Empty),
|
MacrophageInfiltrationMeasurement = getNone(dataTable.Rows[i]["E"].ToString()),
|
||||||
MicrochannelMeasurement = getNone(dataTable.Rows[i]["F"].ToString()),
|
MacrophageInfiltrationAngle = getdecimalEmptyData(dataTable.Rows[i]["F"].ToString() ?? string.Empty),
|
||||||
CholesterolCrystalMeasurement = getNone(dataTable.Rows[i]["G"].ToString()),
|
MicrochannelMeasurement = getNone(dataTable.Rows[i]["G"].ToString()),
|
||||||
LumenAreaMeasurement = getdecimalData(dataTable.Rows[i]["H"].ToString()),
|
CholesterolCrystalMeasurement = getNone(dataTable.Rows[i]["H"].ToString()),
|
||||||
LipidAngle = getdecimalEmptyData(dataTable.Rows[i]["I"].ToString() ?? string.Empty),
|
LumenAreaMeasurement = getdecimalEmptyData(dataTable.Rows[i]["I"].ToString()),
|
||||||
|
LipidAngle = getdecimalEmptyData(dataTable.Rows[i]["J"].ToString() ?? string.Empty),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
|
@ -463,19 +464,24 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
// TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueNumber).Select(x => x.Id).FirstOrDefault(),
|
// TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.PlaqueNumber).Select(x => x.Id).FirstOrDefault(),
|
||||||
//});
|
//});
|
||||||
|
|
||||||
var avg = item.Avg.ToString();
|
// 帧数
|
||||||
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
|
|
||||||
if (taskinfo.TrialReadingCriterion.DigitPlaces != -1)
|
|
||||||
{
|
{
|
||||||
avg = decimal.Round(decimal.Parse(avg ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString());
|
Answer = item.FrameNumber.DecimalNullToString(digitPlaces),
|
||||||
|
QuestionId = questionInfo.Id,
|
||||||
|
TrialId = taskinfo.TrialId,
|
||||||
|
VisitTaskId = taskinfo.Id,
|
||||||
|
RowId = newRowId,
|
||||||
|
RowIndex = maxnum,
|
||||||
|
TableQuestionId = tableQuestionList.Where(x => x.ReadingQuestionId == questionInfo.Id && x.QuestionMark == QuestionMark.FrameNumber).Select(x => x.Id).FirstOrDefault(),
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 第一次
|
// 第一次
|
||||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = item.FirstData.ToString(),
|
Answer = item.FirstData.DecimalNullToString(digitPlaces),
|
||||||
QuestionId = questionInfo.Id,
|
QuestionId = questionInfo.Id,
|
||||||
TrialId = taskinfo.TrialId,
|
TrialId = taskinfo.TrialId,
|
||||||
VisitTaskId = taskinfo.Id,
|
VisitTaskId = taskinfo.Id,
|
||||||
|
|
@ -486,7 +492,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = item.SecondData.ToString(),
|
Answer = item.SecondData.DecimalNullToString(digitPlaces),
|
||||||
QuestionId = questionInfo.Id,
|
QuestionId = questionInfo.Id,
|
||||||
TrialId = taskinfo.TrialId,
|
TrialId = taskinfo.TrialId,
|
||||||
VisitTaskId = taskinfo.Id,
|
VisitTaskId = taskinfo.Id,
|
||||||
|
|
@ -497,7 +503,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = item.ThirdData.ToString(),
|
Answer = item.ThirdData.DecimalNullToString(digitPlaces),
|
||||||
QuestionId = questionInfo.Id,
|
QuestionId = questionInfo.Id,
|
||||||
TrialId = taskinfo.TrialId,
|
TrialId = taskinfo.TrialId,
|
||||||
VisitTaskId = taskinfo.Id,
|
VisitTaskId = taskinfo.Id,
|
||||||
|
|
@ -508,7 +514,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
tableAnswers.Add(new ReadingTableQuestionAnswer()
|
||||||
{
|
{
|
||||||
Answer = avg,
|
Answer = item.Avg.DecimalNullToString(digitPlaces),
|
||||||
QuestionId = questionInfo.Id,
|
QuestionId = questionInfo.Id,
|
||||||
TrialId = taskinfo.TrialId,
|
TrialId = taskinfo.TrialId,
|
||||||
VisitTaskId = taskinfo.Id,
|
VisitTaskId = taskinfo.Id,
|
||||||
|
|
|
||||||
|
|
@ -2468,6 +2468,11 @@ namespace IRaCIS.Core.Domain.Share
|
||||||
/// </summary>
|
/// </summary>
|
||||||
PlaqueToOstiumDistance = 1031,
|
PlaqueToOstiumDistance = 1031,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 帧数
|
||||||
|
/// </summary>
|
||||||
|
FrameNumber =1032,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 第一次测量
|
/// 第一次测量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,23 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string DecimalNullToString (this decimal? value,int ? digitPlaces)
|
||||||
|
{
|
||||||
|
digitPlaces = digitPlaces ?? 0;
|
||||||
|
if (value==null)
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
if (digitPlaces == -1)
|
||||||
|
{
|
||||||
|
return value.Value.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return decimal.Round(value.Value, digitPlaces.Value, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Dictionary<ReadingCategory, decimal> TaskNumDic = new Dictionary<ReadingCategory, decimal>()
|
public static Dictionary<ReadingCategory, decimal> TaskNumDic = new Dictionary<ReadingCategory, decimal>()
|
||||||
{
|
{
|
||||||
{ReadingCategory.Visit, 0 },
|
{ReadingCategory.Visit, 0 },
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue