From d0f0b5046c534ac5ea4f17a6e607bf1c1649cee2 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 23 Jul 2025 15:10:45 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=E7=A8=BD=E6=9F=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common/AuditingData.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index d062cb454..ee4c88cbf 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -3300,8 +3300,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common } - var mark = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionMark)).Select(x => x.Entity as ReadingTaskQuestionMark).FirstOrDefault(); + var markList = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionMark)).Select(x => x.Entity as ReadingTaskQuestionMark).ToList(); + var questionids = taskQuestionAnswerList.Select(x => x.ReadingQuestionTrialId as Guid?).ToList(); + var mark= markList.Where(x=> questionids.Contains(x.QuestionId)).FirstOrDefault(); var markName = string.Empty; if (mark != null) { @@ -3363,6 +3365,18 @@ namespace IRaCIS.Core.Infra.EFCore.Common var generalId = IdentifierHelper.CreateGuid(entity.VisitTaskId.ToString(), entity.QuestionId.ToString(), entity.RowId.ToString(), entity.TableQuestionId.ToString(), "ReadingTableQuestionAnswer"); var rowMark = await _dbContext.ReadingTableAnswerRowInfo.Where(x => x.Id == entity.RowId).Select(x => x.RowMark).FirstOrDefaultAsync(); + + var markList = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionMark)).Select(x => x.Entity as ReadingTaskQuestionMark).ToList(); + + + var mark = markList.Where(x => x.RowId== entity.RowId&&x.TableQuestionId==entity.TableQuestionId).FirstOrDefault(); + var markName = string.Empty; + if (mark != null) + { + markName = mark.OrderMarkName; + } + + await InsertInspection(entity, type, x => new InspectionConvertDTO() { VisitTaskId = entity.VisitTaskId, @@ -3372,6 +3386,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common }, new { + MarkName = markName, + PicturePath = mark != null ? mark.PicturePath : string.Empty, QuestionName = questionName, RowMark = rowMark, TableQuestionName = tableQuestionName, From 549691c8ac3a5d182888ebab42ca87ae857a4ae5 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 23 Jul 2025 15:31:17 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E5=A4=96=E5=B1=82?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index f1b9cbf18..7e3745c1b 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -3310,6 +3310,17 @@ namespace IRaCIS.Core.Infra.EFCore.Common markName = mark.OrderMarkName; } + // 这里本来就批量展示问题的 现在又需要单个展示 + var thisQuestinonAnswer = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer)).Select(x => x.Entity as ReadingTaskQuestionAnswer).FirstOrDefault(); + + string questionName = string.Empty; + string questionAnswer = string.Empty; + if (thisQuestinonAnswer != null) + { + questionName = await _dbContext.ReadingQuestionTrial.Where(x => x.Id == thisQuestinonAnswer.ReadingQuestionTrialId).Select(x => _userInfo.IsEn_Us ? x.QuestionEnName : x.QuestionName).FirstOrDefaultAsync(); + questionAnswer = thisQuestinonAnswer.Answer; + } + await InsertInspection(cloneEntity, type, x => new InspectionConvertDTO() { VisitTaskId = x.VisitTaskId, @@ -3327,6 +3338,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common MarkName = markName, PicturePath = mark != null ? mark.PicturePath : string.Empty, + QuestinonAnswer = questionAnswer, + QuestionName = questionName, QuestionAnswerList = taskQuestionAnswerList.Join(quesionList, t => t.ReadingQuestionTrialId, u => u.QuestionId, From 1dafe817703a4ac6b632a750dd6acd173ae339c9 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 23 Jul 2025 15:57:02 +0800 Subject: [PATCH 3/5] =?UTF-8?q?Forrest=E7=9A=84=E9=BB=98=E8=AE=A4=E5=80=BC?= =?UTF-8?q?=E6=94=B9=E4=B8=80=E4=B8=8B=20=20=E8=AE=BE=E7=BD=AE=E4=B8=BA?= =?UTF-8?q?=E9=9D=9Edicom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingCriterion/ReadingCriterionService.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs index 6206a52c1..1481e4766 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs @@ -716,6 +716,10 @@ namespace IRaCIS.Core.Application.Service.RC criterion.ImageDownloadEnum = ReadingImageDownload.Subejct; criterion.ImageUploadEnum = ReadingImageUpload.IRReadingSubejctEnable; break; + case CriterionType.Forrest: + + criterion.ReadingTool = ReadingTool.NoDicom; + break; } } From 3f6e81bc3e5b6a6cf5b653be58df5fad424033eb Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 23 Jul 2025 16:22:10 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=A4=96=E5=B1=82=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9A=84=E7=A8=BD=E6=9F=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 7e3745c1b..1b961586a 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -3310,6 +3310,14 @@ namespace IRaCIS.Core.Infra.EFCore.Common markName = mark.OrderMarkName; } + string picturePath = mark != null ? mark.PicturePath : string.Empty; + + if (_userInfo.AuditIdentification== "DeleteMark") + { + markName = string.Empty; + picturePath = string.Empty; + } + // 这里本来就批量展示问题的 现在又需要单个展示 var thisQuestinonAnswer = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer)).Select(x => x.Entity as ReadingTaskQuestionAnswer).FirstOrDefault(); @@ -3337,7 +3345,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common { MarkName = markName, - PicturePath = mark != null ? mark.PicturePath : string.Empty, + PicturePath = picturePath, QuestinonAnswer = questionAnswer, QuestionName = questionName, QuestionAnswerList = taskQuestionAnswerList.Join(quesionList, From 469e7cb49b6763c286231b27625dc0faae06f0f9 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 23 Jul 2025 16:32:04 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingImageTask/ReadingImageTaskService.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index bf5aaddd8..2077a4def 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -342,6 +342,16 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task SubmitCustomTag(ReadingCustomTagDto inDto) { + + if (inDto.Id == null&&inDto.MarkId!=null) + { + var oldMark = await _readingTaskQuestionMarkRepository.Where(x => x.MarkId == inDto.MarkId && x.QuestionId == null).FirstOrDefaultAsync(); + if( oldMark != null) + { + inDto.Id = oldMark.Id; + } + } + var entity = await _readingTaskQuestionMarkRepository.InsertOrUpdateAsync(inDto, true); return ResponseOutput.Ok(entity.Id.ToString()); }