修改影像监控逻辑
This commit is contained in:
@@ -162,21 +162,32 @@ namespace IRaCIS.Core.Application.Services
|
||||
|
||||
var samplesPerPixel = dataset.GetSingleValueOrDefault(DicomTag.SamplesPerPixel, string.Empty);
|
||||
var photometricInterpretation = dataset.GetSingleValueOrDefault(DicomTag.PhotometricInterpretation, string.Empty);
|
||||
|
||||
if (samplesPerPixel == "1" && (photometricInterpretation.ToUpper() == "MONOCHROME2" || photometricInterpretation.ToUpper() == "MONOCHROME1"))//MONOCHROME2
|
||||
{
|
||||
if (dataset.InternalTransferSyntax.IsEncapsulated)
|
||||
{
|
||||
//正常保存 不做处理
|
||||
await dicomFile.SaveAsync(physicalPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
{ //JPEGLSLossless 保存
|
||||
await dicomFile.Clone(DicomTransferSyntax.JPEGLSLossless).SaveAsync(physicalPath);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dataset.InternalTransferSyntax.IsEncapsulated) await dicomFile.SaveAsync(physicalPath);
|
||||
else await dicomFile.Clone(DicomTransferSyntax.RLELossless).SaveAsync(physicalPath); //RLELossless
|
||||
if (dataset.InternalTransferSyntax.IsEncapsulated)
|
||||
{
|
||||
//正常保存 不做处理
|
||||
await dicomFile.SaveAsync(physicalPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
//RLELossless 保存
|
||||
await dicomFile.Clone(DicomTransferSyntax.RLELossless).SaveAsync(physicalPath); //RLELossless
|
||||
|
||||
}
|
||||
}
|
||||
return (dicomInstance.StudyId, dicomStudy.StudyCode);
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||
public async Task<PageOutput<UnionStudyMonitorModel>> GetDicomAndNoneDicomStudyMonitorList(StudyQuery studyQuery)
|
||||
{
|
||||
var svExpression = QCCommon.GetStudyMonitorSubjectVisitFilter(studyQuery.VisitPlanArray);
|
||||
var StudyMonitorQuery = _repository.Where<StudyMonitor>(t => t.TrialId == studyQuery.TrialId)
|
||||
var StudyMonitorQuery = _repository.Where<StudyMonitor>(t => t.TrialId == studyQuery.TrialId,ignoreQueryFilters:true)
|
||||
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
//.WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
|
||||
.WhereIf(studyQuery.VisitPlanArray != null && studyQuery.VisitPlanArray?.Length > 0, svExpression)
|
||||
|
||||
Reference in New Issue
Block a user