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; }
+ }
}