[上传监控增加字段]
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
3dbe92a667
commit
ed01407382
|
@ -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; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue