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