|
|
1
|
+////
|
|
|
2
|
+//// Source code recreated from a .class file by IntelliJ IDEA
|
|
|
3
|
+//// (powered by Fernflower decompiler)
|
|
|
4
|
+////
|
|
|
5
|
+//
|
|
|
6
|
+//package org.jeecg.modules.jmreport.desreport.render.a;
|
|
|
7
|
+//
|
|
|
8
|
+//import com.alibaba.druid.support.json.JSONUtils;
|
|
|
9
|
+//import com.alibaba.fastjson.JSONArray;
|
|
|
10
|
+//import com.alibaba.fastjson.JSONObject;
|
|
|
11
|
+//import com.alibaba.fastjson.parser.Feature;
|
|
|
12
|
+//import org.jeecg.modules.jmreport.common.util.oConvertUtils;
|
|
|
13
|
+//import org.jeecg.modules.jmreport.desreport.model.RenderInfo;
|
|
|
14
|
+//import org.jeecg.modules.jmreport.desreport.model.ReportDbInfo;
|
|
|
15
|
+//import org.jeecg.modules.jmreport.desreport.render.handler.RowsRenderHandler;
|
|
|
16
|
+//import org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils;
|
|
|
17
|
+//import org.slf4j.Logger;
|
|
|
18
|
+//import org.slf4j.LoggerFactory;
|
|
|
19
|
+//import org.springframework.stereotype.Component;
|
|
|
20
|
+//
|
|
|
21
|
+//import java.util.*;
|
|
|
22
|
+//import java.util.Map.Entry;
|
|
|
23
|
+//
|
|
|
24
|
+//@Component("loopBlockRenderStrategy")
|
|
|
25
|
+//public class a implements RowsRenderHandler {
|
|
|
26
|
+// private static final Logger a = LoggerFactory.getLogger(a.class);
|
|
|
27
|
+//
|
|
|
28
|
+// public a() {
|
|
|
29
|
+// }
|
|
|
30
|
+//
|
|
|
31
|
+// public boolean support(RenderInfo renderInfo, JSONObject rows) {
|
|
|
32
|
+// return oConvertUtils.isNotEmpty(renderInfo.getLoopBlockList());
|
|
|
33
|
+// }
|
|
|
34
|
+//
|
|
|
35
|
+// private String a(JSONObject var1, JSONObject var2, Integer var3, Integer var4) {
|
|
|
36
|
+// Integer var5 = var4 - var3 + 1;
|
|
|
37
|
+// Integer var6 = var1.getInteger("sci");
|
|
|
38
|
+// Integer var7 = var1.getInteger("eci");
|
|
|
39
|
+// Integer var8 = oConvertUtils.getInt(var1.getInteger("loopTime"), 1);
|
|
|
40
|
+// StringBuilder var9 = new StringBuilder();
|
|
|
41
|
+// String var10 = var1.getString("db");
|
|
|
42
|
+// var9.append("{");
|
|
|
43
|
+// var9.append(String.format("<#list list as %s>", var10));
|
|
|
44
|
+//
|
|
|
45
|
+// for (int var11 = var3; var11 <= var4; ++var11) {
|
|
|
46
|
+// var9.append(String.format("\"${(%s_index*%s)+%s+%s}\":", var10, var5, var3, var11 - var3));
|
|
|
47
|
+// JSONObject var12 = (JSONObject) var2.get(var11);
|
|
|
48
|
+// JSONObject var13 = new JSONObject(true);
|
|
|
49
|
+// JSONObject var14 = var12.getJSONObject("cells");
|
|
|
50
|
+// if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
51
|
+// JSONObject var15 = new JSONObject(true);
|
|
|
52
|
+//
|
|
|
53
|
+// int var16;
|
|
|
54
|
+// JSONObject var17;
|
|
|
55
|
+// for (var16 = var6; var16 <= var7; ++var16) {
|
|
|
56
|
+// if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
57
|
+// var17 = var14.getJSONObject(var16 + "");
|
|
|
58
|
+// var15.put(var16 + "", var17);
|
|
|
59
|
+// }
|
|
|
60
|
+// }
|
|
|
61
|
+//
|
|
|
62
|
+// if (var8 > 1) {
|
|
|
63
|
+// for (var16 = 1; var16 <= var8 - 1; ++var16) {
|
|
|
64
|
+// var17 = JSONObject.parseObject(JSONObject.toJSONString(var14), new Feature[]{Feature.OrderedField});
|
|
|
65
|
+//
|
|
|
66
|
+// for (int var18 = var6; var18 <= var7; ++var18) {
|
|
|
67
|
+// JSONObject var19 = (JSONObject) var17.get(var18);
|
|
|
68
|
+// String var20 = var19.getString("text");
|
|
|
69
|
+// int var21 = (var7 - var6 + 1) * var16 + var18;
|
|
|
70
|
+// if (oConvertUtils.isNotEmpty(var20) && var20.indexOf("_index") <= -1 && var20.indexOf("${") > -1) {
|
|
|
71
|
+// var19.put("text", var20.replace("}", var16 + "}"));
|
|
|
72
|
+// var15.put(var21 + "", var19);
|
|
|
73
|
+// } else {
|
|
|
74
|
+// var15.put(var21 + "", var19);
|
|
|
75
|
+// }
|
|
|
76
|
+// }
|
|
|
77
|
+// }
|
|
|
78
|
+// }
|
|
|
79
|
+//
|
|
|
80
|
+// var13.put("cells", var15);
|
|
|
81
|
+// Object var22 = var12.get("height");
|
|
|
82
|
+// if (oConvertUtils.isNotEmpty(var22)) {
|
|
|
83
|
+// var13.put("height", var22);
|
|
|
84
|
+// }
|
|
|
85
|
+// }
|
|
|
86
|
+//
|
|
|
87
|
+// var9.append(JSONUtils.toJSONString(var13));
|
|
|
88
|
+// if (var11 < var4) {
|
|
|
89
|
+// var9.append(",");
|
|
|
90
|
+// }
|
|
|
91
|
+// }
|
|
|
92
|
+//
|
|
|
93
|
+// var9.append(String.format("<#if %s_has_next>,</#if>", var10));
|
|
|
94
|
+// var9.append("</#list>");
|
|
|
95
|
+// var9.append("}");
|
|
|
96
|
+// return var9.toString();
|
|
|
97
|
+// }
|
|
|
98
|
+//
|
|
|
99
|
+// public JSONObject render(RenderInfo renderInfo, JSONObject rows) {
|
|
|
100
|
+// JSONObject var3 = new JSONObject(true);
|
|
|
101
|
+// Map var4 = renderInfo.getReport().getDataList();
|
|
|
102
|
+// JSONArray var5 = renderInfo.getLoopBlockList();
|
|
|
103
|
+// Integer var6 = 0;
|
|
|
104
|
+// Iterator var7 = var5.iterator();
|
|
|
105
|
+//
|
|
|
106
|
+// JSONObject var9;
|
|
|
107
|
+// Integer var10;
|
|
|
108
|
+// Integer var11;
|
|
|
109
|
+// Integer var12;
|
|
|
110
|
+// ReportDbInfo var27;
|
|
|
111
|
+// do {
|
|
|
112
|
+// if (!var7.hasNext()) {
|
|
|
113
|
+// return rows;
|
|
|
114
|
+// }
|
|
|
115
|
+//
|
|
|
116
|
+// Object var8 = var7.next();
|
|
|
117
|
+// var9 = (JSONObject) var8;
|
|
|
118
|
+// var10 = var9.getInteger("sri");
|
|
|
119
|
+// var11 = var9.getInteger("eri");
|
|
|
120
|
+// var12 = oConvertUtils.getInt(var9.getInteger("loopTime"), 1);
|
|
|
121
|
+// if (var10 > 0) {
|
|
|
122
|
+// for (int var13 = 0; var13 < var10; ++var13) {
|
|
|
123
|
+// Object var14 = rows.get(var13);
|
|
|
124
|
+// if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
125
|
+// var3.put(var13 + "", var14);
|
|
|
126
|
+// }
|
|
|
127
|
+// }
|
|
|
128
|
+// }
|
|
|
129
|
+//
|
|
|
130
|
+// String var26 = var9.getString("db");
|
|
|
131
|
+// var27 = (ReportDbInfo) var4.get(var26);
|
|
|
132
|
+// } while (!oConvertUtils.isNotEmpty(var27));
|
|
|
133
|
+//
|
|
|
134
|
+// Object var15 = this.getData(var27);
|
|
|
135
|
+// HashMap var16 = new HashMap(5);
|
|
|
136
|
+// if (oConvertUtils.isNotEmpty(var15) && var15 instanceof List) {
|
|
|
137
|
+// List var17 = (List) var15;
|
|
|
138
|
+// if (var12 > 1) {
|
|
|
139
|
+// int var18 = 0;
|
|
|
140
|
+// ArrayList var19 = new ArrayList();
|
|
|
141
|
+// JSONObject var20 = new JSONObject();
|
|
|
142
|
+// Iterator var21 = var17.iterator();
|
|
|
143
|
+//
|
|
|
144
|
+// while (true) {
|
|
|
145
|
+// if (!var21.hasNext()) {
|
|
|
146
|
+// var15 = var19;
|
|
|
147
|
+// break;
|
|
|
148
|
+// }
|
|
|
149
|
+//
|
|
|
150
|
+// JSONObject var22 = (JSONObject) var21.next();
|
|
|
151
|
+// if (var18 % var12 == 0) {
|
|
|
152
|
+// var20 = new JSONObject();
|
|
|
153
|
+// var20.put("idx", var18 + 1);
|
|
|
154
|
+// var20.putAll(var22);
|
|
|
155
|
+// var19.add(var20);
|
|
|
156
|
+// } else {
|
|
|
157
|
+// Iterator var23 = var22.entrySet().iterator();
|
|
|
158
|
+//
|
|
|
159
|
+// while (var23.hasNext()) {
|
|
|
160
|
+// Entry var24 = (Entry) var23.next();
|
|
|
161
|
+// String var25 = var24.getKey().toString();
|
|
|
162
|
+// var20.put("idx" + var18 % var12, var18 + 1);
|
|
|
163
|
+// var20.put(var25 + var18 % var12, var24.getValue());
|
|
|
164
|
+// }
|
|
|
165
|
+// }
|
|
|
166
|
+//
|
|
|
167
|
+// ++var18;
|
|
|
168
|
+// }
|
|
|
169
|
+// }
|
|
|
170
|
+//
|
|
|
171
|
+// var16.put("list", var15);
|
|
|
172
|
+// }
|
|
|
173
|
+//
|
|
|
174
|
+// String var28 = this.a(var9, rows, var10, var11);
|
|
|
175
|
+// String var29 = FreeMarkerUtils.a(var28, var16);
|
|
|
176
|
+// JSONObject var30 = JSONObject.parseObject(var29, new Feature[]{Feature.OrderedField});
|
|
|
177
|
+// Iterator var31 = rows.entrySet().iterator();
|
|
|
178
|
+//
|
|
|
179
|
+// while (var31.hasNext()) {
|
|
|
180
|
+// Entry var32 = (Entry) var31.next();
|
|
|
181
|
+// Object var33 = var32.getValue();
|
|
|
182
|
+// if (var33 instanceof JSONObject) {
|
|
|
183
|
+// Integer var34 = Integer.parseInt(var32.getKey().toString());
|
|
|
184
|
+// if (var34 > var11) {
|
|
|
185
|
+// var6 = var30.size() + var10;
|
|
|
186
|
+// var30.put(var6.toString(), var33);
|
|
|
187
|
+// }
|
|
|
188
|
+// }
|
|
|
189
|
+// }
|
|
|
190
|
+//
|
|
|
191
|
+// var3.putAll(var30);
|
|
|
192
|
+// return var3;
|
|
|
193
|
+// }
|
|
|
194
|
+//
|
|
|
195
|
+// public Object getData(ReportDbInfo reportDbInfo) {
|
|
|
196
|
+// return reportDbInfo.getList();
|
|
|
197
|
+// }
|
|
|
198
|
+//}
|
1
|
// |
199
|
// |
2
|
-// Source code recreated from a .class file by IntelliJ IDEA
|
|
|
3
|
-// (powered by Fernflower decompiler)
|
|
|
4
|
-//
|
|
|
5
|
-
|
|
|
6
|
-package org.jeecg.modules.jmreport.desreport.render.a;
|
|
|
7
|
-
|
|
|
8
|
-import com.alibaba.druid.support.json.JSONUtils;
|
|
|
9
|
-import com.alibaba.fastjson.JSONArray;
|
|
|
10
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
11
|
-import com.alibaba.fastjson.parser.Feature;
|
|
|
12
|
-import org.jeecg.modules.jmreport.common.util.oConvertUtils;
|
|
|
13
|
-import org.jeecg.modules.jmreport.desreport.model.RenderInfo;
|
|
|
14
|
-import org.jeecg.modules.jmreport.desreport.model.ReportDbInfo;
|
|
|
15
|
-import org.jeecg.modules.jmreport.desreport.render.handler.RowsRenderHandler;
|
|
|
16
|
-import org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils;
|
|
|
17
|
-import org.slf4j.Logger;
|
|
|
18
|
-import org.slf4j.LoggerFactory;
|
|
|
19
|
-import org.springframework.stereotype.Component;
|
|
|
20
|
-
|
|
|
21
|
-import java.util.*;
|
|
|
22
|
-import java.util.Map.Entry;
|
|
|
23
|
-
|
|
|
24
|
-@Component("loopBlockRenderStrategy")
|
|
|
25
|
-public class a implements RowsRenderHandler {
|
|
|
26
|
- private static final Logger a = LoggerFactory.getLogger(a.class);
|
|
|
27
|
-
|
|
|
28
|
- public a() {
|
|
|
29
|
- }
|
|
|
30
|
-
|
|
|
31
|
- public boolean support(RenderInfo renderInfo, JSONObject rows) {
|
|
|
32
|
- return oConvertUtils.isNotEmpty(renderInfo.getLoopBlockList());
|
|
|
33
|
- }
|
|
|
34
|
-
|
|
|
35
|
- private String a(JSONObject var1, JSONObject var2, Integer var3, Integer var4) {
|
|
|
36
|
- Integer var5 = var4 - var3 + 1;
|
|
|
37
|
- Integer var6 = var1.getInteger("sci");
|
|
|
38
|
- Integer var7 = var1.getInteger("eci");
|
|
|
39
|
- Integer var8 = oConvertUtils.getInt(var1.getInteger("loopTime"), 1);
|
|
|
40
|
- StringBuilder var9 = new StringBuilder();
|
|
|
41
|
- String var10 = var1.getString("db");
|
|
|
42
|
- var9.append("{");
|
|
|
43
|
- var9.append(String.format("<#list list as %s>", var10));
|
|
|
44
|
-
|
|
|
45
|
- for (int var11 = var3; var11 <= var4; ++var11) {
|
|
|
46
|
- var9.append(String.format("\"${(%s_index*%s)+%s+%s}\":", var10, var5, var3, var11 - var3));
|
|
|
47
|
- JSONObject var12 = (JSONObject) var2.get(var11);
|
|
|
48
|
- JSONObject var13 = new JSONObject(true);
|
|
|
49
|
- JSONObject var14 = var12.getJSONObject("cells");
|
|
|
50
|
- if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
51
|
- JSONObject var15 = new JSONObject(true);
|
|
|
52
|
-
|
|
|
53
|
- int var16;
|
|
|
54
|
- JSONObject var17;
|
|
|
55
|
- for (var16 = var6; var16 <= var7; ++var16) {
|
|
|
56
|
- if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
57
|
- var17 = var14.getJSONObject(var16 + "");
|
|
|
58
|
- var15.put(var16 + "", var17);
|
|
|
59
|
- }
|
|
|
60
|
- }
|
|
|
61
|
-
|
|
|
62
|
- if (var8 > 1) {
|
|
|
63
|
- for (var16 = 1; var16 <= var8 - 1; ++var16) {
|
|
|
64
|
- var17 = JSONObject.parseObject(JSONObject.toJSONString(var14), new Feature[]{Feature.OrderedField});
|
|
|
65
|
-
|
|
|
66
|
- for (int var18 = var6; var18 <= var7; ++var18) {
|
|
|
67
|
- JSONObject var19 = (JSONObject) var17.get(var18);
|
|
|
68
|
- String var20 = var19.getString("text");
|
|
|
69
|
- int var21 = (var7 - var6 + 1) * var16 + var18;
|
|
|
70
|
- if (oConvertUtils.isNotEmpty(var20) && var20.indexOf("_index") <= -1 && var20.indexOf("${") > -1) {
|
|
|
71
|
- var19.put("text", var20.replace("}", var16 + "}"));
|
|
|
72
|
- var15.put(var21 + "", var19);
|
|
|
73
|
- } else {
|
|
|
74
|
- var15.put(var21 + "", var19);
|
|
|
75
|
- }
|
|
|
76
|
- }
|
|
|
77
|
- }
|
|
|
78
|
- }
|
|
|
79
|
-
|
|
|
80
|
- var13.put("cells", var15);
|
|
|
81
|
- Object var22 = var12.get("height");
|
|
|
82
|
- if (oConvertUtils.isNotEmpty(var22)) {
|
|
|
83
|
- var13.put("height", var22);
|
|
|
84
|
- }
|
|
|
85
|
- }
|
|
|
86
|
-
|
|
|
87
|
- var9.append(JSONUtils.toJSONString(var13));
|
|
|
88
|
- if (var11 < var4) {
|
|
|
89
|
- var9.append(",");
|
|
|
90
|
- }
|
|
|
91
|
- }
|
|
|
92
|
-
|
|
|
93
|
- var9.append(String.format("<#if %s_has_next>,</#if>", var10));
|
|
|
94
|
- var9.append("</#list>");
|
|
|
95
|
- var9.append("}");
|
|
|
96
|
- return var9.toString();
|
|
|
97
|
- }
|
|
|
98
|
-
|
|
|
99
|
- public JSONObject render(RenderInfo renderInfo, JSONObject rows) {
|
|
|
100
|
- JSONObject var3 = new JSONObject(true);
|
|
|
101
|
- Map var4 = renderInfo.getReport().getDataList();
|
|
|
102
|
- JSONArray var5 = renderInfo.getLoopBlockList();
|
|
|
103
|
- Integer var6 = 0;
|
|
|
104
|
- Iterator var7 = var5.iterator();
|
|
|
105
|
-
|
|
|
106
|
- JSONObject var9;
|
|
|
107
|
- Integer var10;
|
|
|
108
|
- Integer var11;
|
|
|
109
|
- Integer var12;
|
|
|
110
|
- ReportDbInfo var27;
|
|
|
111
|
- do {
|
|
|
112
|
- if (!var7.hasNext()) {
|
|
|
113
|
- return rows;
|
|
|
114
|
- }
|
|
|
115
|
-
|
|
|
116
|
- Object var8 = var7.next();
|
|
|
117
|
- var9 = (JSONObject) var8;
|
|
|
118
|
- var10 = var9.getInteger("sri");
|
|
|
119
|
- var11 = var9.getInteger("eri");
|
|
|
120
|
- var12 = oConvertUtils.getInt(var9.getInteger("loopTime"), 1);
|
|
|
121
|
- if (var10 > 0) {
|
|
|
122
|
- for (int var13 = 0; var13 < var10; ++var13) {
|
|
|
123
|
- Object var14 = rows.get(var13);
|
|
|
124
|
- if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
125
|
- var3.put(var13 + "", var14);
|
|
|
126
|
- }
|
|
|
127
|
- }
|
|
|
128
|
- }
|
|
|
129
|
-
|
|
|
130
|
- String var26 = var9.getString("db");
|
|
|
131
|
- var27 = (ReportDbInfo) var4.get(var26);
|
|
|
132
|
- } while (!oConvertUtils.isNotEmpty(var27));
|
|
|
133
|
-
|
|
|
134
|
- Object var15 = this.getData(var27);
|
|
|
135
|
- HashMap var16 = new HashMap(5);
|
|
|
136
|
- if (oConvertUtils.isNotEmpty(var15) && var15 instanceof List) {
|
|
|
137
|
- List var17 = (List) var15;
|
|
|
138
|
- if (var12 > 1) {
|
|
|
139
|
- int var18 = 0;
|
|
|
140
|
- ArrayList var19 = new ArrayList();
|
|
|
141
|
- JSONObject var20 = new JSONObject();
|
|
|
142
|
- Iterator var21 = var17.iterator();
|
|
|
143
|
-
|
|
|
144
|
- while (true) {
|
|
|
145
|
- if (!var21.hasNext()) {
|
|
|
146
|
- var15 = var19;
|
|
|
147
|
- break;
|
|
|
148
|
- }
|
|
|
149
|
-
|
|
|
150
|
- JSONObject var22 = (JSONObject) var21.next();
|
|
|
151
|
- if (var18 % var12 == 0) {
|
|
|
152
|
- var20 = new JSONObject();
|
|
|
153
|
- var20.put("idx", var18 + 1);
|
|
|
154
|
- var20.putAll(var22);
|
|
|
155
|
- var19.add(var20);
|
|
|
156
|
- } else {
|
|
|
157
|
- Iterator var23 = var22.entrySet().iterator();
|
|
|
158
|
-
|
|
|
159
|
- while (var23.hasNext()) {
|
|
|
160
|
- Entry var24 = (Entry) var23.next();
|
|
|
161
|
- String var25 = var24.getKey().toString();
|
|
|
162
|
- var20.put("idx" + var18 % var12, var18 + 1);
|
|
|
163
|
- var20.put(var25 + var18 % var12, var24.getValue());
|
|
|
164
|
- }
|
|
|
165
|
- }
|
|
|
166
|
-
|
|
|
167
|
- ++var18;
|
|
|
168
|
- }
|
|
|
169
|
- }
|
|
|
170
|
-
|
|
|
171
|
- var16.put("list", var15);
|
|
|
172
|
- }
|
|
|
173
|
-
|
|
|
174
|
- String var28 = this.a(var9, rows, var10, var11);
|
|
|
175
|
- String var29 = FreeMarkerUtils.a(var28, var16);
|
|
|
176
|
- JSONObject var30 = JSONObject.parseObject(var29, new Feature[]{Feature.OrderedField});
|
|
|
177
|
- Iterator var31 = rows.entrySet().iterator();
|
|
|
178
|
-
|
|
|
179
|
- while (var31.hasNext()) {
|
|
|
180
|
- Entry var32 = (Entry) var31.next();
|
|
|
181
|
- Object var33 = var32.getValue();
|
|
|
182
|
- if (var33 instanceof JSONObject) {
|
|
|
183
|
- Integer var34 = Integer.parseInt(var32.getKey().toString());
|
|
|
184
|
- if (var34 > var11) {
|
|
|
185
|
- var6 = var30.size() + var10;
|
|
|
186
|
- var30.put(var6.toString(), var33);
|
|
|
187
|
- }
|
|
|
188
|
- }
|
|
|
189
|
- }
|
|
|
190
|
-
|
|
|
191
|
- var3.putAll(var30);
|
|
|
192
|
- return var3;
|
|
|
193
|
- }
|
|
|
194
|
-
|
|
|
195
|
- public Object getData(ReportDbInfo reportDbInfo) {
|
|
|
196
|
- return reportDbInfo.getList();
|
|
|
197
|
- }
|
|
|
198
|
-}
|
|
|
199
|
- |
|
|