赋值分割
parent
a0776e5462
commit
7e454467d1
|
|
@ -17537,17 +17537,17 @@
|
|||
</member>
|
||||
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Question">
|
||||
<summary>
|
||||
质疑
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Consistency">
|
||||
<summary>
|
||||
一致性核查
|
||||
һ<EFBFBD><EFBFBD><EFBFBD>Ժ˲<EFBFBD>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.CopyFrontAuditConfigItemDto">
|
||||
<summary>
|
||||
复制
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.SystemNoticeView">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using DocumentFormat.OpenXml.Drawing.Spreadsheet;
|
||||
using Amazon.Runtime.Internal.Transform;
|
||||
using DocumentFormat.OpenXml.Drawing.Spreadsheet;
|
||||
using IRaCIS.Core.Application.Helper;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
|
|
@ -10,6 +11,7 @@ using MassTransit.Saga;
|
|||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using MiniExcelLibs;
|
||||
using System.Collections.Immutable;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
|
@ -18,6 +20,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
{
|
||||
public class GeneralCalculateService(IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository,
|
||||
IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<Segmentation> _segmentationRepository,
|
||||
IRepository<Segment> _segmentRepository,
|
||||
IRepository<SegmentBinding> _segmentBindingRepository,
|
||||
|
||||
IRepository<ReadingTaskQuestionMark> _readingTaskQuestionMarkRepository,
|
||||
IRepository<ReadingNoneDicomMark> _readingNoneDicomMarkRepository,
|
||||
IRepository<ReadingNoneDicomMarkBinding> _readingNoneDicomMarkBindingRepository,
|
||||
|
|
@ -255,7 +261,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
var questionMarkList = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == historyTaskId).ToListAsync();
|
||||
var noneDicomMarkList = await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == historyTaskId).ToListAsync();
|
||||
var noneDicomMarkBindingList = await _readingNoneDicomMarkBindingRepository.Where(x => x.VisitTaskId == historyTaskId).ToListAsync();
|
||||
|
||||
Dictionary<Guid, Guid> lesionRelationship = new Dictionary<Guid, Guid>() { };
|
||||
foreach (var item in tableRowList)
|
||||
{
|
||||
if (item.SplitOrMergeType == SplitOrMergeType.Merged)
|
||||
|
|
@ -272,6 +278,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
if (historyRow != null)
|
||||
{
|
||||
lesionRelationship.Add(historyRow.Id, item.Id);
|
||||
item.StudyId = historyRow.StudyId;
|
||||
item.SeriesId = historyRow.SeriesId;
|
||||
item.InstanceId = historyRow.InstanceId;
|
||||
|
|
@ -380,6 +387,63 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
item.Id = NewId.NextGuid();
|
||||
}
|
||||
|
||||
|
||||
#region 分割
|
||||
Dictionary<Guid, Guid> segmentationRelationship = new Dictionary<Guid, Guid>() { };
|
||||
var segmentationList = _segmentationRepository.Where(t => t.VisitTaskId == historyTaskId).ToList();
|
||||
|
||||
foreach (var item in segmentationList)
|
||||
{
|
||||
|
||||
var newSegmentationId = NewId.NextSequentialGuid();
|
||||
segmentationRelationship.Add(item.Id, newSegmentationId);
|
||||
item.Id = newSegmentationId;
|
||||
item.VisitTaskId = taskinfo.Id;
|
||||
}
|
||||
|
||||
|
||||
Dictionary<Guid, Guid> segmentRelationship = new Dictionary<Guid, Guid>() { };
|
||||
var segmentList = _segmentRepository.Where(t => t.VisitTaskId == historyTaskId).ToList();
|
||||
foreach (var item in segmentList)
|
||||
{
|
||||
var newSegmentationId = NewId.NextSequentialGuid();
|
||||
segmentRelationship.Add(item.Id, newSegmentationId);
|
||||
if (segmentationRelationship.ContainsKey(item.SegmentationId))
|
||||
{
|
||||
item.SegmentationId = segmentationRelationship[item.SegmentationId];
|
||||
}
|
||||
item.Id = newSegmentationId;
|
||||
item.VisitTaskId = taskinfo.Id;
|
||||
}
|
||||
|
||||
var segmentBindingList = _segmentBindingRepository.Where(x => x.VisitTaskId == historyTaskId).ToList();
|
||||
|
||||
foreach (var item in segmentBindingList)
|
||||
{
|
||||
if (segmentationRelationship.ContainsKey(item.SegmentationId))
|
||||
{
|
||||
item.SegmentationId = segmentationRelationship[item.SegmentationId];
|
||||
}
|
||||
if (segmentRelationship.ContainsKey(item.SegmentId))
|
||||
{
|
||||
item.SegmentId = segmentRelationship[item.SegmentId];
|
||||
}
|
||||
|
||||
if (item.RowId != null && lesionRelationship.ContainsKey(item.RowId.Value))
|
||||
{
|
||||
item.RowId = lesionRelationship[item.RowId.Value];
|
||||
}
|
||||
item.Id = NewId.NextSequentialGuid();
|
||||
item.VisitTaskId = taskinfo.Id;
|
||||
}
|
||||
|
||||
|
||||
_ = _segmentationRepository.AddRangeAsync(segmentationList).Result;
|
||||
_ = _segmentRepository.AddRangeAsync(segmentList).Result;
|
||||
_ = _segmentBindingRepository.AddRangeAsync(segmentBindingList).Result;
|
||||
#endregion
|
||||
|
||||
|
||||
await _readingNoneDicomMarkRepository.AddRangeAsync(noneDicomMarkList);
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue