From f7348b5d2850b156361b5cb636cd99d5f53c8813 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 8 Sep 2022 11:45:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E4=BF=AE=E6=94=B9=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common/AuditingData.cs | 56 +++++++++++++++++-- .../Context/IRaCISDBContext.cs | 25 ++++----- 2 files changed, 64 insertions(+), 17 deletions(-) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 3af5943f1..d82ba6964 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -166,10 +166,18 @@ namespace IRaCIS.Core.Infra.EFCore.Common var entity = item.Entity as ReadingQuestionCriterionTrial; + var isDistinctionInterface = false; + + //设置项目配置 肿瘤学配置 和阅片标准配置 + if (_userInfo.RequestUrl == "TrialConfig/setOncologySet" || _userInfo.RequestUrl == "TrialConfig/setTrialReadingCriterion") + { + isDistinctionInterface = true; + } + await InsertInspection(entity, type, x => new InspectionConvertDTO() { - IsDistinctionInterface = type == AuditOpt.Update ? true : false, + IsDistinctionInterface = isDistinctionInterface, ObjectRelationParentId = x.TrialId @@ -212,6 +220,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common var entity = item.Entity as ReadingQuestionTrial; + var isDistinctionInterface = false; + //重置仲裁规则 + if (_userInfo.RequestUrl == "ReadingImageTask/setTrialCriterionJudgeQuestionAnswerGroup") + { + isDistinctionInterface = true; + } int? parentQuestionShowOrder = null; @@ -231,7 +245,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common await InsertInspection(entity, type, x => new InspectionConvertDTO() { - IsDistinctionInterface = false, + IsDistinctionInterface = isDistinctionInterface, ObjectRelationParentId = x.TrialId @@ -562,6 +576,14 @@ namespace IRaCIS.Core.Infra.EFCore.Common var obj = new object() { }; + //访视任务 + + if (_userInfo.RequestUrl == "ReadingImageTask/SubmitVisitTaskQuestions" && entity.ReadingTaskState != ReadingTaskState.HaveSigned) + { + //提交访视任务的时候 会多次更新同一个记录 只记录最后一次 + return; + } + //裁判任务 if (entity.JudgeResultTaskId != null && (_userInfo.RequestUrl == "ReadingImageTask/saveJudgeVisitTaskResult" || _userInfo.RequestUrl == "ReadingImageTask/saveJudgeVisitTaskResult")) { @@ -1103,7 +1125,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common }, new { ParentQuestionName = parentQuestionName, - ParentQuestionOrder= parentQuestionOrder + ParentQuestionOrder = parentQuestionOrder }); } @@ -1441,7 +1463,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common ObjectRelationParentId = enrollId, - IsDistinctionInterface=false + IsDistinctionInterface = false }, new { ReadingCategoryList = addList.Select(t => t.ReadingCategory).ToList(), @@ -1919,6 +1941,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common var basicData = entityObj as SystemBasicData; type = type + (basicData.ParentId == null ? "/parent" : string.Empty); break; + case nameof(Trial): var trial = entityObj as Trial; Guid id = trial.Id; @@ -1937,6 +1960,24 @@ namespace IRaCIS.Core.Infra.EFCore.Common } break; + case nameof(ReadingQuestionTrial): + + var trialReadingQuestion = entityObj as ReadingQuestionTrial; + + switch (_userInfo.RequestUrl) + { + case "ReadingImageTask/setTrialCriterionJudgeQuestionAnswerGroup": + + if (trialReadingQuestion.JudgeType == JudgeTypeEnum.None) + { + type = type + "/" + "Reset"; + } + + break; + } + break; + + #region 访视相关 // 对话消息区分用户类型 case nameof(CheckChallengeDialog): @@ -2025,6 +2066,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common break; } break; + #endregion + + + #region 阅片任务相关 //任务表 case nameof(VisitTask): @@ -2147,6 +2192,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common } break; + #endregion + + } diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 5430c6aaa..959515560 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -474,25 +474,24 @@ namespace IRaCIS.Core.Infra.EFCore public async Task AddAudit() { - //try - //{ - //触发器里面提交事务 业务方法里面提交事务 会记录两次 - var inspectionGeneralIdList = ChangeTracker.Entries().Where(t => typeof(DataInspection).IsAssignableFrom(t.Entity.GetType())).Select(t => ((DataInspection)t.Entity).GeneralId).ToList(); - var entities = ChangeTracker.Entries().Where(u => (u.State == EntityState.Modified || u.State == EntityState.Deleted || u.State == EntityState.Added)) - .Where(t => !typeof(DataInspection).IsAssignableFrom(t.Entity.GetType()) && !inspectionGeneralIdList.Contains(((Entity)t.Entity).Id)) - .ToList(); - AuditingData auditingData = new AuditingData(this, _userInfo); + //触发器里面提交事务 业务方法里面提交事务 会记录两次 + var inspectionGeneralIdList = ChangeTracker.Entries().Where(t => typeof(DataInspection).IsAssignableFrom(t.Entity.GetType())).Select(t => ((DataInspection)t.Entity).GeneralId).ToList(); + + var entities = ChangeTracker.Entries().Where(u => (u.State == EntityState.Modified || u.State == EntityState.Deleted || u.State == EntityState.Added)) + .Where(t => !typeof(DataInspection).IsAssignableFrom(t.Entity.GetType()) && !inspectionGeneralIdList.Contains(((Entity)t.Entity).Id)) + .ToList(); + AuditingData auditingData = new AuditingData(this, _userInfo); //await auditingData.IncomingEntitys(entities); - await auditingData.InsertAddEntitys(entities); - //} - //catch (Exception) - //{ + if (entities.Count > 0) + { + await auditingData.InsertAddEntitys(entities); + + } - //} }