From 9522461508d11cef8924f98292156063e27e8a9d Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 17 Jul 2025 10:34:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E7=A8=BD=E6=9F=A5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrialSiteUser/TrialConfigService.cs | 2 +- .../Common/AuditingData.cs | 22 +++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index c48ee08e7..db49cc982 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -853,7 +853,7 @@ namespace IRaCIS.Core.Application await _qcQuestionAnswerRepository.BatchDeleteNoTrackingAsync(t => t.SubjectVisit.TrialId == signConfirmDTO.TrialId && t.SubjectVisit.SecondReviewState != SecondReviewState.AuditPassed && t.CurrentQCEnum == CurrentQC.SecondReview); //重复二次复核签名 - await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == signConfirmDTO.TrialId && t.AuditState == AuditStateEnum.QCPassed + await _subjectVisitRepository.UpdatePartialFromQueryAsync(t => t.TrialId == signConfirmDTO.TrialId && t.AuditState == AuditStateEnum.QCPassed && !t.TrialQCQuestionAnswerList.Any(t => t.SecondReviewTime == trialConfirmTime), u => new SubjectVisit() { SecondReviewState = SecondReviewState.WaitAudit }); diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 627af7b58..5454a990b 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -92,7 +92,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common /// 单位字典 /// 答案 /// - public string Translationunit(string answerType, ValueUnit? unit, string customUnit, List unitDataList,string? answer) + public string Translationunit(string answerType, ValueUnit? unit, string customUnit, List unitDataList, string? answer) { if (answerType == "upload") { @@ -1978,7 +1978,15 @@ namespace IRaCIS.Core.Infra.EFCore.Common //待处理? case "qcoperation/qcpassedorfailed": - extraIdentification = "/" + (40 % (int)entity.AuditState).ToString(); + if (entity.AuditState == AuditStateEnum.QCPassed && (entity.SecondReviewState == SecondReviewState.AuditPassed || entity.SecondReviewState == SecondReviewState.AuditFailed)) + { + extraIdentification = "/SecondReviewFinished"; + } + else + { + extraIdentification = "/" + (40 % (int)entity.AuditState).ToString(); + + } break; @@ -3134,7 +3142,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common (t, u) => new { - Answer = Translationunit(u.AnswerType, u.Unit,u.CustomUnit, unitDataList, t.Answer), + Answer = Translationunit(u.AnswerType, u.Unit, u.CustomUnit, unitDataList, t.Answer), u.DictionaryCode, u.QuestionName, u.QuestionEnName, @@ -3242,12 +3250,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common string extraIdentification = string.Empty; - var readingQuestion = await _dbContext.ReadingQuestionTrial.Where(t => t.Id == entity.QuestionId).Include(x=>x.ReadingQuestionCriterionTrial).FirstNotNullAsync(); + var readingQuestion = await _dbContext.ReadingQuestionTrial.Where(t => t.Id == entity.QuestionId).Include(x => x.ReadingQuestionCriterionTrial).FirstNotNullAsync(); if (readingQuestion.ReadingQuestionCriterionTrial.CriterionGroup == CriterionGroup.Nontumorous) { extraIdentification = "/Nontumorous"; } - + await InsertInspection(entity, type, x => new InspectionConvertDTO() @@ -3671,9 +3679,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common } } - if(entity.TaskBlindName.Contains("Timepoint Ran")) + if (entity.TaskBlindName.Contains("Timepoint Ran")) { - if(_dbContext.VisitTask.Where(t => t.Id == entity.Id).Any(t => !t.TaskBlindName.Contains("Timepoint Ran"))) + if (_dbContext.VisitTask.Where(t => t.Id == entity.Id).Any(t => !t.TaskBlindName.Contains("Timepoint Ran"))) { isDistinctionInterface = false; extraIdentification = "/TriggerSystemBlindingName";