diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index c1ad12ded..ee14737c0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1899,22 +1899,22 @@ namespace IRaCIS.Core.Application.Service public async Task SaveTaskQuestion(ChangeDicomReadingQuestionAnswerInDto inDto, string param) { // 当 param == -10 时,为自定义标准 需要区分 绑定 更改 标记 - //if (param == "-10") - //{ - // var questionMarkList = inDto.QuestionMarkInfoList.Select(x => x.QuestionId ).ToList(); - // if (!(await _readingTaskQuestionMarkRepository.AnyAsync(x => x.VisitTaskId == inDto.VisitTaskId && questionMarkList.Contains(x.QuestionId))) && inDto.QuestionMarkInfoList.Count() > 0) - // { - // _userInfo.AuditIdentification = "AddMark"; - // } - // else if (await _readingTaskQuestionMarkRepository.AnyAsync(x => x.VisitTaskId == inDto.VisitTaskId && questionMarkList.Contains(x.QuestionId))) - // { - // _userInfo.AuditIdentification = "UpdateMark"; - // } - // else - // { - // _userInfo.AuditIdentification = "DeleteMark"; - // } - //} + if (param == "-10") + { + var questionMarkList = inDto.QuestionMarkInfoList.Select(x => x.QuestionId).ToList(); + if (!(await _readingTaskQuestionMarkRepository.AnyAsync(x => x.VisitTaskId == inDto.VisitTaskId && questionMarkList.Contains(x.QuestionId))) && inDto.QuestionMarkInfoList.Count() > 0) + { + _userInfo.AuditIdentification = "AddMark"; + } + else if (await _readingTaskQuestionMarkRepository.AnyAsync(x => x.VisitTaskId == inDto.VisitTaskId && questionMarkList.Contains(x.QuestionId))) + { + _userInfo.AuditIdentification = "UpdateMark"; + } + else + { + _userInfo.AuditIdentification = "DeleteMark"; + } + } var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync(); try diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index be0dbccb4..f33f5ff93 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -6,6 +6,7 @@ using MassTransit; using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.EntityFrameworkCore.ChangeTracking.Internal; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; namespace IRaCIS.Core.Infra.EFCore.Common @@ -3134,6 +3135,19 @@ namespace IRaCIS.Core.Infra.EFCore.Common } + var mark = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionMark)).Select(x=>x.Entity as ReadingTaskQuestionMark).FirstOrDefault(); + + var markName=string.Empty; + if (mark != null && mark.MeasureData.IsNotNullOrEmpty()) + { + // 解析 JSON 字符串 + JObject jsonObject = JObject.Parse(mark.MeasureData); + + // 提取 label 的值 + markName = jsonObject["data"]["label"].ToString(); + } + + await InsertInspection(cloneEntity, type, x => new InspectionConvertDTO() { VisitTaskId = x.VisitTaskId, @@ -3146,6 +3160,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common }, new { + + MarkName= markName, + PicturePath= mark!=null?mark.PicturePath:string.Empty, QuestionAnswerList = taskQuestionAnswerList.Join(quesionList, t => t.ReadingQuestionTrialId, u => u.QuestionId, @@ -3160,7 +3177,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common }).OrderBy(t => t.ShowOrder).ToList() , TableQuestionAndAnswerList = tableQuesionAndAnswerList - } + }, _userInfo.AuditIdentification );