diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 732a51c8a..114cd421c 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2127,6 +2127,11 @@ RowIndex + + + 是Dicom阅片 + + MeasureData diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 9652183e5..28351f972 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -284,7 +284,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid QuestionId { get; set; } - public decimal RowIndex { get; set; } + public Guid RowId { get; set; } } public class GetDicomReadingQuestionAnswerInDto @@ -457,6 +457,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string RowIndex { get; set; } + + /// + /// 是Dicom阅片 + /// + public bool IsDicomReading { get; set; } = true; + + public string BlindName { get; set; } = string.Empty; + /// /// MeasureData /// @@ -1161,6 +1169,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public decimal FristAddTaskNum { get; set; } = 0; + public string BlindName { get; set; } = string.Empty; + + public bool IsDicomReading { get; set; } = true; + public List AnswerList { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 49a706246..5f83a9593 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -709,6 +709,8 @@ namespace IRaCIS.Application.Services var rowInfo = tableAnsweRowInfos.Where(y => y.RowIndex == x && y.QuestionId == item.Id).FirstOrDefault(); + answers.Add("BlindName", rowInfo.BlindName); + answers.Add("IsDicomReading", rowInfo.IsDicomReading.ToString()); answers.Add("MeasureData", rowInfo == null ? string.Empty : rowInfo.MeasureData); answers.Add("RowIndex", x.ToString()); answers.Add("RowId", rowInfo.Id.ToString()); @@ -886,7 +888,7 @@ namespace IRaCIS.Application.Services public async Task DeleteReadingRowAnswer(DeleteReadingRowAnswerInDto inDto) { - var deleteRowInfo = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == inDto.RowIndex && x.QuestionId == inDto.QuestionId).FirstNotNullAsync(); + var deleteRowInfo = await _readingTableAnswerRowInfoRepository.Where(x =>x.Id== inDto.RowId).FirstNotNullAsync(); if (deleteRowInfo == null) { return ResponseOutput.Ok(true); @@ -898,8 +900,8 @@ namespace IRaCIS.Application.Services throw new BusinessValidationFailedException($"当前病灶分裂出其他病灶或者其他病灶合并到了当前病灶,删除失败"); } - await _readingTableQuestionAnswerRepository.DeleteFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == inDto.RowIndex && x.QuestionId == inDto.QuestionId); - await _readingTableAnswerRowInfoRepository.DeleteFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == inDto.RowIndex && x.QuestionId == inDto.QuestionId); + await _readingTableQuestionAnswerRepository.DeleteFromQueryAsync(x => x.RowId== inDto.RowId); + await _readingTableAnswerRowInfoRepository.DeleteFromQueryAsync(x => x.Id==inDto.RowId); await _readingTableAnswerRowInfoRepository.SaveChangesAsync(); @@ -1026,6 +1028,8 @@ namespace IRaCIS.Application.Services rowInfo.TrialId = inDto.TrialId; rowInfo.QuestionId = inDto.QuestionId; rowInfo.MeasureData = inDto.MeasureData; + rowInfo.BlindName = inDto.BlindName; + rowInfo.IsDicomReading = inDto.IsDicomReading; rowInfo.IsCurrentTaskAdd = isCurrentTaskAdd; rowInfo.FristAddTaskNum = inDto.FristAddTaskNum; rowInfo.RowIndex = inDto.RowIndex; diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs index 093401f9d..18c728ff1 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs @@ -146,21 +146,21 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate ); }); - var maxNewLesionsRowIndex = tableRowAnswers.Where(x => x.QuestionId == newLesionQuestion.Id).OrderByDescending(x => x.RowIndex).Select(x => x.RowIndex).FirstOrDefault(); + var maxNewLesionsRowIndex = tableRowAnswers.Where(x => x.QuestionId == alwaysNewLesionsQuestion.Id).OrderByDescending(x => x.RowIndex).Select(x => x.RowIndex).FirstOrDefault(); maxNewLesionsRowIndex = Math.Floor(maxNewLesionsRowIndex); foreach (var item in tableRowAnswers.Where(x => x.QuestionId == newLesionQuestion.Id).OrderBy(x=>x.RowIndex)) { - maxNewLesionsRowIndex++; + item.QuestionId = alwaysNewLesionsQuestion.Id; - item.RowIndex = maxNewLesionsRowIndex; + foreach (var tableAnswer in tableAnswers.Where(y => y.RowId == item.Id)) { tableAnswer.QuestionId = alwaysNewLesionsQuestion.Id; tableAnswer.TableQuestionId = alwaysTableQuestionIdDic[tableAnswer.TableQuestionId]; - tableAnswer.RowIndex = maxNewLesionsRowIndex; + } } diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs index cde854016..c2b033d33 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs @@ -49,6 +49,12 @@ namespace IRaCIS.Core.Domain.Models public bool IsCanEditPosition { get; set; } = false; + + /// + /// 是Dicom阅片 + /// + public bool IsDicomReading { get; set; } = true; + /// /// RowIndex /// @@ -80,7 +86,7 @@ namespace IRaCIS.Core.Domain.Models /// public Guid? MergeRowId { get; set; } - + public string BlindName { get; set; } = string.Empty; /// /// 第一次添加的任务ID