From 6471041fadbf68bc1b9b9b8530c5211512c04d21 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 1 Mar 2024 16:00:40 +0800 Subject: [PATCH] =?UTF-8?q?[=E9=A1=B9=E7=9B=AEsite=20code=20=E4=B8=80?= =?UTF-8?q?=E8=87=B4=E6=80=A7=E5=88=86=E6=9E=90=E9=AA=8C=E8=AF=81]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/TaskConsistentRuleService.cs | 11 +++++++++-- .../Service/TrialSiteUser/TrialSiteService.cs | 5 +++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs index b05e5f36b..bda6e6ddf 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs @@ -304,6 +304,7 @@ namespace IRaCIS.Core.Application.Service var subjectList = query.ToList(); var doctorUserIdQuery = from enroll in _repository.Where(t => t.TrialId == trialId).Where(t => t.EnrollReadingCategoryList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).Any(c => c.ReadingCategory == ReadingCategory.Global || c.ReadingCategory == ReadingCategory.Visit)) + .Where(t => t.EnrollReadingCriteriaList.Any(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsJoinAnalysis == true)) join user in _repository.Where() on enroll.DoctorId equals user.DoctorId select user.Id; @@ -741,6 +742,7 @@ namespace IRaCIS.Core.Application.Service } [HttpPost] + [UnitOfWork] [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] public async Task UpdateTrialVirtualSiteCode(UpdateTrialSiteCodeCommand inCommand) { @@ -749,7 +751,12 @@ namespace IRaCIS.Core.Application.Service trial.VitrualSiteCode = inCommand.VirtualSiteCode; - await _trialVirtualSiteCodeUpdateRepository.AddAsync(new TrialVirtualSiteCodeUpdate() { VirturalSiteCode = inCommand.VirtualSiteCode,TrialId=inCommand.TrialId }); + await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trial.Id, u => new VisitTask() { BlindTrialSiteCode = inCommand.VirtualSiteCode }); + + await _taskConsistentRuleRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trial.Id, u => new TaskConsistentRule() { BlindTrialSiteCode = inCommand.VirtualSiteCode }); + + + await _trialVirtualSiteCodeUpdateRepository.AddAsync(new TrialVirtualSiteCodeUpdate() { VirturalSiteCode = inCommand.VirtualSiteCode, TrialId = inCommand.TrialId }); await _trialRepository.SaveChangesAsync(); @@ -791,7 +798,7 @@ namespace IRaCIS.Core.Application.Service if (string.IsNullOrEmpty(trial.VitrualSiteCode)) { - await _trialVirtualSiteCodeUpdateRepository.AddAsync(new TrialVirtualSiteCodeUpdate() { VirturalSiteCode = addOrEditTaskConsistentRule.BlindTrialSiteCode,TrialId=addOrEditTaskConsistentRule.TrialId }); + await _trialVirtualSiteCodeUpdateRepository.AddAsync(new TrialVirtualSiteCodeUpdate() { VirturalSiteCode = addOrEditTaskConsistentRule.BlindTrialSiteCode, TrialId = addOrEditTaskConsistentRule.TrialId }); } trial.VitrualSiteCode = addOrEditTaskConsistentRule.BlindTrialSiteCode; diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs index 31808a25a..dcdddd581 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs @@ -273,6 +273,11 @@ namespace IRaCIS.Core.Application.Services //---Code is not allowed to be repeated return ResponseOutput.NotOk(_localizer["TrialSite_CodeDuplicate"]); } + + if(!string.IsNullOrEmpty(editTrialSiteCommand.TrialSiteCode) && await _trialRepository.AnyAsync(t=>t.Id==trialId && t.VitrualSiteCode == editTrialSiteCommand.TrialSiteCode) ) + { + return ResponseOutput.NotOk(_localizer["TrialSite_CodeDuplicate2"]); + } }