From b203925e502d51363f577a5f0f2feeb2d7d6cc5d Mon Sep 17 00:00:00 2001 From: "{872297557@qq.com}" <872297557@qq.com> Date: Tue, 20 Dec 2022 14:30:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A8=E5=B1=80=E7=A8=BD?= =?UTF-8?q?=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Domain/SQLFile/Test.sql | 4 ++ .../Common/AuditingData.cs | 43 +++++++++++++------ 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/IRaCIS.Core.Domain/SQLFile/Test.sql b/IRaCIS.Core.Domain/SQLFile/Test.sql index 5f8139169..81275d4ca 100644 --- a/IRaCIS.Core.Domain/SQLFile/Test.sql +++ b/IRaCIS.Core.Domain/SQLFile/Test.sql @@ -149,6 +149,10 @@ update DataInspection set VisitTaskId= substring(JsonDetail,CHARINDEX('VisitTask update DataInspection set SubjectVisitId=null where EntityName='ReadModule' +update DataInspection set TrialReadingCriterionId=(select TrialReadingCriterionId from VisitTask where Id =VisitTaskId) where VisitTaskId is not null and TrialReadingCriterionId is null + +update FrontAuditConfig set ValueCN='任务名称' where Value='TaskName' and ValueCN='访视/阅片期名称' and Code='TaskName' +update FrontAuditConfig set ValueCN='任务盲态标识' where Value='TaskBlindName' and ValueCN='访视盲态名称' and Code='TaskBlindName' diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 4d002f030..1f74fbaa4 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -606,7 +606,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer))) { // 保存影像质量 、 修改整体肿瘤评估结果 、 非dicom 保存访视阅片结果 - if (_userInfo.RequestUrl == "ReadingImageTask/changeDicomReadingQuestionAnswer" + if (_userInfo.RequestUrl == "ReadingImageTask/changeDicomReadingQuestionAnswer" || _userInfo.RequestUrl == "ReadingImageTask/saveImageQuality" || _userInfo.RequestUrl == "ReadingImageTask/saveVisitTaskQuestions") { @@ -859,11 +859,24 @@ namespace IRaCIS.Core.Infra.EFCore.Common 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, + var quesionList = await _dbContext.ReadingQuestionTrial.Where(t => questionIdList.Contains(t.Id)).Select(t => new + { + + t.QuestionName, + QuestionId = t.Id, t.DictionaryCode, - t.ShowOrder }).OrderBy(t => t.ShowOrder).ToListAsync(); + t.ShowOrder + }).OrderBy(t => t.ShowOrder).ToListAsync(); + + + //获取访视的评估结果 也要记录稽查 + var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key && questionIdList.Contains(t.ReadingQuestionTrialId)).Select(u => new + { + QuestionId = u.ReadingQuestionTrialId, + u.Answer + }).ToListAsync(); + + var firstEntity = questionAnswerList.First(); @@ -880,14 +893,18 @@ namespace IRaCIS.Core.Infra.EFCore.Common { VisitTaskId = x.TaskId, - TrialReadingCriterionId= trialReadingCriterionId, + TrialReadingCriterionId = trialReadingCriterionId, ObjectRelationParentId = x.TaskId, - }, new { Reason = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.Reason).FirstOrDefault()?.Answer, - AgreeOrNot= group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.AgreeOrNot).FirstOrDefault()?.Answer, - UpdateType = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.UpdateType).FirstOrDefault()?.Answer, - QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() }); + }, new + { + VisitQuestionAnswerList= visitAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList(), + Reason = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.Reason).FirstOrDefault()?.Answer, + AgreeOrNot = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.AgreeOrNot).FirstOrDefault()?.Answer, + UpdateType = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.UpdateType).FirstOrDefault()?.Answer, + QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() + }); } } @@ -2060,7 +2077,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common SubjectId = inspection.SubjectId, SubjectVisitId = inspection.SubjectVisitId, TrialId = inspection.TrialId, - TrialReadingCriterionId=inspection.TrialReadingCriterionId + TrialReadingCriterionId = inspection.TrialReadingCriterionId }; @@ -2069,9 +2086,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common if (generalData.TrialId == null || generalData.SiteId == null || generalData.SubjectId == null || generalData.TrialReadingCriterionId == null) { - var info = await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectCode = x.Subject.Code, TrialSiteCode = x.Subject.TrialSite.TrialSiteCode, SubjectId = x.SubjectId, x.Subject.SiteId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId ,x.TrialReadingCriterionId }).FirstOrDefaultAsync(); + var info = await _dbContext.VisitTask.Where(x => x.Id == inspection.VisitTaskId).Select(x => new { SubjectCode = x.Subject.Code, TrialSiteCode = x.Subject.TrialSite.TrialSiteCode, SubjectId = x.SubjectId, x.Subject.SiteId, x.TrialId, x.SourceSubjectVisitId, ReadModuleSubjectVisitId = (Guid?)x.ReadModule.SubjectVisitId, x.TrialReadingCriterionId }).FirstOrDefaultAsync(); - generalData.TrialReadingCriterionId= info?.TrialReadingCriterionId ?? generalData.TrialReadingCriterionId; + generalData.TrialReadingCriterionId = info?.TrialReadingCriterionId ?? generalData.TrialReadingCriterionId; generalData.TrialId = info?.TrialId ?? generalData.TrialId; generalData.SubjectId = info?.SubjectId ?? generalData.SubjectId; generalData.SiteId = info?.SiteId ?? generalData.SiteId;