[上传监控增加字段]
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-01-16 11:20:50 +08:00
parent 3dbe92a667
commit ed01407382
3 changed files with 64 additions and 60 deletions

View File

@ -42,6 +42,7 @@ namespace IRaCIS.Core.Application.Contracts
//[JsonIgnore] //[JsonIgnore]
//public int NoneDicomCode { get; set; } //public int NoneDicomCode { get; set; }
public string RecordPath { get; set; } = string.Empty;
public bool IsDicom { get; set; } public bool IsDicom { get; set; }
} }

View File

@ -496,7 +496,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
ArchiveFinishedTime = t.ArchiveFinishedTime, ArchiveFinishedTime = t.ArchiveFinishedTime,
RecordPath=t.RecordPath,
IsDicomReUpload = t.IsDicomReUpload, IsDicomReUpload = t.IsDicomReUpload,
StudyId = t.Id, StudyId = t.Id,

View File

@ -371,80 +371,83 @@ namespace IRaCIS.Application.Services
} }
///// <summary> /// <summary>
///// 维护OSS 影像数据 /// 维护OSS 影像数据
///// </summary> /// </summary>
///// <returns></returns> /// <returns></returns>
//[AllowAnonymous] [AllowAnonymous]
//[UnitOfWork] [UnitOfWork]
//public async Task<IResponseOutput> OldLocalImageResizeJpg([FromServices] IOSSService oSSService, [FromServices] IRepository _repository, [FromServices] IWebHostEnvironment _hostEnvironment) public async Task<IResponseOutput> OldLocalImageResizeJpg([FromServices] IOSSService oSSService, [FromServices] IRepository _repository, [FromServices] IWebHostEnvironment _hostEnvironment)
//{ {
// var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment); var aliConfig = oSSService.ObjectStoreServiceOptions.AliyunOSS;
var _ossClient = new OssClient(aliConfig.endPoint, aliConfig.accessKeyId, aliConfig.accessKeySecret);
// var studyList = _repository.Where<DicomStudy>(t => t.SeriesList.Any(t => t.ImageResizePath.Length < 10)).Select(t => new { t.TrialId, t.SiteId, t.SubjectId, t.SubjectVisitId, t.Id }).ToList(); var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment);
// foreach (var studyitem in studyList) var studyList = _repository.Where<DicomStudy>(t => t.SeriesList.Any(t => t.ImageResizePath.Length < 10)).Select(t => new { t.TrialId, t.SiteId, t.SubjectId, t.SubjectVisitId, t.Id }).ToList();
// {
// var relativePath = $"{studyitem.TrialId}/{studyitem.SiteId}/{studyitem.SubjectId}/{studyitem.SubjectVisitId}/{StaticData.Folder.DicomFolder}/{studyitem.Id}/"; foreach (var studyitem in studyList)
{
// try var relativePath = $"{studyitem.TrialId}/{studyitem.SiteId}/{studyitem.SubjectId}/{studyitem.SubjectVisitId}/{StaticData.Folder.DicomFolder}/{studyitem.Id}/";
// {
// string nextMarker = null;
// do
// {
// // 使用 prefix 模拟目录结构,设置 MaxKeys 和 NextMarker
// var objectListing = oSSService._ossClient.ListObjects(new ListObjectsRequest(oSSService._OSSConfig.bucketName)
// {
// Prefix = relativePath,
// MaxKeys = 1000,
// Marker = nextMarker
// });
// var jpgInfoList = objectListing.ObjectSummaries try
// .Where(summary => summary.Key.EndsWith(".jpg")) {
// .Select(summary => string nextMarker = null;
// { do
// string fileName = summary.Key.Split('/').Last(); // 提取文件夹名 {
// return new // 使用 prefix 模拟目录结构,设置 MaxKeys 和 NextMarker
// { var objectListing = _ossClient.ListObjects(new ListObjectsRequest(aliConfig.bucketName)
{
Prefix = relativePath,
MaxKeys = 1000,
Marker = nextMarker
});
// Key = summary.Key, var jpgInfoList = objectListing.ObjectSummaries
// InstanceId = Guid.TryParse( .Where(summary => summary.Key.EndsWith(".jpg"))
// fileName.Split('.')[0], .Select(summary =>
// out Guid instanceId) {
// ? instanceId string fileName = summary.Key.Split('/').Last(); // 提取文件夹名
// : Guid.Empty return new
// }; {
// })
// .Where(info => info.InstanceId != Guid.Empty)
// .ToList();
// foreach (var jpg in jpgInfoList) Key = summary.Key,
// { InstanceId = Guid.TryParse(
// var seriesId = _repository.Where<DicomInstance>(t => t.Id == jpg.InstanceId).Select(t => t.SeriesId).FirstOrDefault(); fileName.Split('.')[0],
out Guid instanceId)
? instanceId
: Guid.Empty
};
})
.Where(info => info.InstanceId != Guid.Empty)
.ToList();
// await _repository.BatchUpdateAsync<DicomSeries>(t => t.Id == seriesId, t => new DicomSeries() { ImageResizePath = "/" + jpg.Key }); foreach (var jpg in jpgInfoList)
// } {
var seriesId = _repository.Where<DicomInstance>(t => t.Id == jpg.InstanceId).Select(t => t.SeriesId).FirstOrDefault();
// // 设置 NextMarker 以获取下一页的数据 await _repository.BatchUpdateAsync<DicomSeries>(t => t.Id == seriesId, t => new DicomSeries() { ImageResizePath = "/" + jpg.Key });
// nextMarker = objectListing.NextMarker; }
// } while (!string.IsNullOrEmpty(nextMarker)); // 设置 NextMarker 以获取下一页的数据
// } nextMarker = objectListing.NextMarker;
// catch (Exception ex)
// {
// Console.WriteLine($"Error: {ex.Message}");
// }
// await _repository.SaveChangesAsync(); } while (!string.IsNullOrEmpty(nextMarker));
// } }
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
await _repository.SaveChangesAsync();
}
// return ResponseOutput.Ok(); return ResponseOutput.Ok();
//} }
#endregion #endregion