diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 5e5dd9b03..51a75e0b2 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -18400,6 +18400,36 @@
ISystemDocumentService
+
+
+ 体重
+
+
+
+
+ 总剂量
+
+
+
+
+ 半衰期
+
+
+
+
+ 注射时间
+
+
+
+
+ 成像 / 采集时间
+
+
+
+
+ 是否存在空字符串字段(PatientSex、PatientWeight、RadionuclideTotalDose、RadionuclideHalfLife、RadiopharmaceuticalStartTime、AcquisitionTime 任意一个为空/空字符串)
+
+
性别
@@ -19648,6 +19678,11 @@
成像 / 采集时间
+
+
+ 是否存在空字符串字段(PatientSex、PatientWeight、RadionuclideTotalDose、RadionuclideHalfLife、RadiopharmaceuticalStartTime、AcquisitionTime 任意一个为空/空字符串)
+
+
SystemBasicDataService
diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs
index 6e544f94a..67d8b34cb 100644
--- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs
+++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs
@@ -102,6 +102,8 @@ namespace IRaCIS.Core.Application.Contracts.Dicom.DTO
public Guid? SeriesId { get; set; }
+ public bool? IsMasked { get; set; }
+
[JsonIgnore]
public int ShowOrder { get; set; }
[JsonIgnore]
diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs
index e7fbd8947..f86a2b7d0 100644
--- a/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs
+++ b/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs
@@ -72,7 +72,8 @@ namespace IRaCIS.Core.Application.Services
InstanceNumber = k.InstanceNumber,
IsReading = true,
IsDeleted = false,
- FileSize = k.FileSize
+ FileSize = k.FileSize,
+
}).ToList();
@@ -103,7 +104,7 @@ namespace IRaCIS.Core.Application.Services
.WhereIf(isReading == true, t => t.IsReading == true)
.OrderBy(t => t.SeriesId).ThenBy(t => t.InstanceNumber)
.ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
- .Select(t => new { t.SeriesId, t.Id, t.Path, t.NumberOfFrames, t.InstanceNumber, t.HtmlPath, t.IsReading, t.IsDeleted, t.FileSize }).ToListAsync();//.GroupBy(u => u.SeriesId);
+ .Select(t => new { t.SeriesId, t.Id, t.Path, t.NumberOfFrames, t.InstanceNumber, t.HtmlPath, t.IsReading, t.IsDeleted, t.FileSize ,t.IsMasked}).ToListAsync();//.GroupBy(u => u.SeriesId);
foreach (var series in seriesList)
@@ -119,7 +120,8 @@ namespace IRaCIS.Core.Application.Services
InstanceNumber = k.InstanceNumber,
IsReading = k.IsReading,
IsDeleted = k.IsDeleted,
- FileSize = k.FileSize
+ FileSize = k.FileSize,
+ IsMasked = k.IsMasked
}).ToList();
diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
index c4250074b..afa48f485 100644
--- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
+++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
@@ -106,16 +106,16 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
var prefix = path.Substring(1, path.LastIndexOf('/') - 1);
- var maskPath = $"{Path.GetFileName(path)}.MaskDicom";
+ var maskPath = path.Contains(".MaskDicom") ? $"{Path.GetFileName(path)}" : $"{Path.GetFileName(path)}.MaskDicom";
//清理缓存的里面的遮盖图,多次遮盖同一张图时,清除缓存很重要
await _oSSService.DeleteFromPrefix(maskPath, true);
- var tt = await _oSSService.UploadToOSSAsync(outPutStream, prefix, maskPath,false);
+ await _oSSService.UploadToOSSAsync(outPutStream, prefix, maskPath, false);
- var newPath = path + ".MaskDicom";
+ var newPath = path.Contains(".MaskDicom") ? path : path + ".MaskDicom";
- await _dicomInstanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new DicomInstance() { Path= newPath, IsMasked = true });
+ await _dicomInstanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new DicomInstance() { Path = newPath, IsMasked = true });
}
catch (Exception ex)
{
@@ -188,7 +188,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
public async Task GetPatientInfo(GetPatientInfoInDto inDto)
{
var study = await _dicomStudyRepository.Where(s => s.Id == inDto.StudyId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync();
-
+
return study;
}