diff --git a/IRaCIS.Core.API/appsettings.Prod_Event_IRC.json b/IRaCIS.Core.API/appsettings.Prod_Event_IRC.json index 1e90a671c..ce4109160 100644 --- a/IRaCIS.Core.API/appsettings.Prod_Event_IRC.json +++ b/IRaCIS.Core.API/appsettings.Prod_Event_IRC.json @@ -7,7 +7,7 @@ } }, "ConnectionStrings": { - "RemoteNew": "Server=101.132.193.237,1433;Database=Prod_IRC_pidr_restore;User ID=sa;Password=xc@123456;TrustServerCertificate=true", + "RemoteNew": "Server=101.132.193.237,1433;Database=Prod_IRC_pidr_restore_new;User ID=sa;Password=xc@123456;TrustServerCertificate=true", "Hangfire": "Server=101.132.193.237,1433;Database=irc_Hangfire_bak;User ID=sa;Password=xc@123456;TrustServerCertificate=true" //"RemoteNew": "Server=prod_mssql_standard,1433;Database=Prod_IRC;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true", //"Hangfire": "Server=prod_mssql_standard,1433;Database=Prod_IRC_Hangfire;User ID=sa;Password=zhanying@2021;TrustServerCertificate=true" diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index b7228f2f9..09891cf59 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -2079,29 +2079,27 @@ public class VisitTaskService(IRepository _visitTaskRepository, //申请表 设置新任务Id visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id; - //拷贝原始表单 - if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id == origenalTask.Id) + + if (origenalTask.ReadingCategory == ReadingCategory.Visit) { - if (origenalTask.ReadingCategory == ReadingCategory.Visit) + CopyImages(newTask, influenceTask); + + //拷贝原始表单 + if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id == origenalTask.Id) { CopyForms(newTask, origenalTask); } - } - - //拷贝后续表单 - if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum) - { - if (origenalTask.ReadingCategory == ReadingCategory.Visit) + //拷贝后续表单 + if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum) { newTask.IsCopyLesionAnswer = true; - //CopyForms(newTask, origenalTask); } - } + } } @@ -2190,6 +2188,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, //申请表 设置新任务Id visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id; + if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id == origenalTask.Id) { if (origenalTask.ReadingCategory == ReadingCategory.Visit) @@ -2199,16 +2198,16 @@ public class VisitTaskService(IRepository _visitTaskRepository, } - //拷贝后续表单 - if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum) - { - if (origenalTask.ReadingCategory == ReadingCategory.Visit) - { - newTask.IsCopyLesionAnswer = true; - //CopyForms(newTask, origenalTask); + ////拷贝后续表单 + //if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum) + //{ + // if (origenalTask.ReadingCategory == ReadingCategory.Visit) + // { + // newTask.IsCopyLesionAnswer = true; + // //CopyForms(newTask, origenalTask); - } - } + // } + //} } } }); @@ -2228,22 +2227,9 @@ public class VisitTaskService(IRepository _visitTaskRepository, } } - private void CopyForms(VisitTask newTask, VisitTask origenalTask) + + private void CopyImages(VisitTask newTask, VisitTask origenalTask) { - newTask.IsCopyLesionAnswer = true; - //自定义 - //var readingCustomTagList = _readingCustomTagRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList(); - - //foreach (var item in readingCustomTagList) - //{ - // item.Id = Guid.Empty; - // item.VisitTaskId = newTask.Id; - // item.MeasureData = item.MeasureData.Replace(origenalTask.Id.ToString(), newTask.Id.ToString()); - //} - - //_ = _readingCustomTagRepository.AddRangeAsync(readingCustomTagList).Result; - - //拷贝后处理绑定的的Dicom影像 var newTaskId = newTask.Id; @@ -2285,17 +2271,17 @@ public class VisitTaskService(IRepository _visitTaskRepository, foreach (var instance in studyInstanceList) { - var newInstanceId = IdentifierHelper.CreateGuid(newStudy.StudyInstanceUid, newSeries.SeriesInstanceUid, instance.SopInstanceUid, newStudy.TrialId.ToString(), newStudy.ToString()); + var newInstanceId = IdentifierHelper.CreateGuid(newStudy.StudyInstanceUid, newSeries.SeriesInstanceUid, instance.SopInstanceUid, newStudy.TrialId.ToString(), newTaskId.ToString()); var newInstance = instance.Clone(); - newInstance.Id = newInstanceId; newInstance.SeqId = NewId.NextSequentialGuid(); newInstance.StudyId = newStudyId; newInstance.SeriesId = newSeriesId; newInstance.VisitTaskId = newTaskId; + Console.WriteLine($"StudyInstanceUid:{newStudy.StudyInstanceUid} SeriesInstanceUid:{newSeries.SeriesInstanceUid} SopInstanceUid: {instance.SopInstanceUid},newInstanceId:{newInstanceId} "); _ = _taskInstanceRepository.AddAsync(newInstance).Result; } @@ -2315,8 +2301,26 @@ public class VisitTaskService(IRepository _visitTaskRepository, newFile.Id = NewId.NextSequentialGuid(); newFile.VisitTaskId = newTaskId; - _= _noneDicomStudyFileRepository.AddAsync(newFile).Result; + _ = _noneDicomStudyFileRepository.AddAsync(newFile).Result; } + } + private void CopyForms(VisitTask newTask, VisitTask origenalTask) + { + newTask.IsCopyLesionAnswer = true; + //自定义 + //var readingCustomTagList = _readingCustomTagRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList(); + + //foreach (var item in readingCustomTagList) + //{ + // item.Id = Guid.Empty; + // item.VisitTaskId = newTask.Id; + // item.MeasureData = item.MeasureData.Replace(origenalTask.Id.ToString(), newTask.Id.ToString()); + //} + + //_ = _readingCustomTagRepository.AddRangeAsync(readingCustomTagList).Result; + + + diff --git a/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs index 9252cca39..6382c2425 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs @@ -56,10 +56,10 @@ namespace IRaCIS.Core.Application.Triggers // 出组 状态发生了变更 - if ( context.Entity.Status != context.UnmodifiedEntity?.Status) + if (context.Entity.Status != context.UnmodifiedEntity?.Status) { //设置末次方式 - if (context.Entity.Status == SubjectStatus.OutOfVisit && context.Entity.FinalSubjectVisitId != null ) + if (context.Entity.Status == SubjectStatus.OutOfVisit && context.Entity.FinalSubjectVisitId != null) { if (await _subjectVisitRepository.AnyAsync(t => t.SubjectId == dbSubject.Id && t.IsFinalVisit && t.Id != dbSubject.FinalSubjectVisitId)) { @@ -87,7 +87,7 @@ namespace IRaCIS.Core.Application.Triggers await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == dbSubject.Id && t.VisitNum > sv.VisitNum, u => new SubjectVisit() { VisitExecuted = VisitExecutedEnum.Unavailable }); } //撤销状态 - else if(context.UnmodifiedEntity?.Status== SubjectStatus.OutOfVisit && context.UnmodifiedEntity.FinalSubjectVisitId != null) + else if (context.UnmodifiedEntity?.Status == SubjectStatus.OutOfVisit && context.UnmodifiedEntity.FinalSubjectVisitId != null && context.Entity.Status == SubjectStatus.OnVisit) { var sv = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == context.UnmodifiedEntity.FinalSubjectVisitId).IfNullThrowException(); @@ -100,9 +100,9 @@ namespace IRaCIS.Core.Application.Triggers } } - - - + + + } } diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 98329393d..326b59a51 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -2578,7 +2578,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common if (entity.VisitTaskId != null) { extraIdentification = "/VisitTask"; - var obj = await _dbContext.VisitTask.Where(x => x.Id == entity.VisitTaskId).Select(x => new { x.ArmEnum, x.SourceSubjectVisitId }).FirstOrDefaultAsync(); + var obj = await _dbContext.VisitTask.FindAsync( entity.VisitTaskId); armEnum = obj?.ArmEnum; subjectVisitId = obj.SourceSubjectVisitId; }