diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs index f08703c2b..15dfb39a4 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs @@ -610,7 +610,7 @@ namespace IRaCIS.Core.Application.Service var taskConsistentRuleQueryable = from enroll in _repository.Where(t => t.TrialId == trialId) join user in _repository.Where() on enroll.DoctorId equals user.DoctorId - join taskConsistentRule in _repository.Where(t => t.TrialId == trialId && t.IsSelfAnalysis) on enroll.TrialId equals taskConsistentRule.TrialId + join taskConsistentRule in _repository.Where(t => t.TrialId == trialId &&t.TrialReadingCriterionId==inQuery.TrialReadingCriterionId && t.IsSelfAnalysis) on enroll.TrialId equals taskConsistentRule.TrialId select new TaskConsistentRuleView() { Id = taskConsistentRule.Id, @@ -629,7 +629,7 @@ namespace IRaCIS.Core.Application.Service IsHaveReadingPeriod = taskConsistentRule.IsHaveReadingPeriod, PlanVisitCount = taskConsistentRule.PlanVisitCount, - GeneratedSubjectCount = taskConsistentRule.Trial.VisitTaskList.Where(t => t.IsAnalysisCreate && t.IsSelfAnalysis == true && t.DoctorUserId == user.Id).Select(t => t.SubjectId).Distinct().Count(), + GeneratedSubjectCount = taskConsistentRule.Trial.VisitTaskList.Where(t => t.IsAnalysisCreate && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId && t.IsSelfAnalysis == true && t.DoctorUserId == user.Id).Select(t => t.SubjectId).Distinct().Count(), AnalysisDoctorUser = new UserSimpleInfo() { diff --git a/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs b/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs index cf5c631c6..2639e28f4 100644 --- a/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs +++ b/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs @@ -225,6 +225,7 @@ namespace IRaCIS.Core.Application.Service Identification = x.Identification, ObjectRelationParentId = x.ObjectRelationParentId, ObjectRelationParentId2 = x.ObjectRelationParentId2, + ObjectRelationParentId3 = x.ObjectRelationParentId3, CreateTime = x.CreateTime, BatchId = x.BatchId, @@ -250,7 +251,7 @@ namespace IRaCIS.Core.Application.Service var objectLsit = new List(); - var relationParentDataObjList = await GetRelationParentData(item.Id, item.ObjectRelationParentId, item.ObjectRelationParentId2, item.CreateTime, item.BatchId, objectLsit); + var relationParentDataObjList = await GetRelationParentData(item.Id, item.ObjectRelationParentId, item.ObjectRelationParentId2, item.ObjectRelationParentId3 ,item.CreateTime, item.BatchId, objectLsit); @@ -349,9 +350,6 @@ namespace IRaCIS.Core.Application.Service #endregion - - - item.JsonStr = JsonConvert.SerializeObject(jsonDict); } @@ -378,7 +376,7 @@ namespace IRaCIS.Core.Application.Service if (objectRelationParentId != null) { //父子层级的数据可能在同一个批次 进行更新 但是后插入的是父层级的数据 找父层级的稽查应该优先同一批次的 - var relationParentInspection = await _dataInspectionRepository.Where(t => t.GeneralId == objectRelationParentId && (t.CreateTime <= createTime || t.BatchId == batchId) && t.Id != id).OrderByDescending(x => x.CreateTime).Select(t => new { t.ObjectRelationParentId, t.CreateTime, t.JsonDetail, t.BatchId, t.ObjectRelationParentId2, t.EntityName, t.Id }).FirstOrDefaultAsync(); + var relationParentInspection = await _dataInspectionRepository.Where(t => t.GeneralId == objectRelationParentId && (t.CreateTime <= createTime || t.BatchId == batchId) && t.Id != id).OrderByDescending(x => x.CreateTime).Select(t => new { t.ObjectRelationParentId, t.CreateTime, t.JsonDetail, t.BatchId, t.ObjectRelationParentId2, t.ObjectRelationParentId3, t.EntityName, t.Id }).FirstOrDefaultAsync(); if (relationParentInspection != null) @@ -420,6 +418,7 @@ namespace IRaCIS.Core.Application.Service await AddJsonObjectToDic(relationParentInspection.Id, relationParentInspection.ObjectRelationParentId, relationParentInspection.CreateTime, relationParentInspection.BatchId, objectLsit); await AddJsonObjectToDic(relationParentInspection.Id, relationParentInspection.ObjectRelationParentId2, relationParentInspection.CreateTime, relationParentInspection.BatchId, objectLsit); + await AddJsonObjectToDic(relationParentInspection.Id, relationParentInspection.ObjectRelationParentId3, relationParentInspection.CreateTime, relationParentInspection.BatchId, objectLsit); } else @@ -441,11 +440,13 @@ namespace IRaCIS.Core.Application.Service - private async Task> GetRelationParentData(Guid id, Guid? objectRelationParentId, Guid? objectRelationParentId2, DateTime createTime, Guid batchId, List objectLsit) + private async Task> GetRelationParentData(Guid id, Guid? objectRelationParentId, Guid? objectRelationParentId2, Guid? objectRelationParentId3, DateTime createTime, Guid batchId, List objectLsit) { await AddJsonObjectToDic(id, objectRelationParentId, createTime, batchId, objectLsit); await AddJsonObjectToDic(id, objectRelationParentId2, createTime, batchId, objectLsit); + await AddJsonObjectToDic(id, objectRelationParentId3, createTime, batchId, objectLsit); + #region 废弃 diff --git a/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql b/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql index bd28deb81..48f3099bf 100644 --- a/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql +++ b/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql @@ -91,4 +91,12 @@ go update ReadingQuestionCriterionTrial set DigitPlaces=DigitPlaces-1 where DigitPlaces is not null -update ReadingQuestionCriterionTrial set DigitPlaces=-1 where DigitPlaces=3 \ No newline at end of file +update ReadingQuestionCriterionTrial set DigitPlaces=-1 where DigitPlaces=3 + + +--Ƭ׼ά +update DataInspection set ObjectRelationParentId3 = (select top 1 TrialReadingCriterionId from SubjectUser where Id =DataInspection.GeneralId) where EntityName='SubjectUser' +update DataInspection set ObjectRelationParentId2 = (select top 1 TrialReadingCriterionId from ReadingPeriodSet where Id =DataInspection.GeneralId) where EntityName='ReadingPeriodSet' +update DataInspection set ObjectRelationParentId2 = (select top 1 TrialReadingCriterionId from ReadModule where Id =DataInspection.GeneralId) where EntityName='ReadModule' +update DataInspection set ObjectRelationParentId2 = (select top 1 TrialReadingCriterionId from TaskConsistentRule where Id =DataInspection.GeneralId) where EntityName='TaskConsistentRule' +update DataInspection set ObjectRelationParentId3 = (select top 1 TrialReadingCriterionId from VisitTask where Id =DataInspection.GeneralId) where EntityName='VisitTask' diff --git a/IRaCIS.Core.Domain/Trial/DataInspection.cs b/IRaCIS.Core.Domain/Trial/DataInspection.cs index 75a88577c..0d3f8a2dd 100644 --- a/IRaCIS.Core.Domain/Trial/DataInspection.cs +++ b/IRaCIS.Core.Domain/Trial/DataInspection.cs @@ -121,10 +121,6 @@ namespace IRaCIS.Core.Domain.Models /// public string Identification { get; set; } = string.Empty; - ///// - ///// 访视计划ID - ///// - //public Guid? VisitStageId { get; set; } /// /// 稽查的对象Id @@ -146,10 +142,17 @@ namespace IRaCIS.Core.Domain.Models public Guid? ObjectRelationParentId2 { get; set; } + public Guid? ObjectRelationParentId3 { get; set; } + public string EntityName { get; set; } + public Guid? TrialReadingCriterionId { get; set; } + + public Guid? DoctorUserId { get; set; } + + } diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 6dd018920..a025fd149 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -464,106 +464,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common } - #region 肿瘤学阅片结果 记录表格 - - //if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingOncologyTaskInfo))) - //{ - // var type = AuditOpt.Add; - - // var oncologyAnswerList = entitys.Where(x => x.Entity.GetType() == typeof(ReadingOncologyTaskInfo)).Select(t => t.Entity as ReadingOncologyTaskInfo); - - // var visitTaskIdList = oncologyAnswerList.Select(t => t.VisitTaskId).ToList(); - - // var visitTaskList = await _dbContext.VisitTask.Where(t => visitTaskIdList.Contains(t.Id)).Select(t => new { VisitTaskId = t.Id, t.TaskName, t.TaskBlindName, t.VisitTaskNum, t.SubjectId }).ToListAsync(); - - - - // var modifyVisitList = await _dbContext.ReadingGlobalTaskInfo.Where(t => visitTaskIdList.Contains(t.TaskId) && t.VisitTask.TaskState == TaskState.Effect).GroupBy(t => t.TaskId).Select(g => new - // { - // VisitTaskId = g.Key, - // GlobalResult = g.Select(c => new { c.Answer, c.QuestionId }) - // }).ToListAsync(); - - - // //var oncologyAnswerVisitList = visitTaskList.Join(oncologyAnswerList, t => t.VisitTaskId, u => u.VisitTaskId, (t, u) => new { t.VisitTaskId, t.TaskBlindName, t.TaskName, u.EvaluationReason, u.EvaluationResult }).ToList(); - - // var query = from answer in oncologyAnswerList - // join visitTask in visitTaskList on answer.VisitTaskId equals visitTask.VisitTaskId - // join modifyVisit in modifyVisitList on answer.VisitTaskId equals modifyVisit.VisitTaskId into cc - // from modifyVisit in cc.DefaultIfEmpty() - // select new - // { - // visitTask.TaskBlindName, - // visitTask.TaskName, - // answer.EvaluationReason, - // answer.EvaluationResult, - // IsGlobalModify = modifyVisit != null, - // Reason = modifyVisit != null ? modifyVisit.GlobalResult.Where(t => t.QuestionId == null).FirstOrDefault()?.Answer : String.Empty - // }; - // var result = query.ToList(); - - - // var oncologyAnswer = oncologyAnswerList.First(); - - // var cloneEntity = oncologyAnswer.Clone(); - - // cloneEntity.Id = NewId.NextGuid(); - - // await InsertInspection(oncologyAnswer, type, x => new InspectionConvertDTO() - // { - // VisitTaskId = oncologyAnswer.VisitTaskId, - - // ObjectRelationParentId = oncologyAnswer.VisitTaskId, - - // }, new { OncologyAnswerList = result }); - //} - - #endregion - - - // 全局 阅片结果 - if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo))) - { - //var type = AuditOpt.Add; - - //var list = entitys.Where(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo)).Select(t => t.Entity as ReadingGlobalTaskInfo); - - - //foreach (var group in list.GroupBy(t => t.TaskId)) - //{ - // 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() }); - //} - - - - - - - } @@ -576,16 +476,19 @@ namespace IRaCIS.Core.Infra.EFCore.Common var obj = new object() { }; - //访视任务 - - if (_userInfo.RequestUrl == "ReadingImageTask/SubmitVisitTaskQuestions" && entity.ReadingTaskState != ReadingTaskState.HaveSigned && type==AuditOpt.Update) + //访视任务-- 非Dicom 阅片 + if (_userInfo.RequestUrl == "ReadingImageTask/SubmitVisitTaskQuestions" && entity.ReadingTaskState != ReadingTaskState.HaveSigned && type == AuditOpt.Update) { //提交访视任务的时候 会多次更新同一个记录 只记录最后一次 return; } + + + #region 裁判、肿瘤学、全局 都是通用的 + //裁判任务 - if (entity.JudgeResultTaskId != null && (_userInfo.RequestUrl == "ReadingImageTask/saveJudgeVisitTaskResult" || _userInfo.RequestUrl == "ReadingImageTask/saveJudgeVisitTaskResult")) + if (entity.JudgeResultTaskId != null && (_userInfo.RequestUrl == "ReadingImageTask/SaveJudgeVisitTaskResult" || _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(); @@ -651,7 +554,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common TaskName = g.Key.TaskName, TaskBlindName = g.Key.TaskBlindName, - VisitQuestionAnswerList = g.OrderBy(t=>t.ShowOrder).Select(u => new { u.QuestionName, u.Answer }).ToList(), + VisitQuestionAnswerList = g.OrderBy(t => t.ShowOrder).Select(u => new { u.QuestionName, u.Answer }).ToList(), GlobalQuestionAnswerList = g.OrderBy(t => t.ShowOrder).Select(u => new { u.QuestionName, Answer = globalResultList.Where(t => t.VisitTaskId == g.Key.VisitTaskId && t.QuestionId == u.ReadingQuestionTrialId).FirstOrDefault()?.Answer ?? String.Empty }).ToList(), @@ -664,6 +567,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common obj = new { GlobalAnswerList = result }; } + #endregion + + await InsertInspection(entity, type, x => new InspectionConvertDTO() { @@ -673,13 +579,166 @@ namespace IRaCIS.Core.Infra.EFCore.Common ObjectRelationParentId = entity.SourceSubjectVisitId != null ? entity.SourceSubjectVisitId : entity.SouceReadModuleId, - ObjectRelationParentId2 = entity.DoctorUserId + ObjectRelationParentId2 = entity.DoctorUserId, + + ObjectRelationParentId3 = entity.TrialReadingCriterionId, }, obj); } + #region 阅片结果 + + + #region Resisit1.1 + + //保存影像质量 多条记录,只记录一条稽查 + if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer))) + { + //保存影像质量 + if (_userInfo.RequestUrl == "ReadingImageTask/changeDicomReadingQuestionAnswer") + { + var type = AuditOpt.Add; + + //具体的答案 + var taskQuestionAnswerList = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer)).Select(t => t.Entity as ReadingTaskQuestionAnswer).ToList(); + + //获取问题名称 组合成数组 + var quesionList = await _dbContext.ReadingQuestionTrial.Where(t => taskQuestionAnswerList.Select(k => k.ReadingQuestionTrialId).Contains(t.Id)).Select(t => new { t.QuestionName, QuestionId = t.Id, t.ShowOrder }).OrderBy(t => t.ShowOrder).ToListAsync(); + + + + var firstEntity = taskQuestionAnswerList.First(); + + var cloneEntity = firstEntity.Clone(); + + //保证Id 唯一 + cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.ReadingQuestionCriterionTrialId.ToString(), firstEntity.ReadingQuestionTrialId.ToString(), firstEntity.VisitTaskId.ToString()); + + await InsertInspection(cloneEntity, type, x => new InspectionConvertDTO() + { + VisitTaskId = x.VisitTaskId, + + ObjectRelationParentId=x.VisitTaskId, + + TrialReadingCriterionId = x.ReadingQuestionCriterionTrialId, + + }, new { QuestionAnswerList = taskQuestionAnswerList.Join(quesionList, t => t.ReadingQuestionTrialId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() }); + + + } + + + } + + + + + #endregion + + + + #region 肿瘤学阅片结果 记录表格 + + //if (entitys.Any(x => x.entity.gettype() == typeof(readingoncologytaskinfo))) + //{ + // var type = auditopt.add; + + // var oncologyanswerlist = entitys.where(x => x.entity.gettype() == typeof(readingoncologytaskinfo)).select(t => t.entity as readingoncologytaskinfo); + + // var visittaskidlist = oncologyanswerlist.select(t => t.visittaskid).tolist(); + + // var visittasklist = await _dbcontext.visittask.where(t => visittaskidlist.contains(t.id)).select(t => new { visittaskid = t.id, t.taskname, t.taskblindname, t.visittasknum, t.subjectid }).tolistasync(); + + + + // var modifyvisitlist = await _dbcontext.readingglobaltaskinfo.where(t => visittaskidlist.contains(t.taskid) && t.visittask.taskstate == taskstate.effect).groupby(t => t.taskid).select(g => new + // { + // visittaskid = g.key, + // globalresult = g.select(c => new { c.answer, c.questionid }) + // }).tolistasync(); + + + // //var oncologyanswervisitlist = visittasklist.join(oncologyanswerlist, t => t.visittaskid, u => u.visittaskid, (t, u) => new { t.visittaskid, t.taskblindname, t.taskname, u.evaluationreason, u.evaluationresult }).tolist(); + + // var query = from answer in oncologyanswerlist + // join visittask in visittasklist on answer.visittaskid equals visittask.visittaskid + // join modifyvisit in modifyvisitlist on answer.visittaskid equals modifyvisit.visittaskid into cc + // from modifyvisit in cc.defaultifempty() + // select new + // { + // visittask.taskblindname, + // visittask.taskname, + // answer.evaluationreason, + // answer.evaluationresult, + // isglobalmodify = modifyvisit != null, + // reason = modifyvisit != null ? modifyvisit.globalresult.where(t => t.questionid == null).firstordefault()?.answer : string.empty + // }; + // var result = query.tolist(); + + + // var oncologyanswer = oncologyanswerlist.first(); + + // var cloneentity = oncologyanswer.clone(); + + // cloneentity.id = newid.nextguid(); + + // await insertinspection(oncologyanswer, type, x => new inspectionconvertdto() + // { + // visittaskid = oncologyanswer.visittaskid, + + // objectrelationparentid = oncologyanswer.visittaskid, + + // }, new { oncologyanswerlist = result }); + //} + + #endregion + + + // 全局 阅片结果 + if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo))) + { + //var type = AuditOpt.Add; + + //var list = entitys.Where(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo)).Select(t => t.Entity as ReadingGlobalTaskInfo); + + + //foreach (var group in list.GroupBy(t => t.TaskId)) + //{ + // 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() }); + //} + + } + + #endregion + + + // Qc 问题答案 if (entitys.Any(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer))) { @@ -715,7 +774,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common ObjectRelationParentId = x.SubjectVisitId, }, new { - QcQuestionAnswerList = answerList.Join(trialQuestionNameList, t => t.TrialQCQuestionConfigureId, u => u.TrialQCQuestionConfigureId, (t, u) => new { t.Answer, u.QuestionName, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList(), + QcQuestionAnswerList = answerList.Join(trialQuestionNameList, t => t.TrialQCQuestionConfigureId, u => u.TrialQCQuestionConfigureId, (t, u) => new + { + t.Answer, + u.QuestionName, + u.ShowOrder + }).OrderBy(t => t.ShowOrder).ToList(), }); @@ -795,8 +859,6 @@ namespace IRaCIS.Core.Infra.EFCore.Common } - - //QC 质疑 foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCChallenge))) { @@ -842,16 +904,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common var type = GetEntityAuditOpt(item); var entity = item.Entity as CheckChallengeDialog; - //var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync(); - //subjectvisit = subjectvisit ?? new SubjectVisit(); - //var reason = string.Empty; - //switch (_userInfo.RequestUrl.ToLower()) - //{ - // case "qcoperation/closecheckchallenge": - // reason = entity.TalkContent.Substring(entity.TalkContent.LastIndexOf(':') + 1); - // break; - //} await InsertInspection(entity, type, x => new InspectionConvertDTO() { @@ -862,12 +915,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common ObjectRelationParentId = entity.SubjectVisitId, } - //, new - //{ - // CheckState = subjectvisit.CheckState, - // RequestBackState = subjectvisit.RequestBackState, - // CheckChallengeState = subjectvisit.CheckChallengeState, - //} + ); } @@ -1221,7 +1269,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common //var user = await _dbContext.Users.Include(x => x.UserTypeRole).FirstOrDefaultAsync(x => x.Id == entity.UserId); await InsertInspection(entity, type, x => new InspectionConvertDTO { - IsDistinctionInterface= type == AuditOpt.Update ? true : false, + IsDistinctionInterface = type == AuditOpt.Update ? true : false, TrialId = x.TrialId, ObjectRelationParentId = x.TrialId, ObjectRelationParentId2 = x.UserId, @@ -1520,10 +1568,12 @@ namespace IRaCIS.Core.Infra.EFCore.Common IsDistinctionInterface = type == AuditOpt.Update ? true : false, - SubjectVisitId = x.IsVisit ? x.ReadingId : null, + //SubjectVisitId = x.IsVisit ? x.ReadingId : null, ObjectRelationParentId = entity.ClinicalDataTrialSetId, - }); + + //ObjectRelationParentId2 = x.IsVisit == false?x.ReadingId:null + }); ; } //阅片期计划 @@ -1544,7 +1594,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common await InsertInspection(item.Entity as ReadingPeriodSet, type, x => new InspectionConvertDTO() { - ObjectRelationParentId = x.VisitStageId + ObjectRelationParentId = x.VisitStageId, + ObjectRelationParentId2 = entity.TrialReadingCriterionId, + }, new { @@ -1588,6 +1640,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common { ObjectRelationParentId = entity.SubjectVisitId, + ObjectRelationParentId2 = entity.TrialReadingCriterionId, + SubjectVisitId = x.SubjectVisitId, IsDistinctionInterface = false, }); @@ -1649,7 +1703,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common ObjectRelationParentId = entity.SubjectId, - ObjectRelationParentId2 = entity.DoctorUserId + ObjectRelationParentId2 = entity.DoctorUserId, + + ObjectRelationParentId3 = entity.TrialReadingCriterionId, }, new { ArmToTask = entity.ArmEnum }); } @@ -1685,7 +1741,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common await InsertInspection(entity, type, x => new InspectionConvertDTO() { - ObjectRelationParentId = entity.TrialId + ObjectRelationParentId = entity.TrialId, + + ObjectRelationParentId2 = entity.TrialReadingCriterionId }); } diff --git a/IRaCIS.Core.Infra.EFCore/Common/Dto/SetDictionaryValueDto.cs b/IRaCIS.Core.Infra.EFCore/Common/Dto/SetDictionaryValueDto.cs index e32b71ea6..1414cf9d8 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/Dto/SetDictionaryValueDto.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/Dto/SetDictionaryValueDto.cs @@ -32,6 +32,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common.Dto public Guid? ObjectRelationParentId2 { get; set; } + public Guid? ObjectRelationParentId3 { get; set; } + /// /// 批次Id