diff --git a/IRaCIS.Core.Application/Helper/OSSService.cs b/IRaCIS.Core.Application/Helper/OSSService.cs index aa63d57e4..2d029ff22 100644 --- a/IRaCIS.Core.Application/Helper/OSSService.cs +++ b/IRaCIS.Core.Application/Helper/OSSService.cs @@ -1057,7 +1057,7 @@ public class OSSService(IOptionsMonitor options, uploadInfo.FileSize = fileSize; uploadInfo.Path = returnPath; uploadInfo.FileName = Path.GetFileName(localFilePath); - uploadInfo.FileType = Path.GetExtension(returnPath); + uploadInfo.FileType = Path.GetExtension(returnPath).TrimStart("."); await _fileUploadRecordService.AddOrUpdateFileUploadRecord(uploadInfo); diff --git a/IRaCIS.Core.Application/Helper/OtherTool/DicomSortHelper.cs b/IRaCIS.Core.Application/Helper/OtherTool/DicomSortHelper.cs index 065fc779e..7ae24842d 100644 --- a/IRaCIS.Core.Application/Helper/OtherTool/DicomSortHelper.cs +++ b/IRaCIS.Core.Application/Helper/OtherTool/DicomSortHelper.cs @@ -237,6 +237,20 @@ public static class DicomPixelMasker { workingDataset.AddOrUpdate(DicomTag.BurnedInAnnotation, "NO"); } + + //// 转 JPEG Baseline(最稳定) + //var transcoder = new DicomTranscoder( + // DicomTransferSyntax.ExplicitVRLittleEndian, + // DicomTransferSyntax.JPEGProcess1); + + //var finalFile = await Task.Run( + // () => transcoder.Transcode(workingFile), + // cancellationToken).ConfigureAwait(false); + + //if (output.CanSeek) + // output.SetLength(0); + //await finalFile.SaveAsync(output).ConfigureAwait(false); + // 不要把 original photometric 强行写回 var finalFile = await ReEncodeToOriginalTransferSyntaxAsync( workingFile, @@ -422,17 +436,26 @@ public static class DicomPixelMasker DicomPixelData sourcePixelData, IReadOnlyList frames) { + //dataset.Remove(DicomTag.PixelData); + //var newPixelData = DicomPixelData.Create(dataset, true); + ////newPixelData.BitsAllocated = sourcePixelData.BitsAllocated; + //newPixelData.BitsStored = sourcePixelData.BitsStored; + //newPixelData.HighBit = sourcePixelData.HighBit; + //newPixelData.SamplesPerPixel = sourcePixelData.SamplesPerPixel; + //newPixelData.PixelRepresentation = sourcePixelData.PixelRepresentation; + //newPixelData.PlanarConfiguration = sourcePixelData.PlanarConfiguration; + //newPixelData.Height = sourcePixelData.Height; + //newPixelData.Width = sourcePixelData.Width; + //newPixelData.PhotometricInterpretation = sourcePixelData.PhotometricInterpretation; + //foreach (var frame in frames) + //{ + // newPixelData.AddFrame(frame); + //} + dataset.Remove(DicomTag.PixelData); + var newPixelData = DicomPixelData.Create(dataset, true); - //newPixelData.BitsAllocated = sourcePixelData.BitsAllocated; - newPixelData.BitsStored = sourcePixelData.BitsStored; - newPixelData.HighBit = sourcePixelData.HighBit; - newPixelData.SamplesPerPixel = sourcePixelData.SamplesPerPixel; - newPixelData.PixelRepresentation = sourcePixelData.PixelRepresentation; - newPixelData.PlanarConfiguration = sourcePixelData.PlanarConfiguration; - newPixelData.Height = sourcePixelData.Height; - newPixelData.Width = sourcePixelData.Width; - newPixelData.PhotometricInterpretation = sourcePixelData.PhotometricInterpretation; + foreach (var frame in frames) { newPixelData.AddFrame(frame); diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index fb3f4d549..5d2743ea9 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2911,6 +2911,13 @@ + + + 获取未阅片完成的访视,方便前端调用下载 + + + + 批量勾选访视 进行下载 @@ -5932,6 +5939,82 @@ + + + 阅片导入 + + + + + + 获取阅片的计算数据 + + + + + + + 删除病灶获取起始病灶序号 + + + + + + 获取阅片报告 + + + + + + + 将上一次的访视病灶添加到这一次 + + + + + + + 测试计算 + + + + + + + + 计算任务 + + + + + + + 自动计算 + + + + + + + + 获取脂肪分数平均值 + + + + + + + 获取脂肪肝分级 + + + + + + + 计算平均值 + + + 阅片导入 @@ -17316,17 +17399,17 @@ - ���� + 质疑 - һ���Ժ˲� + 一致性核查 - ���� + 复制 diff --git a/IRaCIS.Core.Application/Service/Common/FileUploadRecordService.cs b/IRaCIS.Core.Application/Service/Common/FileUploadRecordService.cs index 3c367627c..78e02246c 100644 --- a/IRaCIS.Core.Application/Service/Common/FileUploadRecordService.cs +++ b/IRaCIS.Core.Application/Service/Common/FileUploadRecordService.cs @@ -222,7 +222,7 @@ public class FileUploadRecordService(IRepository _fileUploadRe { addOrEditFileUploadRecord.IsNeedSync = true; - addOrEditFileUploadRecord.Priority = 0; + addOrEditFileUploadRecord.Priority = addOrEditFileUploadRecord.Priority?? 0; addOrEditFileUploadRecord.IsSync = false; } @@ -242,7 +242,7 @@ public class FileUploadRecordService(IRepository _fileUploadRe addOrEditFileUploadRecord.IsSync = false; - addOrEditFileUploadRecord.Priority = 0; + addOrEditFileUploadRecord.Priority = addOrEditFileUploadRecord.Priority ?? 0; } var entity = await _fileUploadRecordRepository.InsertOrUpdateAsync(addOrEditFileUploadRecord, true); diff --git a/IRaCIS.Core.Application/Service/Management/UserService.cs b/IRaCIS.Core.Application/Service/Management/UserService.cs index fa46dfa78..666251aac 100644 --- a/IRaCIS.Core.Application/Service/Management/UserService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserService.cs @@ -359,6 +359,8 @@ namespace IRaCIS.Core.Application.Service await _mailVerificationService.AnolymousSendEmailForResetAccount(email, verificationCode); + await _fusionCache.RemoveAsync(CacheKeys.UserLoginError(existUser.UserName)); + await _fusionCache.RemoveByTagAsync(CacheKeys.UserMFATag(existUser.Id)); return ResponseOutput.Ok();