From ab2be64346f8a6853a89e05e16d34a4ce7cbdadd Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 1 Sep 2022 17:44:52 +0800 Subject: [PATCH] =?UTF-8?q?j=E4=BF=AE=E6=94=B9=E5=85=A8=E5=B1=80=E9=98=85?= =?UTF-8?q?=E7=89=87=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingQuestionCriterionSystem.cs | 1 + .../Common/AuditingData.cs | 60 +++++++++++++------ 2 files changed, 44 insertions(+), 17 deletions(-) diff --git a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs index 00d0baacd..3b3507281 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs @@ -54,6 +54,7 @@ namespace IRaCIS.Core.Domain.Models /// public Guid CreateUserId { get; set; } + [JsonIgnore] public List ReadingQuestionSystemList { get; set; } = new List(); [ForeignKey("CriterionId")] diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 1f4547d18..2c28a6003 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -230,7 +230,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common var cloneEntity = firstEntity.Clone(); //保证Id 唯一 - cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.VisitTaskId.ToString(), firstEntity.TaskMedicalReviewId.ToString() ); + cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.VisitTaskId.ToString(), firstEntity.TaskMedicalReviewId.ToString()); await InsertInspection(cloneEntity, type, x => new InspectionConvertDTO() { @@ -267,7 +267,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingOncologyTaskInfo))) { - var type =AuditOpt.Add; + var type = AuditOpt.Add; var entity = item.Entity as ReadingOncologyTaskInfo; @@ -279,29 +279,55 @@ namespace IRaCIS.Core.Infra.EFCore.Common }); } - // 全局 阅片结果 - foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo))) + u + // 全局 阅片结果 + if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo))) { var type = AuditOpt.Add; - var entity = item.Entity as ReadingGlobalTaskInfo; + var list = entitys.Where(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo)).Select(t => t.Entity as ReadingGlobalTaskInfo); - var questionName = string.Empty; - if(entity.QuestionId != null) + + foreach (var group in list.GroupBy(t => t.TaskId)) { - questionName= await _dbContext.ReadingQuestionTrial.Where(t => t.Id == entity.QuestionId).Select(t => t.QuestionName).FirstOrDefaultAsync(); + var questionAnswerList = group.Where(t => t.QuestionId != null).ToList(); + + var reasonStr = group.Where(t => t.QuestionId == null).FirstOrDefault().Answer; + + var questionIdList = questionAnswerList.Select(t => t.QuestionId).ToList(); + + var quesionList = await _dbContext.ReadingQuestionTrial.Where(t => questionIdList.Contains(t.Id)).Select(t => new { t.QuestionName, QuestionId = t.Id, t.ShowOrder }).OrderBy(t => t.ShowOrder).ToListAsync(); + + + var firstEntity = questionAnswerList.First(); + + var cloneEntity = firstEntity.Clone(); + + //保证Id 唯一 + cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), firstEntity.TaskId.ToString(), firstEntity.Id.ToString()); + + + + await InsertInspection(cloneEntity, type, x => new InspectionConvertDTO() + { + VisitTaskId = x.TaskId, + + ObjectRelationParentId = x.TaskId, + + }, new { Reason = reasonStr, QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() }); } - await InsertInspection(entity, type, x => new InspectionConvertDTO() - { - VisitTaskId = entity.TaskId, - ObjectRelationParentId = entity.TaskId, - },new { QuestionName= questionName }); + + + } - + + + + @@ -1255,11 +1281,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common var entity = item.Entity as VisitTask; - var obj= new object() { }; + var obj = new object() { }; - if(entity.JudgeResultTaskId != null && _userInfo.RequestUrl== "ReadingImageTask/saveJudgeVisitTaskResult") + if (entity.JudgeResultTaskId != null && _userInfo.RequestUrl == "ReadingImageTask/saveJudgeVisitTaskResult") { - var list= await _dbContext.VisitTask.Where(t => t.TaskState == TaskState.Effect && t.SubjectId == entity.SubjectId && t.VisitTaskNum == entity.VisitTaskNum ).Select(t => new {t.Id, t.DoctorUser.FullName, t.ArmEnum }).OrderBy(t=>t.ArmEnum).ToListAsync(); + var list = await _dbContext.VisitTask.Where(t => t.TaskState == TaskState.Effect && t.SubjectId == entity.SubjectId && t.VisitTaskNum == entity.VisitTaskNum).Select(t => new { t.Id, t.DoctorUser.FullName, t.ArmEnum }).OrderBy(t => t.ArmEnum).ToListAsync(); var r1 = list.First(); var r2 = list.Last();