Skip to content

Commit cefcf4e

Browse files
authored
Merge pull request #102 from jumpserver/pr@dev@feat_remove_rownum
feat: remove export sqlserver rownum
2 parents d85b3f2 + 0844259 commit cefcf4e

1 file changed

Lines changed: 32 additions & 5 deletions

File tree

  • backend/framework/src/main/java/org/jumpserver/chen/framework/console/dataview/export

backend/framework/src/main/java/org/jumpserver/chen/framework/console/dataview/export/DataExport.java

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.time.LocalDateTime;
1919
import java.time.format.DateTimeFormatter;
2020
import java.util.Date;
21+
import java.util.LinkedHashMap;
2122
import java.util.List;
2223
import java.util.Map;
2324

@@ -57,8 +58,21 @@ public void exportData(String path, DataViewData data) throws Exception {
5758
Workbook workbook = new Workbook(fos, "JumpServer", "4.0")) {
5859

5960
Worksheet sheet = workbook.newWorksheet("Data");
60-
List<Field> fields = data.getFields();
61-
List<Map<String, Object>> rows = data.getData();
61+
62+
63+
List<Field> fields = data.getFields().stream()
64+
.filter(f -> !f.getName().equalsIgnoreCase("ROWNUM"))
65+
.toList();
66+
data.setFields(fields);
67+
68+
List<Map<String, Object>> rows = data.getData().stream()
69+
.map(m -> {
70+
Map<String, Object> newMap = new LinkedHashMap<>(m);
71+
newMap.remove("ROWNUM");
72+
return newMap;
73+
})
74+
.toList();
75+
6276

6377
for (int col = 0; col < fields.size(); col++) {
6478
sheet.value(0, col, fields.get(col).getName());
@@ -97,13 +111,26 @@ class DataExportCSV implements DataExportInterface {
97111
public void exportData(String path, DataViewData data) throws Exception {
98112
var writer = Files.newBufferedWriter(Path.of(path));
99113

100-
for (Field field : data.getFields()) {
114+
List<Field> fields = data.getFields().stream()
115+
.filter(f -> !f.getName().equalsIgnoreCase("ROWNUM"))
116+
.toList();
117+
data.setFields(fields);
118+
119+
List<Map<String, Object>> rows = data.getData().stream()
120+
.map(m -> {
121+
Map<String, Object> newMap = new LinkedHashMap<>(m);
122+
newMap.remove("ROWNUM");
123+
return newMap;
124+
})
125+
.toList();
126+
127+
for (Field field : fields) {
101128
writeString(writer, field.getName());
102129
writer.write(",");
103130
}
104131
writer.newLine();
105-
for (Map<String, Object> row : data.getData()) {
106-
for (Field field : data.getFields()) {
132+
for (Map<String, Object> row : rows) {
133+
for (Field field : fields) {
107134
var obj = row.get(field.getName());
108135
if (obj == null) {
109136
writer.write("NULL");

0 commit comments

Comments
 (0)