diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 1d43a80b9..d081ecfb4 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -446,6 +446,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } + public class DeleteTableQuestionMarkInDto + { + [NotDefault] + public Guid RowId { get; set; } + } + /// /// 保存表格问题标记 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 5c7b08042..714e5c3e0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -84,6 +84,20 @@ namespace IRaCIS.Core.Application.Service } #endregion + + /// + /// 删除表格问题标记 + /// + /// + /// + [HttpPost] + public async Task DeleteTableQuestionMark(DeleteTableQuestionMarkInDto inDto) + { + await _readingTaskQuestionMarkRepository.DeleteFromQueryAsync(x => x.RowId == inDto.RowId); + return await _readingTaskQuestionMarkRepository.SaveChangesAsync(); + } + + /// /// 保存表格问题标记 /// @@ -142,7 +156,6 @@ namespace IRaCIS.Core.Application.Service var taskInfoList = await _generalCalculateService.GetReadingReportTaskList(rowinfo.VisitTaskId); var visitTaskIds = taskInfoList.Where(x => x.VisitTaskId != rowinfo.VisitTaskId).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, diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs index 1fc132da2..11d09a3af 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs @@ -591,9 +591,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate public async Task GetFatFractionAvg(ReadingCalculateDto inDto) { decimal result = 0; - var rowInfo = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.FatFraction).SelectMany(x => x.TableRowInfoList).ToList(); + var rowInfo = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.FatFraction) + .SelectMany(x => x.TableRowInfoList).ToList(); - var tableQuestionList = rowInfo.SelectMany(x => x.TableQuestionList).ToList(); + var tableQuestionList = rowInfo.Where(x=>x.TableQuestionList.Any(x=>x.QuestionMark== QuestionMark.IsMeasurable&& x.Answer.EqEnum(YesOrNoOrNa.Yes))).SelectMany(x => x.TableQuestionList).ToList(); result = tableQuestionList.Where(x => x.QuestionMark == QuestionMark.AverageValue).Average(x => x.Answer.IsNullOrEmptyReturn0()); return result;