From ae0c7db1f049ed7a093e213e43b9479558ba8e66 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Fri, 19 Dec 2025 10:05:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E9=AA=8C=E8=AF=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingCalculate/IVUSCalculateService.cs | 55 ++++++++++--------- .../ReadingCalculate/OCTCalculateService.cs | 43 ++++++++++----- 2 files changed, 60 insertions(+), 38 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs index f5e665058..54ec0b406 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs @@ -462,38 +462,43 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate }; List measuredValueList = new List(); + var errorRow = new List { }; - - for (int i = 3; i < dataTable.Rows.Count; i++) + for (int i = 3; i < dataTable.Rows.Count; i++) + { + IVUSMeasuredValue iVUSMeasuredValue = new IVUSMeasuredValue() { }; + try { - IVUSMeasuredValue iVUSMeasuredValue = new IVUSMeasuredValue() { }; - try - { - iVUSMeasuredValue = new IVUSMeasuredValue() - { - PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()), - Emm = getdecimalData(dataTable.Rows[i]["B"].ToString()), - Lumen = getdecimalData(dataTable.Rows[i]["C"].ToString()), - }; - } - catch (Exception) + iVUSMeasuredValue = new IVUSMeasuredValue() { + PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()), + Emm = getdecimalData(dataTable.Rows[i]["B"].ToString()), + Lumen = getdecimalData(dataTable.Rows[i]["C"].ToString()), + }; + } + catch (Exception) + { - throw new BusinessValidationFailedException(_localizer["IVUS_UplpadDataError"]); - } - - if (iVUSMeasuredValue.Emm <= iVUSMeasuredValue.Lumen) - { - throw new BusinessValidationFailedException(_localizer["IVUS_EmmBiggerThenLumen"]); - } - measuredValueList.Add(iVUSMeasuredValue); + errorRow.Add(i); } - List nums=new List() { 1,2,3}; - if(measuredValueList.Any(x=> !nums.Contains(x.PlaqueNum))) + + if (iVUSMeasuredValue.Emm <= iVUSMeasuredValue.Lumen) { - throw new BusinessValidationFailedException(_localizer["IVUSOCT_PlaqueNum123"]); + throw new BusinessValidationFailedException(_localizer["IVUS_EmmBiggerThenLumen"]); } - measuredValueList = measuredValueList.OrderBy(x => x.PlaqueNum).ToList(); + measuredValueList.Add(iVUSMeasuredValue); + } + if (errorRow.Count() > 0) + { + var errorRows= string.Join(',', errorRow.Select(i => i.ToString())); + throw new BusinessValidationFailedException(_localizer["Service_TemplateException", errorRows]); + } + List nums = new List() { 1, 2, 3 }; + if (measuredValueList.Any(x => !nums.Contains(x.PlaqueNum))) + { + throw new BusinessValidationFailedException(_localizer["IVUSOCT_PlaqueNum123"]); + } + measuredValueList = measuredValueList.OrderBy(x => x.PlaqueNum).ToList(); var questionInfo = await _readingQuestionTrialRepository.Where(x =>x.ReadingQuestionCriterionTrialId == taskinfo.TrialReadingCriterionId&& x.LesionType == LesionType.MatchValues).FirstNotNullAsync(); diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs index c5fab46d5..b8f732f4a 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs @@ -316,10 +316,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } List measuredValueList = new List(); + var errorRow = new List { }; - try + for (int i = 3; i < dataTable.Rows.Count; i++) { - for (int i = 3; i < dataTable.Rows.Count; i++) + try { measuredValueList.Add(new OCTFCTUploadData() { @@ -327,20 +328,28 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate FirstData = int.Parse(dataTable.Rows[i]["B"].ToString()), SecondData = int.Parse(dataTable.Rows[i]["C"].ToString()), ThirdData = int.Parse(dataTable.Rows[i]["D"].ToString()), - MacrophageInfiltrationMeasurement= dataTable.Rows[i]["E"].ToString()??string.Empty, + MacrophageInfiltrationMeasurement = dataTable.Rows[i]["E"].ToString() ?? string.Empty, MacrophageInfiltrationAngle = dataTable.Rows[i]["F"].ToString() ?? string.Empty, MicrochannelMeasurement = dataTable.Rows[i]["G"].ToString() ?? string.Empty, CholesterolCrystalMeasurement = dataTable.Rows[i]["H"].ToString() ?? string.Empty, LumenAreaMeasurement = dataTable.Rows[i]["I"].ToString() ?? string.Empty, }); } - measuredValueList = measuredValueList.OrderBy(x => x.PlaqueNum).ToList(); + catch (Exception) + { + + errorRow.Add(i); + } - } - catch (Exception) + measuredValueList = measuredValueList.OrderBy(x => x.PlaqueNum).ToList(); + + + + if (errorRow.Count() > 0) { - throw new BusinessValidationFailedException(_localizer["IVUS_UplpadDataError"]); + var errorRows = string.Join(',', errorRow.Select(i => i.ToString())); + throw new BusinessValidationFailedException(_localizer["Service_TemplateException", errorRows]); } List nums = new List() { 1, 2, 3 }; @@ -631,25 +640,33 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } List measuredValueList = new List(); + var errorRow = new List { }; - try + for (int i = 3; i < dataTable.Rows.Count; i++) { - for (int i = 3; i < dataTable.Rows.Count; i++) + try { measuredValueList.Add(new OCTFCTUploadData() { PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()), FirstData = int.Parse(dataTable.Rows[i]["B"].ToString()), - + }); } + catch (Exception) + { - measuredValueList = measuredValueList.OrderBy(x => x.PlaqueNum).ToList(); + errorRow.Add(i); + } } - catch (Exception) + + measuredValueList = measuredValueList.OrderBy(x => x.PlaqueNum).ToList(); + + if (errorRow.Count() > 0) { - throw new BusinessValidationFailedException(_localizer["IVUS_UplpadDataError"]); + var errorRows = string.Join(',', errorRow.Select(i => i.ToString())); + throw new BusinessValidationFailedException(_localizer["Service_TemplateException", errorRows]); }