diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index d77762729..484db67a6 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -2216,7 +2216,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList(); await InsertInspection(readModuleCriterionFrom, type, x => new InspectionConvertDTO() { - GeneralId= readModuleCriterionFrom.ReadModuleId, + ObjectRelationParentId= readModuleCriterionFrom.ReadModuleId, + GeneralId = readModuleCriterionFrom.ReadModuleId, TrialId = subject.TrialId, SubjectId = subject.Id, }, new @@ -2232,71 +2233,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common }); } - - var readModuleList = entitys.Where(x => x.Entity.GetType() == typeof(ReadModule)).ToList(); - if (readModuleList.Count > 0) - { - List urlList = new List() { - "ClinicalAnswer/cRCCancelConfirmClinical", - }; - if (urlList.Contains(_userInfo.RequestUrl)) - { - var item = readModuleList.FirstOrDefault(); - var type = GetEntityAuditOpt(item); - var entity = item.Entity as ReadModule; - string extraIndentification = "/"+ _userInfo.RequestUrl; - - var readModuleCriterionFrom = await _dbContext.ReadModuleCriterionFrom.Where(t => t.ReadModuleId== entity.Id).FirstOrDefaultAsync(); - var latestScanDate = await _dbContext.ReadModule.Where(t => t.Id == entity.Id).Select(x => x.SubjectVisit.LatestScanDate).FirstOrDefaultAsync(); - Site? siteInfo = null; - Subject? subject = null; - //阅片标准 - - - var clinicalFormIds = await _dbContext.ReadModuleCriterionFrom.Where(x => x.ReadModuleId == entity.Id).Select(x => x.ClinicalFormId).ToListAsync(); - var clinicalDataTrialSetIds = await _dbContext.ClinicalForm.Where(x => clinicalFormIds.Contains(x.Id)).Select(x => x.ClinicalDataTrialSetId).Distinct().ToListAsync(); - - // 临床数据 - var clinicalDataTrialSetList = await _dbContext.ClinicalDataTrialSet.Where(x => clinicalDataTrialSetIds.Contains(x.Id)).ToListAsync(); - - var clinicalSetIds = clinicalDataTrialSetList.Select(x => x.Id).ToList(); - - // 项目临床数据和标准的关联 - var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(x => clinicalSetIds.Contains(x.TrialClinicalDataSetId)).Select(x => x.TrialReadingCriterionId).Distinct().ToListAsync(); - - // 标准 - var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync(); - - - - subject = await _dbContext.Subject.Where(x => x.Id == entity.SubjectId).FirstOrDefaultAsync(); - siteInfo = await _dbContext.Site.Where(x => x.Id == subject.SiteId).FirstOrDefaultAsync(); - - var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList().Distinct(); - - - - - - await InsertInspection(readModuleCriterionFrom, type, x => new InspectionConvertDTO() - { - GeneralId= entity.Id, - TrialId = subject.TrialId, - SubjectId = subject.Id, - }, new - { - SiteCode = siteInfo == null ? "" : siteInfo.SiteCode, - SubjectCode = subject == null ? "" : subject.Code, - LatestScanDate = latestScanDate, - ClinicalDataSetName = string.Join(",", clinicalDataSetNameList), - ClinicalDataLevel = clinicalDataTrialSetList.Select(x => x.ClinicalDataLevel).FirstOrDefault(), - ClinicalUploadType = clinicalDataTrialSetList.Select(x => x.ClinicalUploadType).FirstOrDefault(), - CriterionNames = string.Join(",", criterionNameList.Distinct()), - RecordNumber = clinicalFormIds.Count(), - - }); - } - } //系统临床数据配置 @@ -2496,7 +2432,65 @@ namespace IRaCIS.Core.Infra.EFCore.Common string extraIndentification = string.Empty; object objData = new { }; - + + + List urlList = new List() { + "ClinicalAnswer/cRCCancelConfirmClinical", + }; + + if (urlList.Contains(_userInfo.RequestUrl)) + { + + extraIndentification = "/" + _userInfo.RequestUrl; + + var readModuleCriterionFrom = await _dbContext.ReadModuleCriterionFrom.Where(t => t.ReadModuleId == entity.Id).FirstOrDefaultAsync(); + var latestScanDate = await _dbContext.ReadModule.Where(t => t.Id == entity.Id).Select(x => x.SubjectVisit.LatestScanDate).FirstOrDefaultAsync(); + Site? siteInfo = null; + Subject? subject = null; + //阅片标准 + + + var clinicalFormIds = await _dbContext.ReadModuleCriterionFrom.Where(x => x.ReadModuleId == entity.Id).Select(x => x.ClinicalFormId).ToListAsync(); + var clinicalDataTrialSetIds = await _dbContext.ClinicalForm.Where(x => clinicalFormIds.Contains(x.Id)).Select(x => x.ClinicalDataTrialSetId).Distinct().ToListAsync(); + + // 临床数据 + var clinicalDataTrialSetList = await _dbContext.ClinicalDataTrialSet.Where(x => clinicalDataTrialSetIds.Contains(x.Id)).ToListAsync(); + + var clinicalSetIds = clinicalDataTrialSetList.Select(x => x.Id).ToList(); + + // 项目临床数据和标准的关联 + var trialReadingCriterionIdList = await _dbContext.TrialClinicalDataSetCriterion.Where(x => clinicalSetIds.Contains(x.TrialClinicalDataSetId)).Select(x => x.TrialReadingCriterionId).Distinct().ToListAsync(); + + // 标准 + var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => trialReadingCriterionIdList.Contains(t.Id)).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync(); + + + + subject = await _dbContext.Subject.Where(x => x.Id == entity.SubjectId).FirstOrDefaultAsync(); + siteInfo = await _dbContext.Site.Where(x => x.Id == subject.SiteId).FirstOrDefaultAsync(); + + var clinicalDataSetNameList = clinicalDataTrialSetList.Select(x => x.ClinicalDataSetName).ToList().Distinct(); + + + + + + objData=new + { + SiteCode = siteInfo == null ? "" : siteInfo.SiteCode, + SubjectCode = subject == null ? "" : subject.Code, + LatestScanDate = latestScanDate, + ClinicalDataSetName = string.Join(",", clinicalDataSetNameList), + ClinicalDataLevel = clinicalDataTrialSetList.Select(x => x.ClinicalDataLevel).FirstOrDefault(), + ClinicalUploadType = clinicalDataTrialSetList.Select(x => x.ClinicalUploadType).FirstOrDefault(), + CriterionNames = string.Join(",", criterionNameList.Distinct()), + RecordNumber = clinicalFormIds.Count(), + + }; + } + + + await InsertInspection(item.Entity as ReadModule, type, x => new InspectionConvertDTO() { ObjectRelationParentId = entity.SubjectVisitId,