|
|
////
|
|
|
//// Source code recreated from a .class file by IntelliJ IDEA
|
|
|
//// (powered by Fernflower decompiler)
|
|
|
////
|
|
|
//
|
|
|
//package org.jeecg.modules.jmreport.desreport.render.a;
|
|
|
//
|
|
|
//import com.alibaba.druid.support.json.JSONUtils;
|
|
|
//import com.alibaba.fastjson.JSONArray;
|
|
|
//import com.alibaba.fastjson.JSONObject;
|
|
|
//import com.alibaba.fastjson.parser.Feature;
|
|
|
//import org.jeecg.modules.jmreport.common.util.oConvertUtils;
|
|
|
//import org.jeecg.modules.jmreport.desreport.model.RenderInfo;
|
|
|
//import org.jeecg.modules.jmreport.desreport.model.ReportDbInfo;
|
|
|
//import org.jeecg.modules.jmreport.desreport.render.handler.RowsRenderHandler;
|
|
|
//import org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils;
|
|
|
//import org.slf4j.Logger;
|
|
|
//import org.slf4j.LoggerFactory;
|
|
|
//import org.springframework.stereotype.Component;
|
|
|
//
|
|
|
//import java.util.*;
|
|
|
//import java.util.Map.Entry;
|
|
|
//
|
|
|
//@Component("loopBlockRenderStrategy")
|
|
|
//public class a implements RowsRenderHandler {
|
|
|
// private static final Logger a = LoggerFactory.getLogger(a.class);
|
|
|
//
|
|
|
// public a() {
|
|
|
// }
|
|
|
//
|
|
|
// public boolean support(RenderInfo renderInfo, JSONObject rows) {
|
|
|
// return oConvertUtils.isNotEmpty(renderInfo.getLoopBlockList());
|
|
|
// }
|
|
|
//
|
|
|
// private String a(JSONObject var1, JSONObject var2, Integer var3, Integer var4) {
|
|
|
// Integer var5 = var4 - var3 + 1;
|
|
|
// Integer var6 = var1.getInteger("sci");
|
|
|
// Integer var7 = var1.getInteger("eci");
|
|
|
// Integer var8 = oConvertUtils.getInt(var1.getInteger("loopTime"), 1);
|
|
|
// StringBuilder var9 = new StringBuilder();
|
|
|
// String var10 = var1.getString("db");
|
|
|
// var9.append("{");
|
|
|
// var9.append(String.format("<#list list as %s>", var10));
|
|
|
//
|
|
|
// for (int var11 = var3; var11 <= var4; ++var11) {
|
|
|
// var9.append(String.format("\"${(%s_index*%s)+%s+%s}\":", var10, var5, var3, var11 - var3));
|
|
|
// JSONObject var12 = (JSONObject) var2.get(var11);
|
|
|
// JSONObject var13 = new JSONObject(true);
|
|
|
// JSONObject var14 = var12.getJSONObject("cells");
|
|
|
// if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
// JSONObject var15 = new JSONObject(true);
|
|
|
//
|
|
|
// int var16;
|
|
|
// JSONObject var17;
|
|
|
// for (var16 = var6; var16 <= var7; ++var16) {
|
|
|
// if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
// var17 = var14.getJSONObject(var16 + "");
|
|
|
// var15.put(var16 + "", var17);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// if (var8 > 1) {
|
|
|
// for (var16 = 1; var16 <= var8 - 1; ++var16) {
|
|
|
// var17 = JSONObject.parseObject(JSONObject.toJSONString(var14), new Feature[]{Feature.OrderedField});
|
|
|
//
|
|
|
// for (int var18 = var6; var18 <= var7; ++var18) {
|
|
|
// JSONObject var19 = (JSONObject) var17.get(var18);
|
|
|
// String var20 = var19.getString("text");
|
|
|
// int var21 = (var7 - var6 + 1) * var16 + var18;
|
|
|
// if (oConvertUtils.isNotEmpty(var20) && var20.indexOf("_index") <= -1 && var20.indexOf("${") > -1) {
|
|
|
// var19.put("text", var20.replace("}", var16 + "}"));
|
|
|
// var15.put(var21 + "", var19);
|
|
|
// } else {
|
|
|
// var15.put(var21 + "", var19);
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// var13.put("cells", var15);
|
|
|
// Object var22 = var12.get("height");
|
|
|
// if (oConvertUtils.isNotEmpty(var22)) {
|
|
|
// var13.put("height", var22);
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// var9.append(JSONUtils.toJSONString(var13));
|
|
|
// if (var11 < var4) {
|
|
|
// var9.append(",");
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// var9.append(String.format("<#if %s_has_next>,</#if>", var10));
|
|
|
// var9.append("</#list>");
|
|
|
// var9.append("}");
|
|
|
// return var9.toString();
|
|
|
// }
|
|
|
//
|
|
|
// public JSONObject render(RenderInfo renderInfo, JSONObject rows) {
|
|
|
// JSONObject var3 = new JSONObject(true);
|
|
|
// Map var4 = renderInfo.getReport().getDataList();
|
|
|
// JSONArray var5 = renderInfo.getLoopBlockList();
|
|
|
// Integer var6 = 0;
|
|
|
// Iterator var7 = var5.iterator();
|
|
|
//
|
|
|
// JSONObject var9;
|
|
|
// Integer var10;
|
|
|
// Integer var11;
|
|
|
// Integer var12;
|
|
|
// ReportDbInfo var27;
|
|
|
// do {
|
|
|
// if (!var7.hasNext()) {
|
|
|
// return rows;
|
|
|
// }
|
|
|
//
|
|
|
// Object var8 = var7.next();
|
|
|
// var9 = (JSONObject) var8;
|
|
|
// var10 = var9.getInteger("sri");
|
|
|
// var11 = var9.getInteger("eri");
|
|
|
// var12 = oConvertUtils.getInt(var9.getInteger("loopTime"), 1);
|
|
|
// if (var10 > 0) {
|
|
|
// for (int var13 = 0; var13 < var10; ++var13) {
|
|
|
// Object var14 = rows.get(var13);
|
|
|
// if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
// var3.put(var13 + "", var14);
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// String var26 = var9.getString("db");
|
|
|
// var27 = (ReportDbInfo) var4.get(var26);
|
|
|
// } while (!oConvertUtils.isNotEmpty(var27));
|
|
|
//
|
|
|
// Object var15 = this.getData(var27);
|
|
|
// HashMap var16 = new HashMap(5);
|
|
|
// if (oConvertUtils.isNotEmpty(var15) && var15 instanceof List) {
|
|
|
// List var17 = (List) var15;
|
|
|
// if (var12 > 1) {
|
|
|
// int var18 = 0;
|
|
|
// ArrayList var19 = new ArrayList();
|
|
|
// JSONObject var20 = new JSONObject();
|
|
|
// Iterator var21 = var17.iterator();
|
|
|
//
|
|
|
// while (true) {
|
|
|
// if (!var21.hasNext()) {
|
|
|
// var15 = var19;
|
|
|
// break;
|
|
|
// }
|
|
|
//
|
|
|
// JSONObject var22 = (JSONObject) var21.next();
|
|
|
// if (var18 % var12 == 0) {
|
|
|
// var20 = new JSONObject();
|
|
|
// var20.put("idx", var18 + 1);
|
|
|
// var20.putAll(var22);
|
|
|
// var19.add(var20);
|
|
|
// } else {
|
|
|
// Iterator var23 = var22.entrySet().iterator();
|
|
|
//
|
|
|
// while (var23.hasNext()) {
|
|
|
// Entry var24 = (Entry) var23.next();
|
|
|
// String var25 = var24.getKey().toString();
|
|
|
// var20.put("idx" + var18 % var12, var18 + 1);
|
|
|
// var20.put(var25 + var18 % var12, var24.getValue());
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// ++var18;
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// var16.put("list", var15);
|
|
|
// }
|
|
|
//
|
|
|
// String var28 = this.a(var9, rows, var10, var11);
|
|
|
// String var29 = FreeMarkerUtils.a(var28, var16);
|
|
|
// JSONObject var30 = JSONObject.parseObject(var29, new Feature[]{Feature.OrderedField});
|
|
|
// Iterator var31 = rows.entrySet().iterator();
|
|
|
//
|
|
|
// while (var31.hasNext()) {
|
|
|
// Entry var32 = (Entry) var31.next();
|
|
|
// Object var33 = var32.getValue();
|
|
|
// if (var33 instanceof JSONObject) {
|
|
|
// Integer var34 = Integer.parseInt(var32.getKey().toString());
|
|
|
// if (var34 > var11) {
|
|
|
// var6 = var30.size() + var10;
|
|
|
// var30.put(var6.toString(), var33);
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// var3.putAll(var30);
|
|
|
// return var3;
|
|
|
// }
|
|
|
//
|
|
|
// public Object getData(ReportDbInfo reportDbInfo) {
|
|
|
// return reportDbInfo.getList();
|
|
|
// }
|
|
|
//}
|
|
|
// |
|
|
// Source code recreated from a .class file by IntelliJ IDEA
|
|
|
// (powered by Fernflower decompiler)
|
|
|
//
|
|
|
|
|
|
package org.jeecg.modules.jmreport.desreport.render.a;
|
|
|
|
|
|
import com.alibaba.druid.support.json.JSONUtils;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.alibaba.fastjson.parser.Feature;
|
|
|
import org.jeecg.modules.jmreport.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.jmreport.desreport.model.RenderInfo;
|
|
|
import org.jeecg.modules.jmreport.desreport.model.ReportDbInfo;
|
|
|
import org.jeecg.modules.jmreport.desreport.render.handler.RowsRenderHandler;
|
|
|
import org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.Map.Entry;
|
|
|
|
|
|
@Component("loopBlockRenderStrategy")
|
|
|
public class a implements RowsRenderHandler {
|
|
|
private static final Logger a = LoggerFactory.getLogger(a.class);
|
|
|
|
|
|
public a() {
|
|
|
}
|
|
|
|
|
|
public boolean support(RenderInfo renderInfo, JSONObject rows) {
|
|
|
return oConvertUtils.isNotEmpty(renderInfo.getLoopBlockList());
|
|
|
}
|
|
|
|
|
|
private String a(JSONObject var1, JSONObject var2, Integer var3, Integer var4) {
|
|
|
Integer var5 = var4 - var3 + 1;
|
|
|
Integer var6 = var1.getInteger("sci");
|
|
|
Integer var7 = var1.getInteger("eci");
|
|
|
Integer var8 = oConvertUtils.getInt(var1.getInteger("loopTime"), 1);
|
|
|
StringBuilder var9 = new StringBuilder();
|
|
|
String var10 = var1.getString("db");
|
|
|
var9.append("{");
|
|
|
var9.append(String.format("<#list list as %s>", var10));
|
|
|
|
|
|
for (int var11 = var3; var11 <= var4; ++var11) {
|
|
|
var9.append(String.format("\"${(%s_index*%s)+%s+%s}\":", var10, var5, var3, var11 - var3));
|
|
|
JSONObject var12 = (JSONObject) var2.get(var11);
|
|
|
JSONObject var13 = new JSONObject(true);
|
|
|
JSONObject var14 = var12.getJSONObject("cells");
|
|
|
if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
JSONObject var15 = new JSONObject(true);
|
|
|
|
|
|
int var16;
|
|
|
JSONObject var17;
|
|
|
for (var16 = var6; var16 <= var7; ++var16) {
|
|
|
if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
var17 = var14.getJSONObject(var16 + "");
|
|
|
var15.put(var16 + "", var17);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (var8 > 1) {
|
|
|
for (var16 = 1; var16 <= var8 - 1; ++var16) {
|
|
|
var17 = JSONObject.parseObject(JSONObject.toJSONString(var14), new Feature[]{Feature.OrderedField});
|
|
|
|
|
|
for (int var18 = var6; var18 <= var7; ++var18) {
|
|
|
JSONObject var19 = (JSONObject) var17.get(var18);
|
|
|
String var20 = var19.getString("text");
|
|
|
int var21 = (var7 - var6 + 1) * var16 + var18;
|
|
|
if (oConvertUtils.isNotEmpty(var20) && var20.indexOf("_index") <= -1 && var20.indexOf("${") > -1) {
|
|
|
var19.put("text", var20.replace("}", var16 + "}"));
|
|
|
var15.put(var21 + "", var19);
|
|
|
} else {
|
|
|
var15.put(var21 + "", var19);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var13.put("cells", var15);
|
|
|
Object var22 = var12.get("height");
|
|
|
if (oConvertUtils.isNotEmpty(var22)) {
|
|
|
var13.put("height", var22);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var9.append(JSONUtils.toJSONString(var13));
|
|
|
if (var11 < var4) {
|
|
|
var9.append(",");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var9.append(String.format("<#if %s_has_next>,</#if>", var10));
|
|
|
var9.append("</#list>");
|
|
|
var9.append("}");
|
|
|
return var9.toString();
|
|
|
}
|
|
|
|
|
|
public JSONObject render(RenderInfo renderInfo, JSONObject rows) {
|
|
|
JSONObject var3 = new JSONObject(true);
|
|
|
Map var4 = renderInfo.getReport().getDataList();
|
|
|
JSONArray var5 = renderInfo.getLoopBlockList();
|
|
|
Integer var6 = 0;
|
|
|
Iterator var7 = var5.iterator();
|
|
|
|
|
|
JSONObject var9;
|
|
|
Integer var10;
|
|
|
Integer var11;
|
|
|
Integer var12;
|
|
|
ReportDbInfo var27;
|
|
|
do {
|
|
|
if (!var7.hasNext()) {
|
|
|
return rows;
|
|
|
}
|
|
|
|
|
|
Object var8 = var7.next();
|
|
|
var9 = (JSONObject) var8;
|
|
|
var10 = var9.getInteger("sri");
|
|
|
var11 = var9.getInteger("eri");
|
|
|
var12 = oConvertUtils.getInt(var9.getInteger("loopTime"), 1);
|
|
|
if (var10 > 0) {
|
|
|
for (int var13 = 0; var13 < var10; ++var13) {
|
|
|
Object var14 = rows.get(var13);
|
|
|
if (oConvertUtils.isNotEmpty(var14)) {
|
|
|
var3.put(var13 + "", var14);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
String var26 = var9.getString("db");
|
|
|
var27 = (ReportDbInfo) var4.get(var26);
|
|
|
} while (!oConvertUtils.isNotEmpty(var27));
|
|
|
|
|
|
Object var15 = this.getData(var27);
|
|
|
HashMap var16 = new HashMap(5);
|
|
|
if (oConvertUtils.isNotEmpty(var15) && var15 instanceof List) {
|
|
|
List var17 = (List) var15;
|
|
|
if (var12 > 1) {
|
|
|
int var18 = 0;
|
|
|
ArrayList var19 = new ArrayList();
|
|
|
JSONObject var20 = new JSONObject();
|
|
|
Iterator var21 = var17.iterator();
|
|
|
|
|
|
while (true) {
|
|
|
if (!var21.hasNext()) {
|
|
|
var15 = var19;
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
JSONObject var22 = (JSONObject) var21.next();
|
|
|
if (var18 % var12 == 0) {
|
|
|
var20 = new JSONObject();
|
|
|
var20.put("idx", var18 + 1);
|
|
|
var20.putAll(var22);
|
|
|
var19.add(var20);
|
|
|
} else {
|
|
|
Iterator var23 = var22.entrySet().iterator();
|
|
|
|
|
|
while (var23.hasNext()) {
|
|
|
Entry var24 = (Entry) var23.next();
|
|
|
String var25 = var24.getKey().toString();
|
|
|
var20.put("idx" + var18 % var12, var18 + 1);
|
|
|
var20.put(var25 + var18 % var12, var24.getValue());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
++var18;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var16.put("list", var15);
|
|
|
}
|
|
|
|
|
|
String var28 = this.a(var9, rows, var10, var11);
|
|
|
String var29 = FreeMarkerUtils.a(var28, var16);
|
|
|
JSONObject var30 = JSONObject.parseObject(var29, new Feature[]{Feature.OrderedField});
|
|
|
Iterator var31 = rows.entrySet().iterator();
|
|
|
|
|
|
while (var31.hasNext()) {
|
|
|
Entry var32 = (Entry) var31.next();
|
|
|
Object var33 = var32.getValue();
|
|
|
if (var33 instanceof JSONObject) {
|
|
|
Integer var34 = Integer.parseInt(var32.getKey().toString());
|
|
|
if (var34 > var11) {
|
|
|
var6 = var30.size() + var10;
|
|
|
var30.put(var6.toString(), var33);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var3.putAll(var30);
|
|
|
return var3;
|
|
|
}
|
|
|
|
|
|
public Object getData(ReportDbInfo reportDbInfo) {
|
|
|
return reportDbInfo.getList();
|
|
|
}
|
|
|
}
|
|
|
|
...
|
...
|
|