Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8

IRC_NewDev
hang 2024-04-08 17:30:40 +08:00
commit d9a8692be8
4 changed files with 164 additions and 46 deletions

View File

@ -1761,6 +1761,11 @@
基线任务Id
</summary>
</member>
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.LuganoCalculateService.isUnableFuse">
<summary>
影像是否无法融合
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.LuganoCalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
<summary>
删除病灶获取起始病灶序号RECIST1Point1 固定是1
@ -1811,6 +1816,13 @@
<param name="calculateType"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.LuganoCalculateService.ImageQualityIsUnableFuse(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取影像是否无法融合
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.LuganoCalculateService.GetReportTumor(System.Guid)">
<summary>
获取报告整体整体评估

View File

@ -111,6 +111,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// </summary>
private Guid? BaseLineTaskId;
/// <summary>
/// 影像是否无法融合
/// </summary>
private bool? isUnableFuse;
private string nAString = "NA";
#endregion
@ -767,6 +773,25 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
/// <summary>
/// 获取影像是否无法融合
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<bool> ImageQualityIsUnableFuse(ReadingCalculateDto inDto)
{
if (isUnableFuse != null)
{
return isUnableFuse.Value;
}
else
{
var imageQualityProblem = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.ImageQualityProblem).Select(x => x.Answer).FirstOrDefault();
isUnableFuse = imageQualityProblem == ((int)ImageQualityIssues.PETCTFailureFuse).ToString();
return isUnableFuse.Value;
}
}
/// <summary>
/// 获取报告整体整体评估
@ -2428,11 +2453,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
//无需标记,自主选择
else
{
Console.WriteLine("计算了PET5PS,当前接口" + _userInfo.RequestUrl + "当前结果");
return string.Empty;
}
Console.WriteLine("计算了PET5PS,当前接口" + _userInfo.RequestUrl+"当前结果"+ result.GetEnumInt());
return result.GetEnumInt();
}
#endregion

View File

@ -407,27 +407,55 @@ namespace IRaCIS.Core.Domain.Share
/// </summary>
public enum ValueUnit
{
None = 0,
/// <summary>
/// 无
/// </summary>
none = 0,
/// <summary>
/// MM
/// mm
/// </summary>
MM = 1,
mm = 1,
/// <summary>
/// CM
/// cm
/// </summary>
CM = 2,
cm = 2,
/// <summary>
/// 个
/// </summary>
Individual = 3,
individual = 3,
/// <summary>
/// 自定义
/// </summary>
Custom = 4,
/// <summary>
/// mm2
/// </summary>
mm2 = 5,
/// <summary>
/// mm3
/// </summary>
mm3 = 6,
/// <summary>
/// SUV
/// </summary>
SUV = 7,
/// <summary>
/// HU
/// </summary>
HU = 8,
/// <summary>
/// %
/// </summary>
percentage = 9,
}
@ -1973,6 +2001,45 @@ public enum SUVChangeVSBaseline
}
/// <summary>
/// 影像质量问题
/// </summary>
public enum ImageQualityIssues
{
/// <summary>
/// 解剖不完整
/// </summary>
IncompleteAnatomy = 1,
/// <summary>
/// 扫描断层丢失
/// </summary>
MissingScanSlice=2,
/// <summary>
/// 存在运动伪影
/// </summary>
MotionArtifactsPresent = 3,
/// <summary>
/// 关键解剖部位缺失
/// </summary>
KeyAnatomyOutOfFieldOfView = 4,
/// <summary>
/// 其它(需要备注)
/// </summary>
OtherIssuesCommentsRequired=5,
/// <summary>
/// PET-CT影像无法融合
/// </summary>
PETCTFailureFuse = 6,
}
/// <summary>
/// 问题类型 这里序号关系着计算顺序 请勿修改
/// </summary>
@ -2287,6 +2354,11 @@ public enum SUVChangeVSBaseline
/// 脾底位置
/// </summary>
SplenicBottomPosition = 61,
/// <summary>
/// 影像质量问题
/// </summary>
ImageQualityProblem = 67,
}

View File

@ -2700,6 +2700,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
// 保存影像质量 、 修改整体肿瘤评估结果 、 非dicom 保存访视阅片结果 、附加评估
if (_userInfo.RequestUrl == "ReadingImageTask/changeDicomReadingQuestionAnswer"
|| _userInfo.RequestUrl == "ReadingImageTask/saveImageQuality"
|| _userInfo.RequestUrl.Contains("SaveTaskQuestion")
|| _userInfo.RequestUrl == "ReadingImageTask/saveVisitTaskQuestions"
|| _userInfo.RequestUrl == "ReadingImageTask/changeCalculationAnswer"
|| _userInfo.RequestUrl == "ReadingImageTask/submitTaskAdditionalQuestion")
@ -2718,6 +2719,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
t.QuestionEnName,
QuestionId = t.Id,
t.DictionaryCode,
t.Unit,
t.ShowOrder,
AnswerType = t.Type,
}).OrderBy(t => t.ShowOrder).ToListAsync();
@ -2790,7 +2792,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}, new
{
QuestionAnswerList = taskQuestionAnswerList.Join(quesionList, t => t.ReadingQuestionTrialId, u => u.QuestionId, (t, u) =>
QuestionAnswerList = taskQuestionAnswerList.Join(quesionList,
t => t.ReadingQuestionTrialId,
u => u.QuestionId,
(t, u) =>
new { Answer = u.AnswerType == "upload" ? "❄❅❆❇❈❉❊" + t.Answer : t.Answer, u.DictionaryCode, u.QuestionName, u.QuestionEnName, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList()
,
TableQuestionAndAnswerList = tableQuesionAndAnswerList
@ -2850,6 +2855,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//处理标识 因为触发器在稽查后才进行操作
if (entity.OrderMark == string.Empty)
{
entity.OrderMark = await _dbContext.ReadingQuestionTrial.Where(x => x.Id == entity.QuestionId).Select(x => x.OrderMark).FirstOrDefaultAsync();
}
entity.RowMark = entity.OrderMark + entity.RowIndex.GetLesionMark();