From 120d583a5a534f436c7c5f201c39be0142b8fea5 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Mon, 2 Feb 2026 13:24:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E9=98=85=E5=A4=8D=E5=88=B6=E8=A1=A8?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/VisitTaskService.cs | 33 ++++++++++++++++++- .../ReadingNoneDicomMarkBinding.cs | 6 ++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index e6e02aeb1..65270db0f 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -19,6 +19,7 @@ using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System.Linq; using System.Linq.Dynamic.Core; +using System.Threading.Tasks; using Subject = IRaCIS.Core.Domain.Models.Subject; namespace IRaCIS.Core.Application.Service.Allocation; @@ -46,6 +47,8 @@ public class VisitTaskService(IRepository _visitTaskRepository, IRepository _dicomSeriesRepository, IRepository _subjectCanceDoctorRepository, IRepository _readingTaskQuestionMarkRepository, + IRepository _readingNoneDicomMarkRepository, + IRepository _readingNoneDicomMarkBindingRepository, IRepository _readingTableAnswerRowInfoRepository, //IRepository _readingCustomTagRepository, IRepository _taskInfluenceRepository, @@ -2217,7 +2220,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, } } - private void CopyForms(VisitTask newTask, VisitTask origenalTask) + private async Task CopyForms(VisitTask newTask, VisitTask origenalTask) { newTask.IsCopyLesionAnswer = true; //自定义 @@ -2308,9 +2311,37 @@ public class VisitTaskService(IRepository _visitTaskRepository, _ = _readingTableAnswerRowInfoRepository.AddRangeAsync(readingTableAnswerRowInfoList).Result; + var noneMarkList = await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == origenalTask.Id).ToListAsync(); + + var noneMarkBindingList = await _readingNoneDicomMarkBindingRepository.Where(x => x.VisitTaskId == origenalTask.Id).ToListAsync(); + foreach (var item in noneMarkList) + { + var newid = NewId.NextSequentialGuid(); + item.MeasureData = item.MeasureData.Replace(origenalTask.Id.ToString(), newTask.Id.ToString()); + item.VisitTaskId = newTask.Id; + foreach (var item1 in noneMarkBindingList) + { + if (item1.NoneDicomMarkId == item.Id) + { + item1.NoneDicomMarkId = newid; + } + } + + item.Id = newid; + } + + + foreach (var item in noneMarkBindingList) + { + item.Id = NewId.NextSequentialGuid(); + item.VisitTaskId = newTask.Id; + } + + _ = _readingNoneDicomMarkRepository.AddRangeAsync(noneMarkList).Result; + _ = _readingNoneDicomMarkBindingRepository.AddRangeAsync(noneMarkBindingList).Result; } diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingNoneDicomMarkBinding.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingNoneDicomMarkBinding.cs index 8ce8bd255..732382d0a 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingNoneDicomMarkBinding.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingNoneDicomMarkBinding.cs @@ -18,8 +18,14 @@ public class ReadingNoneDicomMarkBinding : BaseAddAuditEntity public Guid? TableQuestionId { get; set; } + /// + /// 这个是NoneDicom 的主键 + /// public Guid NoneDicomMarkId { get; set; } + /// + /// 这个是前端给的标记的Id + /// public Guid? MarkId { get; set; }