修改影像接收设置失败标志

Test_HIR_Net8
hang 2025-09-19 16:48:33 +08:00
parent 34686b10cc
commit a4ef209fb1
5 changed files with 19247 additions and 7 deletions

View File

@ -47,8 +47,6 @@ namespace IRaCIS.Core.SCP.Service
private List<Guid> _SCPStudyIdList => _ImageUploadList.Where(t => t.SCPStudyId != Guid.Empty).Select(t => t.SCPStudyId).ToList(); private List<Guid> _SCPStudyIdList => _ImageUploadList.Where(t => t.SCPStudyId != Guid.Empty).Select(t => t.SCPStudyId).ToList();
private List<ImageUploadInfo> _ImageUploadList { get; set; } = new List<ImageUploadInfo>(); private List<ImageUploadInfo> _ImageUploadList { get; set; } = new List<ImageUploadInfo>();
private SCPImageUpload _upload { get; set; } private SCPImageUpload _upload { get; set; }
@ -246,23 +244,25 @@ namespace IRaCIS.Core.SCP.Service
public async void OnConnectionClosed(Exception exception) public async void OnConnectionClosed(Exception exception)
{ {
var _studyRepository = _serviceProvider.GetService<IRepository<SCPStudy>>();
/* nothing to do here */ /* nothing to do here */
//奇怪的bug 上传的时候用王捷修改的影像会关闭重新连接导致检查id 丢失,然后状态不一致 //奇怪的bug 上传的时候用王捷修改的影像会关闭重新连接导致检查id 丢失,然后状态不一致
if (exception == null) if (exception == null)
{ {
var _studyRepository = _serviceProvider.GetService<IRepository<SCPStudy>>();
//将检查设置为传输结束 //将检查设置为传输结束
await _studyRepository.BatchUpdateNoTrackingAsync(t => _SCPStudyIdList.Contains(t.Id), u => new SCPStudy() { IsUploadFinished = true }); await _studyRepository.BatchUpdateNoTrackingAsync(t => _SCPStudyIdList.Contains(t.Id), u => new SCPStudy() { IsUploadFinished = true, IsUploadFaild = false });
await _studyRepository.SaveChangesAndClearAllTrackingAsync();
} }
else else
{ {
await _studyRepository.BatchUpdateNoTrackingAsync(t => _SCPStudyIdList.Contains(t.Id), u => new SCPStudy() { IsUploadFinished = true, IsUploadFaild = true });
//记录日志 //记录日志
await AddUploadLogAsync(); await AddUploadLogAsync();
} }
await _studyRepository.SaveChangesAndClearAllTrackingAsync();
Log.Logger.Warning($"连接关闭 {exception?.Message} {exception?.InnerException?.Message}"); Log.Logger.Warning($"连接关闭 {exception?.Message} {exception?.InnerException?.Message}");
@ -400,7 +400,7 @@ namespace IRaCIS.Core.SCP.Service
{ {
try try
{ {
var scpStudyId = await dicomArchiveService.ArchiveDicomFileAsync(request.File , storeRelativePath, Association.CallingAE, Association.CalledAE, fileSize); var scpStudyId = await dicomArchiveService.ArchiveDicomFileAsync(request.File, storeRelativePath, Association.CallingAE, Association.CalledAE, fileSize);
var series = await _seriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId); var series = await _seriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId);

View File

@ -66,7 +66,7 @@ public class SCPStudy : BaseFullDeleteAuditEntity, IEntitySeqId
public bool IsUploadFinished { get; set; } public bool IsUploadFinished { get; set; }
public bool IsUploadFaild { get; set; }
#region HIR 注释 #region HIR 注释
//public Guid TrialId { get; set; } //public Guid TrialId { get; set; }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace IRaCIS.Core.Infra.EFCore.Migrations
{
/// <inheritdoc />
public partial class modifyUploadFailed : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsUploadFaild",
table: "SCPStudy",
type: "bit",
nullable: false,
defaultValue: false);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsUploadFaild",
table: "SCPStudy");
}
}
}

View File

@ -8190,6 +8190,9 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
b.Property<bool>("IsDeleted") b.Property<bool>("IsDeleted")
.HasColumnType("bit"); .HasColumnType("bit");
b.Property<bool>("IsUploadFaild")
.HasColumnType("bit");
b.Property<bool>("IsUploadFinished") b.Property<bool>("IsUploadFinished")
.HasColumnType("bit"); .HasColumnType("bit");