From 5735383cd79f2faf04bc1627fe21cfdab78245fb Mon Sep 17 00:00:00 2001
From: he <109787524@qq.com>
Date: Fri, 15 Mar 2024 10:30:27 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=97=A2=E5=BE=80=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Reading/Dto/ReadingImageTaskViewModel.cs | 11 ++++-
.../ReadingImageTaskService.cs | 42 ++++++++++++++-----
.../ReadingTaskQuestionMark.cs | 8 +++-
3 files changed, 47 insertions(+), 14 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 67b56b21e..6da8f4684 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -438,7 +438,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public Guid VisitTaskId { get; set; }
- public string? OtherPicturePath { get; set; }
+ public string? PicturePath { get; set; }
public string TaskBlindName { get; set; } = string.Empty;
@@ -447,7 +447,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class GetPreviousOtherPicturePathInDto
{
- public Guid RowId { get; set; }
+ public Guid? RowId { get; set; }
+
+ public Guid? VisitTaskId { get; set; }
+
+ ///
+ /// 问题类型
+ ///
+ public QuestionType? QuestionType { get; set; }
}
public class GetReadingCalculationDataInDto
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index cb630ae1d..1a2206d05 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -177,17 +177,37 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task> GetPreviousOtherPicturePath(GetPreviousOtherPicturePathInDto inDto)
{
- var rowinfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.RowId).FirstNotNullAsync();
- var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(rowinfo.VisitTaskId);
- var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
- List result = await _readingTableAnswerRowInfoRepository.Where(x => x.QuestionId == rowinfo.QuestionId && x.RowIndex == rowinfo.RowIndex && visitTaskIds.Contains(x.VisitTaskId))
- .Where(x=>x.OtherPicturePath!=null&&x.OtherPicturePath!=string.Empty)
- .OrderBy(x => x.VisitTask.VisitTaskNum).Select(x => new GetPreviousOtherPicturePathOutDto()
- {
- VisitTaskId = x.VisitTaskId,
- OtherPicturePath = x.OtherPicturePath,
- TaskBlindName = x.VisitTask.TaskBlindName
- }).ToListAsync();
+ List result = new List() { };
+
+ if (inDto.RowId != null)
+ {
+ var rowinfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.RowId).FirstNotNullAsync();
+ var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(rowinfo.VisitTaskId);
+ var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
+ result = await _readingTableAnswerRowInfoRepository.Where(x => x.QuestionId == rowinfo.QuestionId && x.RowIndex == rowinfo.RowIndex && visitTaskIds.Contains(x.VisitTaskId))
+
+ .OrderBy(x => x.VisitTask.VisitTaskNum).Select(x => new GetPreviousOtherPicturePathOutDto()
+ {
+ VisitTaskId = x.VisitTaskId,
+ PicturePath = x.OtherPicturePath,
+ TaskBlindName = x.VisitTask.TaskBlindName
+ }).ToListAsync();
+ }
+ else if(inDto.VisitTaskId!=null&&inDto.QuestionType!=null)
+ {
+ var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(inDto.VisitTaskId.Value);
+ var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
+ result = await _readingTaskQuestionMarkRepository.Where(x => x.ReadingQuestionTrial.QuestionType == inDto.QuestionType && visitTaskIds.Contains(x.VisitTaskId))
+
+ .OrderBy(x => x.VisitTask.VisitTaskNum).Select(x => new GetPreviousOtherPicturePathOutDto()
+ {
+ VisitTaskId = x.VisitTaskId,
+ PicturePath = x.PicturePath,
+ TaskBlindName = x.VisitTask.TaskBlindName
+ }).ToListAsync();
+ }
+
+
return result;
}
diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs
index 5704b3298..17ced3c74 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs
@@ -106,8 +106,14 @@ namespace IRaCIS.Core.Domain.Models
public int? OtherNumberOfFrames { get; set; }
public string? OtherMeasureData { get; set; } = string.Empty;
+ [JsonIgnore]
+ [ForeignKey("QuestionId")]
+ public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
- }
+ [JsonIgnore]
+ [ForeignKey("VisitTaskId")]
+ public VisitTask VisitTask { get; set; }
+ }
}