获取可融合的病灶
parent
f9ac64023a
commit
8b86bc6b3f
|
@ -1310,6 +1310,13 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.Interface.ILuganoCalculateService.CalculateTargetLesionStatus(IRaCIS.Core.Application.ViewModel.CalculateTargetLesionStatusInDto)">
|
||||
<summary>
|
||||
计算靶病灶状态
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.sODData">
|
||||
<summary>
|
||||
获取Sod的值
|
||||
|
@ -13413,6 +13420,13 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetCanMergeLesion(IRaCIS.Core.Application.Service.Reading.Dto.GetCanMergeLesionInDto)">
|
||||
<summary>
|
||||
获取可合并的病灶
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.SaveImageQuality(IRaCIS.Core.Application.Service.Reading.Dto.ChangeDicomReadingQuestionAnswerInDto)">
|
||||
<summary>
|
||||
保存影像质量
|
||||
|
|
|
@ -297,7 +297,27 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public List<CrterionDictionaryGroup> CrterionDictionaryGroup { get; set; }
|
||||
}
|
||||
|
||||
public class MergeLesionInDto
|
||||
|
||||
public class GetCanMergeLesionOutDto
|
||||
{
|
||||
public Guid RowId { get; set; }
|
||||
|
||||
public string OrderMarkName { get; set; }
|
||||
|
||||
public Guid? OrganInfoId { get; set; }
|
||||
|
||||
public decimal RowIndex { get; set; }
|
||||
|
||||
public string Part { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class GetCanMergeLesionInDto
|
||||
{
|
||||
public Guid RowId { get; set; }
|
||||
}
|
||||
|
||||
public class MergeLesionInDto
|
||||
{
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
|
|
|
@ -1515,19 +1515,77 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region 访视任务 - Dicom 阅片 提交、修改
|
||||
|
||||
/// <summary>
|
||||
/// 保存影像质量
|
||||
/// 获取可合并的病灶
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<List<GetCanMergeLesionOutDto>> GetCanMergeLesion(GetCanMergeLesionInDto inDto)
|
||||
{
|
||||
var rowinfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.RowId).Include(x=>x.ReadingQuestionTrial).FirstNotNullAsync();
|
||||
|
||||
// 需要排除的状态
|
||||
var needFilterState = new List<string>();
|
||||
|
||||
switch (rowinfo.ReadingQuestionTrial.LesionType)
|
||||
{
|
||||
//状态为“消失”、“无法评估”的靶病灶不可融合;
|
||||
case LesionType.TargetLesion:
|
||||
needFilterState = new List<string>() {
|
||||
TargetState.Loss.GetEnumInt(),
|
||||
TargetState.UnableEvaluate.GetEnumInt(),
|
||||
};
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
var result = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == rowinfo.VisitTaskId && x.QuestionId == rowinfo.QuestionId && x.Id != rowinfo.Id)
|
||||
// 筛选状态
|
||||
.Where(x => x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && !needFilterState.Contains(y.Answer)))
|
||||
.Select(x => new GetCanMergeLesionOutDto()
|
||||
{
|
||||
RowId = x.Id,
|
||||
RowIndex = x.RowIndex,
|
||||
OrderMarkName = x.ReadingQuestionTrial.OrderMark + x.RowIndex.GetLesionMark(),
|
||||
OrganInfoId = x.OrganInfoId
|
||||
}).OrderBy(x=>x.RowIndex).ToListAsync();
|
||||
|
||||
var organIds = result.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
|
||||
var organList = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
|
||||
|
||||
result.ForEach(x =>
|
||||
{
|
||||
|
||||
if (_userInfo.IsEn_Us)
|
||||
{
|
||||
x.Part = organList.Where(y => y.Id == x.OrganInfoId).Select(y => y.PartEN).FirstIsNullReturnEmpty();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
x.Part = organList.Where(y => y.Id == x.OrganInfoId).Select(y => y.Part).FirstIsNullReturnEmpty();
|
||||
}
|
||||
});
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region 访视任务 - Dicom 阅片 提交、修改
|
||||
|
||||
/// <summary>
|
||||
/// 保存影像质量
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
|
||||
public async Task<IResponseOutput> SaveImageQuality(ChangeDicomReadingQuestionAnswerInDto inDto)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue