From 9f9441e031f0c9b9f9cd6203537e904c32b69aa7 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Tue, 26 Nov 2024 11:52:11 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-142004=20=E3=80=90=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E6=9B=BF=E6=8D=A2=E3=80=91=E5=BD=93=E6=82=AC=E6=B5=AE?= =?UTF-8?q?=E5=9B=BE=E8=A1=A8=E7=94=A8=E5=88=B0=E4=BA=86=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E6=95=B0=E6=8D=AE=E9=9B=86=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/replace/utils/ReplaceUtils.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java b/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java index 6d03f648cb..8d62f3c18d 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java @@ -48,6 +48,7 @@ import com.fr.js.NameJavaScriptGroup; import com.fr.main.impl.WorkBook; import com.fr.main.parameter.ReportParameterAttr; import com.fr.report.cell.CellElement; +import com.fr.report.cell.Elem; import com.fr.report.cell.FloatElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.cellattr.core.group.DSColumn; @@ -701,7 +702,7 @@ public class ReplaceUtils { // 处理【形态、控件、数据字典】 ans.addAll(searchPresentAndDictionary(cell)); // 处理【单元格值】 - ans.addAll(searchCellValue(cell)); + ans.addAll(searchElemValue(cell)); // 处理【条件属性】 ans.addAll(searchCellHighlight(cell)); } @@ -758,7 +759,7 @@ public class ReplaceUtils { return ans; } - private static Set searchCellValue(CellElement cell) { + private static Set searchElemValue(Elem cell) { Set ans = new HashSet<>(); Object value = cell.getValue(); if (value instanceof DSColumn) { @@ -880,7 +881,27 @@ public class ReplaceUtils { ans.addAll(searchFormulaInfos(formulaInfos)); // 超链部分 ans.addAll(searchElementCasJs(provider)); + // 悬浮元素 + ans.addAll(searchFloat(provider)); return ans; } + private static Set searchFloat(ElementCase provider) { + Set ans = new HashSet<>(); + Iterator flotIt = provider.floatIterator(); + while (flotIt.hasNext()) { + FloatElement flotEl = (FloatElement) flotIt.next(); + // 值 + ans.addAll(searchElemValue(flotEl)); + // 超链 + ans.addAll(searchFloatJs(flotEl)); + } + return ans; + } + + private static Set searchFloatJs(FloatElement flotEl) { + List javaScripts = new ArrayList<>(SearchJSUtils.getJSDependenceTables(flotEl)); + return new HashSet<>(searchJs(javaScripts)); + } + }