From 832930a5d98a3199a4636d84627121aad97e85bb Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Thu, 31 Jul 2025 17:49:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 99a0c7978..66ef9a26d 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -2428,6 +2428,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common var clinicalData = await _dbContext.ReadingClinicalData.Where(t => t.Id == entity.ReadingClinicalDataId).FirstOrDefaultAsync(); + + if(clinicalData==null) + { + + clinicalData = entitys.Where(x => x.Entity.GetType() == typeof(ReadingClinicalData)).Select(x => x.Entity as ReadingClinicalData).FirstOrDefault(); + } if (clinicalData != null) { var clinicalDataTrialSet = await _dbContext.ClinicalDataTrialSet.Where(t => t.Id == clinicalData.ClinicalDataTrialSetId).FirstOrDefaultAsync(); From a51ced9c4eb057a8031f60488fd1fb70e91bea43 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Thu, 31 Jul 2025 17:56:04 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common/AuditingData.cs | 128 +++++++++--------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 312c8212d..d76622b91 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -2412,7 +2412,70 @@ namespace IRaCIS.Core.Infra.EFCore.Common #region 阅片期临床数据 + // CRC PM 临床数据 + foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingClinicalData))) + { + var type = GetEntityAuditOpt(item); + var entity = item.Entity as ReadingClinicalData; + + var config = await _dbContext.ClinicalDataTrialSet.FindAsync(entity.ClinicalDataTrialSetId); + + string extraIndentification = string.Empty; + + if (type != AuditOpt.Update) + { + switch (config.ClinicalDataLevel) + { + case ClinicalLevel.Subject: + case ClinicalLevel.SubjectVisit: + extraIndentification = "SubjectVisit"; + break; + case ClinicalLevel.Study: + extraIndentification = "Study"; + break; + case ClinicalLevel.ImageRead: + case ClinicalLevel.OncologyRead: + extraIndentification = "ImageRead"; + break; + } + } + + List urlList = new List() + { + "ReadingClinicalData/addOrUpdateReadingClinicalData", + "ReadingClinicalData/deleteReadingClinicalDataPDF", + }; + + if (type == AuditOpt.Update && urlList.Contains(_userInfo.RequestUrl)) + { + switch (config.ClinicalDataLevel) + { + case ClinicalLevel.ImageRead: + case ClinicalLevel.OncologyRead: + extraIndentification = "ImageRead"; + break; + default: + extraIndentification = "SubjectVisit"; + break; + } + } + + await InsertInspection(item.Entity as ReadingClinicalData, type, x => new InspectionConvertDTO() + { + + IsDistinctionInterface = type == AuditOpt.Update ? true : false, + + SubjectVisitId = x.IsVisit ? x.ReadingId : null, + + ObjectRelationParentId = entity.ClinicalDataTrialSetId, + + //ObjectRelationParentId2 = x.IsVisit == false?x.ReadingId:null + }, + new { FileCountViewStr = config?.ClinicalDataLevel == ClinicalLevel.Subject && config?.ClinicalUploadType == ClinicalUploadType.Table ? "NA" : entity.FileCount.ToString() }, + extraIndentification + ); + } //临床数据上传PDF @@ -2650,70 +2713,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common ); } - // CRC PM 临床数据 - foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingClinicalData))) - { - var type = GetEntityAuditOpt(item); - - var entity = item.Entity as ReadingClinicalData; - - var config = await _dbContext.ClinicalDataTrialSet.FindAsync(entity.ClinicalDataTrialSetId); - - string extraIndentification = string.Empty; - - if (type != AuditOpt.Update) - { - switch (config.ClinicalDataLevel) - { - case ClinicalLevel.Subject: - case ClinicalLevel.SubjectVisit: - extraIndentification = "SubjectVisit"; - break; - case ClinicalLevel.Study: - extraIndentification = "Study"; - break; - case ClinicalLevel.ImageRead: - case ClinicalLevel.OncologyRead: - extraIndentification = "ImageRead"; - break; - } - } - - List urlList = new List() - { - "ReadingClinicalData/addOrUpdateReadingClinicalData", - "ReadingClinicalData/deleteReadingClinicalDataPDF", - }; - - if (type == AuditOpt.Update && urlList.Contains(_userInfo.RequestUrl )) - { - switch (config.ClinicalDataLevel) - { - case ClinicalLevel.ImageRead: - case ClinicalLevel.OncologyRead: - extraIndentification = "ImageRead"; - break; - default: - extraIndentification = "SubjectVisit"; - break; - } - } - - await InsertInspection(item.Entity as ReadingClinicalData, type, x => new InspectionConvertDTO() - { - - IsDistinctionInterface = type == AuditOpt.Update ? true : false, - - SubjectVisitId = x.IsVisit ? x.ReadingId : null, - - ObjectRelationParentId = entity.ClinicalDataTrialSetId, - - //ObjectRelationParentId2 = x.IsVisit == false?x.ReadingId:null - }, - new { FileCountViewStr = config?.ClinicalDataLevel == ClinicalLevel.Subject && config?.ClinicalUploadType == ClinicalUploadType.Table ? "NA" : entity.FileCount.ToString() }, - extraIndentification - ); - } + foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingConsistentClinicalData))) { From a001f5476fc967744a721bd88202acf30ab70e5f Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Fri, 1 Aug 2025 09:09:35 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index d76622b91..ddf9f48fe 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -2418,7 +2418,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common var type = GetEntityAuditOpt(item); var entity = item.Entity as ReadingClinicalData; - + var trialReadingCriterionId = await _dbContext.ReadModule.Where(t => t.Id == entity.ReadingId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync(); var config = await _dbContext.ClinicalDataTrialSet.FindAsync(entity.ClinicalDataTrialSetId); string extraIndentification = string.Empty; @@ -2463,7 +2463,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common await InsertInspection(item.Entity as ReadingClinicalData, type, x => new InspectionConvertDTO() { - + TrialReadingCriterionId = trialReadingCriterionId, IsDistinctionInterface = type == AuditOpt.Update ? true : false, SubjectVisitId = x.IsVisit ? x.ReadingId : null, @@ -2512,6 +2512,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(t => t.TrialClinicalDataSetId == clinicalDataTrialSet.Id).Select(t => t.TrialReadingCriterionId).ToListAsync(); + var trialReadingCriterionId=await _dbContext.ReadModule.Where(t => t.Id == clinicalData.ReadingId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync(); + //阅片标准 var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync(); @@ -2527,6 +2529,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common Guid? subjectVisitId = visit == null ? null : visit.Id; await InsertInspection(entity, type, x => new InspectionConvertDTO() { + TrialReadingCriterionId = trialReadingCriterionId, TrialId = clinicalData.TrialId, SubjectId = clinicalData.SubjectId, ExtraIndentification = extraIndentification,