Uat_Study
hang 2022-08-25 14:39:11 +08:00
parent 7ac2bfe477
commit 42a8e218a8
1 changed files with 27 additions and 19 deletions

View File

@ -1176,15 +1176,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common
}; };
//if (inspection.TrialId == null && inspection.SubjectId == null && inspection.SubjectVisitId == null && inspection.SiteId == null && inspection.VisitTaskId == null)
//{
// throw new BusinessValidationFailedException("稽查记录 关联TrialId、SubjectId、SubjectVisitId、SiteId 都忘记进行了设置");
//}
if (inspection.VisitTaskId != null) if (inspection.VisitTaskId != null)
{ {
var info = (await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectId = x.SubjectId, x.Subject.SiteId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId }).FirstOrDefaultAsync()).IfNullThrowException();
if (generalData.TrialId == null || generalData.SiteId == null || generalData.SubjectId == null)
{
var info = await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectId = x.SubjectId, x.Subject.SiteId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId }).FirstOrDefaultAsync();
generalData.TrialId = info?.TrialId ?? generalData.TrialId; generalData.TrialId = info?.TrialId ?? generalData.TrialId;
@ -1193,9 +1190,13 @@ namespace IRaCIS.Core.Infra.EFCore.Common
generalData.SubjectVisitId = info?.SourceSubjectVisitId != null ? info?.SourceSubjectVisitId : (info?.ReadModuleSubjectVisitId != null ? info?.ReadModuleSubjectVisitId : null); generalData.SubjectVisitId = info?.SourceSubjectVisitId != null ? info?.SourceSubjectVisitId : (info?.ReadModuleSubjectVisitId != null ? info?.ReadModuleSubjectVisitId : null);
} }
}
// Suject visit 都进行了设置 不用处理 // Suject visit 都进行了设置 不用处理
if (inspection.SubjectVisitId != null) if (inspection.SubjectVisitId != null)
{
if (generalData.TrialId == null || generalData.SiteId == null || generalData.SubjectId == null)
{ {
var info = await _dbContext.SubjectVisit.Where(x => x.Id == generalData.SubjectVisitId).Select(x => var info = await _dbContext.SubjectVisit.Where(x => x.Id == generalData.SubjectVisitId).Select(x =>
new { x.SubjectId, x.SiteId, x.TrialId }).FirstOrDefaultAsync(); new { x.SubjectId, x.SiteId, x.TrialId }).FirstOrDefaultAsync();
@ -1203,12 +1204,16 @@ namespace IRaCIS.Core.Infra.EFCore.Common
generalData.TrialId = info?.TrialId ?? generalData.TrialId; generalData.TrialId = info?.TrialId ?? generalData.TrialId;
generalData.SiteId = info?.SiteId ?? generalData.SiteId; generalData.SiteId = info?.SiteId ?? generalData.SiteId;
generalData.SubjectId = info?.SubjectId ?? generalData.SubjectId; generalData.SubjectId = info?.SubjectId ?? generalData.SubjectId;
} }
}
if (generalData.SubjectId != null) if (generalData.SubjectId != null)
{
if (generalData.TrialId == null || generalData.SiteId == null)
{ {
var info = await _dbContext.Subject.Where(x => x.Id == generalData.SubjectId).Select(x => new { SubjectId = x.Id, x.SiteId, x.TrialId }).FirstOrDefaultAsync(); var info = await _dbContext.Subject.Where(x => x.Id == generalData.SubjectId).Select(x => new { SubjectId = x.Id, x.SiteId, x.TrialId }).FirstOrDefaultAsync();
@ -1216,6 +1221,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
generalData.SiteId = info?.SiteId ?? generalData.SiteId; generalData.SiteId = info?.SiteId ?? generalData.SiteId;
} }
}
return generalData; return generalData;
} }