Browse Source

Merge pull request #15567 in DESIGN/design from release/11.0 to bugfix/11.0

* commit 'f2211453c301c23e24ff505d67fa9d8177c55a4b':
  REPORT-142004 【数据集替换】当悬浮图表用到了存储过程数据集,无法替换
bugfix/11.0
superman 2 months ago
parent
commit
e9453c9218
  1. 25
      designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java

25
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<String> searchCellValue(CellElement cell) {
private static Set<String> searchElemValue(Elem cell) {
Set<String> 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<String> searchFloat(ElementCase provider) {
Set<String> 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<String> searchFloatJs(FloatElement flotEl) {
List<JavaScript> javaScripts = new ArrayList<>(SearchJSUtils.getJSDependenceTables(flotEl));
return new HashSet<>(searchJs(javaScripts));
}
}

Loading…
Cancel
Save