Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
commit
700d111011
|
@ -11593,6 +11593,13 @@
|
||||||
<param name="isReading"></param>
|
<param name="isReading"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Services.SubjectVisitService.GetDicomSeriesInfo(IRaCIS.Core.Application.Contracts.GetDicomSeriesInfoInDto)">
|
||||||
|
<summary>
|
||||||
|
获取Series信息
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Services.SubjectVisitService.GetPTAndCtSeries(IRaCIS.Core.Application.Contracts.GetPTAndCtSeriesInDto)">
|
<member name="M:IRaCIS.Core.Application.Services.SubjectVisitService.GetPTAndCtSeries(IRaCIS.Core.Application.Contracts.GetPTAndCtSeriesInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
获取PTAndCtSeries
|
获取PTAndCtSeries
|
||||||
|
|
|
@ -208,7 +208,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return result;
|
return result.Where(x=>x.PicturePath!=string.Empty).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -2075,7 +2075,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
return "NA";
|
return "NA";
|
||||||
}
|
}
|
||||||
|
if (TaskAnswer.Count() == 0)
|
||||||
|
{
|
||||||
|
return "0";
|
||||||
|
}
|
||||||
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0();
|
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0();
|
||||||
var lowSplenoncus = TaskAnswer.OrderBy(x => x.SpleenLength).Select(x => x.SpleenLength).FirstOrDefault();
|
var lowSplenoncus = TaskAnswer.OrderBy(x => x.SpleenLength).Select(x => x.SpleenLength).FirstOrDefault();
|
||||||
return (presentSpd - lowSplenoncus).ToString();
|
return (presentSpd - lowSplenoncus).ToString();
|
||||||
|
@ -2099,7 +2102,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
return "NA";
|
return "NA";
|
||||||
}
|
}
|
||||||
|
if (taskAnswer.Count() == 0)
|
||||||
|
{
|
||||||
|
return "NA";
|
||||||
|
}
|
||||||
|
|
||||||
var lowSplenoncus = taskAnswer.OrderBy(x => x.SpleenLength).FirstOrDefault();
|
var lowSplenoncus = taskAnswer.OrderBy(x => x.SpleenLength).FirstOrDefault();
|
||||||
return lowSplenoncus.BlindName;
|
return lowSplenoncus.BlindName;
|
||||||
|
|
|
@ -209,10 +209,13 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public Guid CTSeriesId { get; set; }
|
public Guid CTSeriesId { get; set; }
|
||||||
public Guid PTSeriesId { get; set; }
|
public Guid PTSeriesId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public Guid StudyId { get; set; }
|
||||||
|
|
||||||
public Guid? SubjectVisitId { get; set; }
|
public Guid? SubjectVisitId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public bool IsBaseLine { get; set; }
|
public bool IsBaseLineTask { get; set; }
|
||||||
|
|
||||||
public string TaskBlindName { get; set; } = string.Empty;
|
public string TaskBlindName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
@ -239,6 +242,12 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public List<DicomSeriesDTO> PTSeriesList { get; set; }
|
public List<DicomSeriesDTO> PTSeriesList { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class GetDicomSeriesInfoInDto
|
||||||
|
{
|
||||||
|
public Guid SeriesId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public class GetPTAndCtSeriesInDto
|
public class GetPTAndCtSeriesInDto
|
||||||
{
|
{
|
||||||
public Guid VisitTaskId { get; set; }
|
public Guid VisitTaskId { get; set; }
|
||||||
|
|
|
@ -327,6 +327,53 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取Series信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<DicomSeriesDTO> GetDicomSeriesInfo(GetDicomSeriesInfoInDto inDto)
|
||||||
|
{
|
||||||
|
DicomSeriesDTO series = await _repository.Where<DicomSeries>(s =>s.Id==inDto.SeriesId).ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).FirstNotNullAsync();
|
||||||
|
|
||||||
|
var instanceList = await _repository.Where<DicomInstance>(t => t.SeriesId==inDto.SeriesId)
|
||||||
|
.Select(t => new { t.SeriesId, t.StudyId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames, t.WindowCenter, t.WindowWidth, t.HtmlPath }).ToListAsync();
|
||||||
|
series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
series.InstanceHtmlPathList = instanceList.Where(t => t.SeriesId == series.Id && t.HtmlPath != string.Empty).OrderBy(t => t.InstanceNumber).Select(k => k.HtmlPath).ToList();
|
||||||
|
|
||||||
|
//处理多帧
|
||||||
|
series.InstancePathList = instanceList.Where(s => s.SeriesId == series.Id).OrderBy(t => t.InstanceNumber)
|
||||||
|
.SelectMany(u =>
|
||||||
|
{
|
||||||
|
|
||||||
|
if (u.NumberOfFrames > 1)
|
||||||
|
{
|
||||||
|
var pathList = new List<string>();
|
||||||
|
|
||||||
|
for (int i = 1; i <= u.NumberOfFrames; i++)
|
||||||
|
{
|
||||||
|
pathList.Add(u.Path + "?frame=" + (i - 1));
|
||||||
|
}
|
||||||
|
return pathList;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return new List<string> { u.Path };
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
series.WindowWidth = instanceList.FirstOrDefault()!.WindowWidth;
|
||||||
|
series.WindowCenter = instanceList.FirstOrDefault()!.WindowCenter;
|
||||||
|
|
||||||
|
return series;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取PTAndCtSeries
|
/// 获取PTAndCtSeries
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -376,7 +423,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
TaskBlindName=visitSeries.TaskBlindName,
|
TaskBlindName=visitSeries.TaskBlindName,
|
||||||
VisitTaskId= item,
|
VisitTaskId= item,
|
||||||
SubjectVisitId= visitSeries.SourceSubjectVisitId!.Value,
|
SubjectVisitId= visitSeries.SourceSubjectVisitId!.Value,
|
||||||
IsBaseLine=visitSeries.IsBaseLine,
|
IsBaseLineTask=visitSeries.IsBaseLine,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -451,6 +498,8 @@ namespace IRaCIS.Core.Application.Services
|
||||||
foreach (var item in result)
|
foreach (var item in result)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
item.StudyId = ptseriesLists.Where(x => x.Id == item.PTSeriesId).Select(x => x.StudyId).FirstOrDefault();
|
||||||
|
|
||||||
item.StudyInfoList = studyList.Where(x => x.SubjectVisitId == item.SubjectVisitId).ToList();
|
item.StudyInfoList = studyList.Where(x => x.SubjectVisitId == item.SubjectVisitId).ToList();
|
||||||
|
|
||||||
foreach (var study in item.StudyInfoList)
|
foreach (var study in item.StudyInfoList)
|
||||||
|
|
Loading…
Reference in New Issue