From 11f8c9ca56c295fda9c06120cddb13d754e4fb46 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Mon, 27 Jul 2026 13:53:11 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=8D=95=E4=B8=AA?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingImageTaskViewModel.cs | 14 ++++++++ .../ReadingImageTaskService.cs | 32 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 9dfacdcfe..81092d152 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -1546,6 +1546,20 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public QuestionClassify? QuestionClassify { get; set; } } + public class GetFilterTableQuestionInDto + { + public Guid TrialId { get; set; } + + public Guid VisitTaskId { get; set; } + + public Guid QuestionId { get; set; } + + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + } + #endregion public class GetHistoryGlobalInfoOutDto { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index d2a04e586..2b0534458 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1401,6 +1401,38 @@ namespace IRaCIS.Core.Application.Service }); ; } + /// + /// 获取单个表格问题及答案 过滤问题 + /// + /// + /// + [HttpPost] + public async Task GetFilterTableQuestion(GetFilterTableQuestionInDto inDto) + { + var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); + var tableAnswers = await _readingTableQuestionAnswerRepository + .ProjectTo(_mapper.ConfigurationProvider) + .Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync(); + var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var organIds = tableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList(); + var organList = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync(); + var questionPage = await GetReadingTableQuestion( + new GetReadingTableQuestionOrAnswerInDto() + { + TrialReadingCriterionId = taskinfo.TrialReadingCriterionId, + TaskId = inDto.VisitTaskId, + TableAnswers = tableAnswers, + TableAnsweRowInfos = tableAnsweRowInfos, + OrganInfos = organList, + QuestionClassify = inDto.QuestionClassify, + }); + + + var result = questionPage.SinglePage.SelectMany(x => x.Childrens).Where(x => x.Id == inDto.QuestionId).FirstOrDefault(); + + return result; + } + /// /// 获取自定义问题以及答案 /// From c00d1fb89c81d99ad1362d3e0cdc9b4f09bd6eef Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Mon, 27 Jul 2026 14:03:54 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingImageTask/ReadingImageTaskService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 2b0534458..00959126c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1407,7 +1407,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - public async Task GetFilterTableQuestion(GetFilterTableQuestionInDto inDto) + public async Task<(TrialReadQuestionData,object)> GetFilterTableQuestion(GetFilterTableQuestionInDto inDto) { var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); var tableAnswers = await _readingTableQuestionAnswerRepository @@ -1430,7 +1430,7 @@ namespace IRaCIS.Core.Application.Service var result = questionPage.SinglePage.SelectMany(x => x.Childrens).Where(x => x.Id == inDto.QuestionId).FirstOrDefault(); - return result; + return (result,true); } /// From 6118e0a4f8dde0d36f952ab1d82e0fed9aa42f7b Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Mon, 27 Jul 2026 14:06:40 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingImageTask/ReadingImageTaskService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 00959126c..92b8767fc 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1407,7 +1407,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - public async Task<(TrialReadQuestionData,object)> GetFilterTableQuestion(GetFilterTableQuestionInDto inDto) + public async Task GetFilterTableQuestion(GetFilterTableQuestionInDto inDto) { var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); var tableAnswers = await _readingTableQuestionAnswerRepository @@ -1430,7 +1430,7 @@ namespace IRaCIS.Core.Application.Service var result = questionPage.SinglePage.SelectMany(x => x.Childrens).Where(x => x.Id == inDto.QuestionId).FirstOrDefault(); - return (result,true); + return ResponseOutput.Ok(result); } /// From 96fd034c5a9d64f6100b4e702f4ca1adf778f768 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 28 Jul 2026 14:32:21 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E5=BF=85=E5=A1=AB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ReadingCalculate/IVUSCalculateService.cs | 6 ++++++ .../Service/ReadingCalculate/OCTCalculateService.cs | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs index 4604158c4..47e27da3d 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs @@ -526,6 +526,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IVUSMeasuredValue iVUSMeasuredValue = new IVUSMeasuredValue() { }; try { + // 手动抛出异常进入catch + if (dataTable.Rows[i]["D"].ToString().IsNullOrEmpty()) + { + throw new InvalidOperationException("NullError"); + } + iVUSMeasuredValue = new IVUSMeasuredValue() { //PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()), diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs index aeed5b0ae..19e315933 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs @@ -351,6 +351,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { try { + + // 手动抛出异常进入catch + if (dataTable.Rows[i]["K"].ToString().IsNullOrEmpty()|| dataTable.Rows[i]["L"].ToString().IsNullOrEmpty()) + { + throw new InvalidOperationException("NullError"); + } + measuredValueList.Add(new OCTFCTUploadData() { //PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()), From b7d7b8c8151e5a1213ee8620ec9872e403814cbb Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 29 Jul 2026 09:19:22 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=AD=97=E5=85=B8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ReadingCalculate/IVUSCalculateService.cs | 10 ++++++++-- .../Service/ReadingCalculate/OCTCalculateService.cs | 12 +++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs index 47e27da3d..81f401630 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs @@ -518,6 +518,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate }; + Dictionary yesOrNo = new Dictionary() + { + { "是","1"}, + { "否","0"}, + }; + List measuredValueList = new List(); var errorRow = new List { }; @@ -527,7 +533,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate try { // 手动抛出异常进入catch - if (dataTable.Rows[i]["D"].ToString().IsNullOrEmpty()) + if (!yesOrNo.ContainsKey(dataTable.Rows[i]["D"].ToString())) { throw new InvalidOperationException("NullError"); } @@ -657,7 +663,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 斑块破裂 tableAnswers.Add(new ReadingTableQuestionAnswer() { - Answer = isPresent[item.PlaqueRupture.ToString()], + Answer = yesOrNo[item.PlaqueRupture.ToString()], QuestionId = questionInfo.Id, TrialId = taskinfo.TrialId, VisitTaskId = taskinfo.Id, diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs index 19e315933..b2174cced 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs @@ -336,6 +336,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate List measuredValueList = new List(); var errorRow = new List { }; + Dictionary yesOrNo = new Dictionary() + { + { "是","1"}, + { "否","0"}, + }; + string getNone(string value) { if (value == string.Empty || value == null) @@ -353,7 +359,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { // 手动抛出异常进入catch - if (dataTable.Rows[i]["K"].ToString().IsNullOrEmpty()|| dataTable.Rows[i]["L"].ToString().IsNullOrEmpty()) + if (!yesOrNo.ContainsKey(dataTable.Rows[i]["K"].ToString())|| !yesOrNo.ContainsKey(dataTable.Rows[i]["L"].ToString())) { throw new InvalidOperationException("NullError"); } @@ -611,7 +617,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 斑块破裂 tableAnswers.Add(new ReadingTableQuestionAnswer() { - Answer = isPresent[item.PlaqueRupture.ToString()], + Answer = yesOrNo[item.PlaqueRupture.ToString()], QuestionId = questionInfo.Id, TrialId = taskinfo.TrialId, VisitTaskId = taskinfo.Id, @@ -623,7 +629,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 斑块愈合 tableAnswers.Add(new ReadingTableQuestionAnswer() { - Answer = isPresent[item.PlaqueHealing.ToString()], + Answer = yesOrNo[item.PlaqueHealing.ToString()], QuestionId = questionInfo.Id, TrialId = taskinfo.TrialId, VisitTaskId = taskinfo.Id, From 32e23ca0a2fb260cf7815ecf9353cefa8f6a344d Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 29 Jul 2026 09:34:37 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=97=E5=85=B8=20?= =?UTF-8?q?=E5=8A=A0=E8=8B=B1=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ReadingCalculate/IVUSCalculateService.cs | 2 ++ .../Service/ReadingCalculate/OCTCalculateService.cs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs index 81f401630..ed0469fe2 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs @@ -522,6 +522,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { { "是","1"}, { "否","0"}, + { "Yes","1"}, + { "No","0"}, }; List measuredValueList = new List(); diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs index b2174cced..862855b7d 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs @@ -340,8 +340,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { { "是","1"}, { "否","0"}, + { "Yes","1"}, + { "No","0"}, }; + string getNone(string value) { if (value == string.Empty || value == null)