Browse Source

Merge pull request #15566 in DESIGN/design from final/11.0 to release/11.0

* commit '7dd3f2c56ae691eca2116a3eafee592c46cebd47':
  REPORT-142004 【数据集替换】当悬浮图表用到了存储过程数据集,无法替换
release/11.0
superman 2 months ago
parent
commit
f2211453c3
  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.impl.WorkBook;
import com.fr.main.parameter.ReportParameterAttr; import com.fr.main.parameter.ReportParameterAttr;
import com.fr.report.cell.CellElement; import com.fr.report.cell.CellElement;
import com.fr.report.cell.Elem;
import com.fr.report.cell.FloatElement; import com.fr.report.cell.FloatElement;
import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.TemplateCellElement;
import com.fr.report.cell.cellattr.core.group.DSColumn; import com.fr.report.cell.cellattr.core.group.DSColumn;
@ -701,7 +702,7 @@ public class ReplaceUtils {
// 处理【形态、控件、数据字典】 // 处理【形态、控件、数据字典】
ans.addAll(searchPresentAndDictionary(cell)); ans.addAll(searchPresentAndDictionary(cell));
// 处理【单元格值】 // 处理【单元格值】
ans.addAll(searchCellValue(cell)); ans.addAll(searchElemValue(cell));
// 处理【条件属性】 // 处理【条件属性】
ans.addAll(searchCellHighlight(cell)); ans.addAll(searchCellHighlight(cell));
} }
@ -758,7 +759,7 @@ public class ReplaceUtils {
return ans; return ans;
} }
private static Set<String> searchCellValue(CellElement cell) { private static Set<String> searchElemValue(Elem cell) {
Set<String> ans = new HashSet<>(); Set<String> ans = new HashSet<>();
Object value = cell.getValue(); Object value = cell.getValue();
if (value instanceof DSColumn) { if (value instanceof DSColumn) {
@ -880,7 +881,27 @@ public class ReplaceUtils {
ans.addAll(searchFormulaInfos(formulaInfos)); ans.addAll(searchFormulaInfos(formulaInfos));
// 超链部分 // 超链部分
ans.addAll(searchElementCasJs(provider)); ans.addAll(searchElementCasJs(provider));
// 悬浮元素
ans.addAll(searchFloat(provider));
return ans; 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