diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 4ed8530d3..de27df90c 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -3507,17 +3507,23 @@ namespace IRaCIS.Core.Infra.EFCore.Common #endregion + Guid? subjectVisitId = null; if (entity.SouceReadModuleId != null) { - var subjectVisitId = await _dbContext.ReadModule.Where(x => x.Id == entity.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync(); + subjectVisitId = await _dbContext.ReadModule.Where(x => x.Id == entity.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync(); obj.CutOffVisitName = await _dbContext.SubjectVisit.Where(x => x.Id == subjectVisitId).Select(x => x.BlindName).FirstOrDefaultAsync(); } + else + { + subjectVisitId = entity.SourceSubjectVisitId; + } await InsertInspection(entity, type, x => new InspectionConvertDTO() { VisitTaskId = x.Id, + SubjectVisitId= subjectVisitId, IsDistinctionInterface = type == AuditOpt.Update ? true : false, @@ -3681,14 +3687,13 @@ namespace IRaCIS.Core.Infra.EFCore.Common if (inspection.VisitTaskId != null) { - if (generalData.TrialId == null || /*generalData.TrialSiteId == null ||*/ generalData.SubjectId == null || generalData.TrialReadingCriterionId == null) + if (generalData.TrialId == null || generalData.SubjectId == null || generalData.TrialReadingCriterionId == null || generalData.SubjectVisitId == null) { - var info = await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectCode = x.Subject.Code, SubjectId = x.SubjectId, x.Subject.TrialSiteId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId, x.TrialReadingCriterionId }).FirstOrDefaultAsync(); + var info = await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectCode = x.Subject.Code, SubjectId = x.SubjectId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId, x.TrialReadingCriterionId }).FirstOrDefaultAsync(); generalData.TrialReadingCriterionId = info?.TrialReadingCriterionId ?? generalData.TrialReadingCriterionId; generalData.TrialId = info?.TrialId ?? generalData.TrialId; generalData.SubjectId = info?.SubjectId ?? generalData.SubjectId; - generalData.TrialSiteId = info?.TrialSiteId ?? generalData.TrialSiteId; generalData.SubjectVisitId = info?.SourceSubjectVisitId != null ? info?.SourceSubjectVisitId : (info?.ReadModuleSubjectVisitId != null ? info?.ReadModuleSubjectVisitId : null); //以后移除 @@ -3711,14 +3716,13 @@ namespace IRaCIS.Core.Infra.EFCore.Common if (inspection.SubjectVisitId != null) { - if (generalData.TrialId == null /*|| generalData.TrialSiteId == null*/ || generalData.SubjectId == null) + if (generalData.TrialId == null || generalData.SubjectId == null) { var info = await _dbContext.SubjectVisit.Where(x => x.Id == generalData.SubjectVisitId).Select(x => new { x.SubjectId, x.TrialSiteId, x.TrialId, SubjectCode = x.Subject.Code }).FirstOrDefaultAsync(); generalData.TrialId = info?.TrialId ?? generalData.TrialId; - generalData.TrialSiteId = info?.TrialSiteId ?? generalData.TrialSiteId; generalData.SubjectId = info?.SubjectId ?? generalData.SubjectId; //以后移除 @@ -3731,9 +3735,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common if (generalData.SubjectId != null) { - if (generalData.TrialId == null /*|| generalData.TrialSiteId == null*/) + if (generalData.TrialId == null ) { - var info = await _dbContext.Subject.Where(x => x.Id == generalData.SubjectId).Select(x => new { SubjectId = x.Id, x.TrialSiteId, x.TrialId, SubjectCode = x.Code, /*TrialSiteCode = x.TrialSite.TrialSiteCode*/ }).FirstOrDefaultAsync(); + var info = await _dbContext.Subject.Where(x => x.Id == generalData.SubjectId).Select(x => new { SubjectId = x.Id, x.TrialSiteId, x.TrialId, SubjectCode = x.Code, }).FirstOrDefaultAsync(); if (info == null) {