sunyj 8 лет назад
Родитель
Сommit
e567bec043
1 измененных файлов с 8 добавлено и 1 удалено
  1. 8 1
      src/main/java/com/uas/report/crystal2jasper/CrystalToJasper.java

+ 8 - 1
src/main/java/com/uas/report/crystal2jasper/CrystalToJasper.java

@@ -348,7 +348,7 @@ public class CrystalToJasper {
 				// 移除重复field
 				else if (fields.contains(columnName)) {
 					element.getParent().remove(element);
-				}else{
+				} else {
 					fields.add(columnName);
 				}
 			}
@@ -393,12 +393,19 @@ public class CrystalToJasper {
 		if (!CollectionUtils.isEmpty(usedVariables)) {
 			Document document = new SAXReader().read(jrxmlFile);
 			List<Element> elements = document.selectNodes("//*[name()='variable']");
+			List<String> variableNames = new ArrayList<>();
 			for (Element element : elements) {
 				String variableName = element.attributeValue("name");
 				// 变量未实际使用,移除元素
 				if (!usedVariables.contains(variableName)) {
 					element.getParent().remove(element);
 				}
+				// 移除重复variable
+				else if (variableNames.contains(variableName)) {
+					element.getParent().remove(element);
+				} else {
+					variableNames.add(variableName);
+				}
 			}
 			saveXmlFile(document, jrxmlFile);
 		}