【fix sonar】cgreport文件夹

This commit is contained in:
梁琦涛
2023-03-14 09:49:13 +08:00
parent 3cafdb4958
commit 2428de24ac
16 changed files with 324 additions and 385 deletions
@@ -2,37 +2,7 @@
package com.jero.generater.modules.online.cgreport.constant;
public class CgReportConstant {
public static final String a = "main";
public static final String b = "items";
public static final String c = "params";
public static final String d = "config_id";
public static final String e = "config_name";
public static final String f = "config_fieldList";
public static final String g = "config_queryList";
public static final String h = "config_params";
public static final String i = "field_dictlist";
public static final String j = "t_s_type";
public static final String k = "t_s_typegroup";
public static final String l = "cgreport_sql";
public static final String m = "dict_code";
public static final String n = "replace_value";
public static final String o = "field_name";
public static final String p = "search_flag";
public static final String q = "field_type";
public static final String r = "search_mode";
public static final String s = "Y";
public static final String t = "N";
public static final String u = " = ";
public static final String v = " >= ";
public static final String w = " <= ";
public static final String x = " LIKE ";
public static final String y = "Date";
public static final String z = "String";
public static final String A = "Integer";
public static final String B = "Double";
public static final String C = "config_iframe";
public static final String D = "popup_param_pre__";
public CgReportConstant() {
private CgReportConstant() {
}
}
@@ -6,24 +6,6 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.PermissionData;
import com.jero.common.exception.JeroBootException;
@@ -35,21 +17,29 @@ import com.jero.common.util.oConvertUtils;
import com.jero.generater.modules.online.cgreport.entity.OnlCgreportHead;
import com.jero.generater.modules.online.cgreport.entity.OnlCgreportItem;
import com.jero.generater.modules.online.cgreport.entity.OnlCgreportParam;
import com.jero.generater.modules.online.cgreport.mapper.OnlCgreportHeadMapper;
import com.jero.generater.modules.online.cgreport.service.IOnlCgreportItemService;
import com.jero.generater.modules.online.cgreport.service.IOnlCgreportParamService;
import com.jero.generater.modules.online.cgreport.service.a.OnlCgreportHeadServiceImpl;
import com.jero.generater.modules.online.cgreport.util.SqlUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.jeecgframework.poi.excel.ExcelExportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.*;
import java.util.Map.Entry;
@RestController("onlCgreportAPI")
@RequestMapping({"/online/cgreport/api"})
@@ -65,36 +55,47 @@ public class OnlCgreportAPI {
@Autowired
private IOnlCgreportParamService onlCgreportParamService;
public OnlCgreportAPI() {
}
private static final String EN_IS_NULL = "实体不存在";
private static final String CGR_HEAD_ID = "cgrhead_id";
private static final String IS_SHOW = "is_show";
private static final String ORDER_NUM = "order_num";
private static final String TITLE = "title";
private static final String DATA_INDEX = "dataIndex";
private static final String ALIGN = "align";
private static final String CENTER = "center";
private static final String SORTER = "sorter";
private static final String CUSTOM_RENDER = "customRender";
private static final String COLUMNS = "columns";
private static final String DICT_OPTIONS = "dictOptions";
private static final String GET_ALL = "getAll";
@GetMapping({"/getColumnsAndData/{code}"})
@PermissionData
public Result<?> a(@PathVariable("code") String var1, HttpServletRequest var2) {
OnlCgreportHead var3 = (OnlCgreportHead)this.onlCgreportHeadService.getById(var1);
public Result a(@PathVariable("code") String var1, HttpServletRequest var2) {
OnlCgreportHead var3 = this.onlCgreportHeadService.getById(var1);
if (var3 == null) {
return Result.error("实体不存在");
return Result.error(EN_IS_NULL);
} else {
Result var4 = this.b(var1, var2);
if (var4.getCode().equals(200)) {
JSONObject var5 = JSON.parseObject(JSONObject.toJSONString(var4.getResult()));
JSONObject var5 = JSON.parseObject(JSON.toJSONString(var4.getResult()));
JSONArray var6 = var5.getJSONArray("records");
QueryWrapper var7 = new QueryWrapper();
((QueryWrapper)((QueryWrapper)var7.eq("cgrhead_id", var1)).eq("is_show", 1)).orderByAsc("order_num");
List var8 = this.onlCgreportItemService.list(var7);
QueryWrapper<OnlCgreportItem> var7 = new QueryWrapper<>();
var7.eq(CGR_HEAD_ID, var1).eq(IS_SHOW, 1).orderByAsc(ORDER_NUM);
List<OnlCgreportItem> var8 = this.onlCgreportItemService.list(var7);
HashMap var9 = new HashMap();
JSONArray var10 = new JSONArray();
JSONArray var11 = new JSONArray();
boolean var12 = false;
Iterator var13 = var8.iterator();
while(var13.hasNext()) {
OnlCgreportItem var14 = (OnlCgreportItem)var13.next();
for (OnlCgreportItem var14 : var8) {
JSONObject var15 = new JSONObject(4);
var15.put("title", var14.getFieldTxt());
var15.put("dataIndex", var14.getFieldName());
var15.put("align", "center");
var15.put("sorter", "true");
var15.put(TITLE, var14.getFieldTxt());
var15.put(DATA_INDEX, var14.getFieldName());
var15.put(ALIGN, CENTER);
var15.put(SORTER, "true");
var15.put("isTotal", var14.getIsTotal());
var15.put("groupTitle", var14.getGroupTitle());
if (oConvertUtils.isNotEmpty(var14.getGroupTitle())) {
@@ -105,7 +106,7 @@ public class OnlCgreportAPI {
if (StringUtils.isNotBlank(var14.getFieldHref())) {
var16 = "fieldHref_" + var14.getFieldName();
JSONObject var17 = new JSONObject();
var17.put("customRender", var16);
var17.put(CUSTOM_RENDER, var16);
var15.put("scopedSlots", var17);
JSONObject var18 = new JSONObject();
var18.put("slotName", var16);
@@ -118,14 +119,14 @@ public class OnlCgreportAPI {
List var20 = this.a(var16, var6, var14.getFieldName());
if (var20 != null) {
var9.put(var14.getFieldName(), var20);
var15.put("customRender", var14.getFieldName());
var15.put(CUSTOM_RENDER, var14.getFieldName());
}
}
HashMap var19 = new HashMap(3);
var19.put("data", var4.getResult());
var19.put("columns", var11);
var19.put("dictOptions", var9);
var19.put(COLUMNS, var11);
var19.put(DICT_OPTIONS, var9);
var19.put("fieldHrefSlots", var10);
var19.put("cgreportHeadName", var3.getName());
var19.put("isGroupTitle", var12);
@@ -137,9 +138,9 @@ public class OnlCgreportAPI {
}
private List<DictModel> a(String var1, JSONArray var2, String var3) {
List var4 = null;
List<DictModel> var4 = null;
if (oConvertUtils.isNotEmpty(var1)) {
if (var1.trim().toLowerCase().indexOf("select ") == 0 && (var3 == null || var2.size() > 0)) {
if (var1.trim().toLowerCase().indexOf("select ") == 0 && (var3 == null || !var2.isEmpty())) {
var1 = var1.trim();
int var5 = var1.lastIndexOf(";");
if (var5 == var1.length() - 1) {
@@ -149,7 +150,7 @@ public class OnlCgreportAPI {
String var6 = "SELECT * FROM (" + var1 + ") temp ";
String var12;
if (var2 != null) {
ArrayList var7 = new ArrayList();
ArrayList<String> var7 = new ArrayList<>();
for(int var8 = 0; var8 < var2.size(); ++var8) {
JSONObject var9 = var2.getJSONObject(var8);
@@ -163,8 +164,8 @@ public class OnlCgreportAPI {
var6 = var6 + "WHERE temp.value IN (" + var12 + ")";
}
List var11 = ((OnlCgreportHeadMapper)this.onlCgreportHeadService.getBaseMapper()).executeSelete(var6);
if (var11 != null && var11.size() != 0) {
List var11 = this.onlCgreportHeadService.getBaseMapper().executeSelete(var6);
if (var11 != null && !var11.isEmpty()) {
var12 = JSON.toJSONString(var11);
var4 = JSON.parseArray(var12, DictModel.class);
}
@@ -179,15 +180,15 @@ public class OnlCgreportAPI {
/** @deprecated */
@Deprecated
@GetMapping({"/getColumns/{code}"})
public Result<?> a(@PathVariable("code") String var1) {
OnlCgreportHead var2 = (OnlCgreportHead)this.onlCgreportHeadService.getById(var1);
public Result a(@PathVariable("code") String var1) {
OnlCgreportHead var2 = this.onlCgreportHeadService.getById(var1);
if (var2 == null) {
return Result.error("实体不存在");
return Result.error(EN_IS_NULL);
} else {
QueryWrapper var3 = new QueryWrapper();
var3.eq("cgrhead_id", var1);
var3.eq("is_show", 1);
var3.orderByAsc("order_num");
var3.eq(CGR_HEAD_ID, var1);
var3.eq(IS_SHOW, 1);
var3.orderByAsc(ORDER_NUM);
List var4 = this.onlCgreportItemService.list(var3);
ArrayList var5 = new ArrayList();
HashMap var6 = new HashMap();
@@ -196,17 +197,17 @@ public class OnlCgreportAPI {
while(var7.hasNext()) {
OnlCgreportItem var8 = (OnlCgreportItem)var7.next();
HashMap var9 = new HashMap(3);
var9.put("title", var8.getFieldTxt());
var9.put("dataIndex", var8.getFieldName());
var9.put("align", "center");
var9.put("sorter", "true");
var9.put(TITLE, var8.getFieldTxt());
var9.put(DATA_INDEX, var8.getFieldName());
var9.put(ALIGN, CENTER);
var9.put(SORTER, "true");
var5.add(var9);
String var10 = var8.getDictCode();
if (oConvertUtils.isNotEmpty(var10)) {
List var11 = null;
if (var10.toLowerCase().indexOf("select ") == 0) {
List var12 = ((OnlCgreportHeadMapper)this.onlCgreportHeadService.getBaseMapper()).executeSelete(var10);
if (var12 != null && var12.size() != 0) {
List var12 = this.onlCgreportHeadService.getBaseMapper().executeSelete(var10);
if (var12 != null && !var12.isEmpty()) {
String var13 = JSON.toJSONString(var12);
var11 = JSON.parseArray(var13, DictModel.class);
}
@@ -216,14 +217,14 @@ public class OnlCgreportAPI {
if (var11 != null) {
var6.put(var8.getFieldName(), var11);
var9.put("customRender", var8.getFieldName());
var9.put(CUSTOM_RENDER, var8.getFieldName());
}
}
}
HashMap var14 = new HashMap(1);
var14.put("columns", var5);
var14.put("dictOptions", var6);
var14.put(COLUMNS, var5);
var14.put(DICT_OPTIONS, var6);
var14.put("cgreportHeadName", var2.getName());
return Result.OK(var14);
}
@@ -231,17 +232,17 @@ public class OnlCgreportAPI {
@GetMapping({"/getData/{code}"})
@PermissionData
public Result<?> b(@PathVariable("code") String var1, HttpServletRequest var2) {
OnlCgreportHead var3 = (OnlCgreportHead)this.onlCgreportHeadService.getById(var1);
public Result b(@PathVariable("code") String var1, HttpServletRequest var2) {
OnlCgreportHead var3 = this.onlCgreportHeadService.getById(var1);
if (var3 == null) {
return Result.error("实体不存在");
return Result.error(EN_IS_NULL);
} else {
String var4 = var3.getCgrSql().trim();
String var5 = var3.getDbSource();
try {
Map var6 = SqlUtil.a(var2);
var6.put("getAll", var2.getAttribute("getAll"));
var6.put(GET_ALL, var2.getAttribute(GET_ALL));
Map var7;
if (StringUtils.isNotBlank(var5)) {
log.debug("Online报表: 走了多数据源逻辑");
@@ -260,7 +261,7 @@ public class OnlCgreportAPI {
}
@GetMapping({"/getQueryInfo/{code}"})
public Result<?> b(@PathVariable("code") String var1) {
public Result b(@PathVariable("code") String var1) {
try {
List var2 = this.onlCgreportItemService.getAutoListQueryInfo(var1);
return Result.OK(var2);
@@ -271,7 +272,7 @@ public class OnlCgreportAPI {
}
@GetMapping({"/getParamsInfo/{code}"})
public Result<?> c(@PathVariable("code") String var1) {
public Result c(@PathVariable("code") String var1) {
try {
LambdaQueryWrapper<OnlCgreportParam> var2 = new LambdaQueryWrapper();
var2.eq(OnlCgreportParam::getCgrheadId, var1);
@@ -300,7 +301,7 @@ public class OnlCgreportAPI {
}
List var7 = (List)var6.get("items");
var2.setAttribute("getAll", true);
var2.setAttribute(GET_ALL, true);
Result var8 = this.b(var1, var2);
List var9 = null;
if (var8.getCode().equals(200)) {
@@ -315,13 +316,13 @@ public class OnlCgreportAPI {
String var15;
for(int var14 = 0; var14 < var7.size(); ++var14) {
if ("1".equals(oConvertUtils.getString(((Map)var7.get(var14)).get("is_show")))) {
if ("1".equals(oConvertUtils.getString(((Map)var7.get(var14)).get(IS_SHOW)))) {
var15 = ((Map)var7.get(var14)).get("field_name").toString();
ExcelExportEntity var16 = new ExcelExportEntity(((Map)var7.get(var14)).get("field_txt").toString(), var15, 15);
Object var17 = ((Map)var7.get(var14)).get("dict_code");
JSONArray var18 = JSONObject.parseArray(JSONObject.toJSONString(var9));
JSONArray var18 = JSON.parseArray(JSON.toJSONString(var9));
List var19 = this.a(oConvertUtils.getString(var17), var18, var15);
if (var19 != null && var19.size() > 0) {
if (var19 != null && !var19.isEmpty()) {
ArrayList var20 = new ArrayList();
Iterator var21 = var19.iterator();
@@ -342,7 +343,7 @@ public class OnlCgreportAPI {
String var52 = ((Map)var7.get(var14)).get("group_title").toString();
Object var53 = new ArrayList();
if (var12.containsKey(var52)) {
var53 = (List)var12.get(var52);
var53 = var12.get(var52);
((List)var53).add(var15);
} else {
ExcelExportEntity var23 = new ExcelExportEntity(var52, var52, true);
@@ -379,8 +380,8 @@ public class OnlCgreportAPI {
}
}
if (var36 != null && var36.size() > 0) {
BigDecimal var38 = new BigDecimal(0.0D);
if (!var36.isEmpty()) {
BigDecimal var38 = BigDecimal.valueOf(0.0D);
Iterator var40 = var36.iterator();
while(var40.hasNext()) {
@@ -410,7 +411,7 @@ public class OnlCgreportAPI {
if ("MSIE".equalsIgnoreCase(var15.substring(0, 4))) {
var3.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(var4, "UTF-8") + ".xls");
} else {
var42 = new String(var4.getBytes("UTF-8"), "ISO8859-1");
var42 = new String(var4.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
var3.setHeader("content-disposition", "attachment;filename=" + var42 + ".xls");
}
@@ -418,11 +419,12 @@ public class OnlCgreportAPI {
var41 = var3.getOutputStream();
var44.write(var41);
} catch (Exception var33) {
log.error("异常",var33);
} finally {
try {
var41.flush();
var41.close();
if(var41 != null){var41.flush();var41.close();}
} catch (Exception var32) {
log.error("异常",var32);
}
}
@@ -431,44 +433,44 @@ public class OnlCgreportAPI {
}
@GetMapping({"/getRpColumns/{code}"})
public Result<?> d(@PathVariable("code") String var1) {
LambdaQueryWrapper<OnlCgreportHead> var2 = new LambdaQueryWrapper();
public Result d(@PathVariable("code") String var1) {
LambdaQueryWrapper<OnlCgreportHead> var2 = new LambdaQueryWrapper<>();
var2.eq(OnlCgreportHead::getCode, var1);
OnlCgreportHead var3 = (OnlCgreportHead)this.onlCgreportHeadService.getOne(var2);
OnlCgreportHead var3 = this.onlCgreportHeadService.getOne(var2);
if (var3 == null) {
return Result.error("实体不存在");
return Result.error(EN_IS_NULL);
} else {
QueryWrapper var4 = new QueryWrapper();
var4.eq("cgrhead_id", var3.getId());
var4.eq("is_show", 1);
var4.orderByAsc("order_num");
List var5 = this.onlCgreportItemService.list(var4);
QueryWrapper var4 = new QueryWrapper<>();
var4.eq(CGR_HEAD_ID, var3.getId());
var4.eq(IS_SHOW, 1);
var4.orderByAsc(ORDER_NUM);
List<OnlCgreportItem> var5 = this.onlCgreportItemService.list(var4);
ArrayList var6 = new ArrayList();
HashMap var7 = new HashMap();
HashMap var10;
for(Iterator var8 = var5.iterator(); var8.hasNext(); var6.add(var10)) {
OnlCgreportItem var9 = (OnlCgreportItem)var8.next();
var10 = new HashMap(3);
var10.put("title", var9.getFieldTxt());
var10.put("dataIndex", var9.getFieldName());
var10.put("align", "center");
for(Iterator<OnlCgreportItem> var8 = var5.iterator(); var8.hasNext(); var6.add(var10)) {
OnlCgreportItem var9 = var8.next();
var10 = new HashMap<>(3);
var10.put(TITLE, var9.getFieldTxt());
var10.put(DATA_INDEX, var9.getFieldName());
var10.put(ALIGN, CENTER);
String var11 = var9.getFieldType();
if ("Integer".equals(var11) || "Date".equals(var11) || "Long".equals(var11)) {
var10.put("sorter", "true");
var10.put(SORTER, "true");
}
String var12 = var9.getDictCode();
if (oConvertUtils.isNotEmpty(var12)) {
List var13 = this.a(var9.getDictCode(), (JSONArray)null, (String)null);
var7.put(var9.getFieldName(), var13);
var10.put("customRender", var9.getFieldName());
var10.put(CUSTOM_RENDER, var9.getFieldName());
}
}
HashMap var14 = new HashMap(1);
var14.put("columns", var6);
var14.put("dictOptions", var7);
HashMap var14 = new HashMap<>(1);
var14.put(COLUMNS, var6);
var14.put(DICT_OPTIONS, var7);
var14.put("cgRpConfigId", var3.getId());
var14.put("cgRpConfigName", var3.getName());
return Result.OK(var14);
@@ -477,12 +479,9 @@ public class OnlCgreportAPI {
@PostMapping({"/testConnection"})
public Result a(@RequestBody DynamicDataSourceModel var1) {
Connection var2 = null;
Result var4;
try {
try (Connection var2 = DriverManager.getConnection(var1.getDbUrl(), var1.getDbUsername(), var1.getDbPassword())){
Class.forName(var1.getDbDriver());
var2 = DriverManager.getConnection(var1.getDbUrl(), var1.getDbUsername(), var1.getDbPassword());
Result var3;
if (var2 == null) {
var3 = Result.OK("数据库连接失败:错误未知");
@@ -498,17 +497,7 @@ public class OnlCgreportAPI {
log.error(var18.toString());
var4 = Result.error("数据库连接失败:" + var18.getMessage());
return var4;
} finally {
try {
if (var2 != null && !var2.isClosed()) {
var2.close();
}
} catch (SQLException var16) {
log.error(var16.toString());
}
}
return var4;
}
}
@@ -52,11 +52,8 @@ public class OnlCgreportHeadController {
@Autowired
private BaseCommonService baseCommonService;
public OnlCgreportHeadController() {
}
@GetMapping({"/parseSql"})
public Result<?> a(@RequestParam(name = "sql") String var1, @RequestParam(name = "dbKey",required = false) String var2) {
public Result a(@RequestParam(name = "sql") String var1, @RequestParam(name = "dbKey",required = false) String var2) {
if (StringUtils.isNotBlank(var2)) {
DynamicDataSourceModel var3 = this.sysBaseAPI.getDynamicDbSourceByCode(var2);
if (var3 == null) {
@@ -64,9 +61,9 @@ public class OnlCgreportHeadController {
}
}
HashMap var13 = new HashMap();
ArrayList var4 = new ArrayList();
ArrayList var5 = new ArrayList();
HashMap var13 = new HashMap<>();
ArrayList var4 = new ArrayList<>();
ArrayList var5 = new ArrayList<>();
List var6 = null;
List var7 = null;
@@ -127,9 +124,9 @@ public class OnlCgreportHeadController {
@GetMapping({"/list"})
public Result<IPage<OnlCgreportHead>> a(OnlCgreportHead var1, @RequestParam(name = "pageNo",defaultValue = "1") Integer var2, @RequestParam(name = "pageSize",defaultValue = "10") Integer var3, HttpServletRequest var4) {
Result var5 = new Result();
Result var5 = new Result<>();
QueryWrapper var6 = QueryGenerator.initQueryWrapper(var1, var4.getParameterMap());
Page var7 = new Page((long)var2, (long)var3);
Page var7 = new Page<>(var2, var3);
IPage var8 = this.onlCgreportHeadService.page(var7, var6);
var5.setSuccess(true);
var5.setResult(var8);
@@ -137,7 +134,7 @@ public class OnlCgreportHeadController {
}
@PostMapping({"/add"})
public Result<?> add(@RequestBody OnlCgreportModel var1) {
public Result add(@RequestBody OnlCgreportModel var1) {
try {
String var3 = CgformUtil.a();
OnlCgreportHead var4 = var1.getHead();
@@ -172,7 +169,7 @@ public class OnlCgreportHeadController {
}
@PutMapping({"/editAll"})
public Result<?> editAll(@RequestBody OnlCgreportModel cgreportModel) {
public Result editAll(@RequestBody OnlCgreportModel cgreportModel) {
try {
return this.onlCgreportHeadService.editAll(cgreportModel);
} catch (Exception e) {
@@ -182,19 +179,19 @@ public class OnlCgreportHeadController {
}
@DeleteMapping({"/delete"})
public Result<?> delete(@RequestParam(name = "id",required = true) String id) {
public Result delete(@RequestParam(name = "id",required = true) String id) {
return this.onlCgreportHeadService.delete(id);
}
@DeleteMapping({"/deleteBatch"})
public Result<?> deleteBatch(@RequestParam(name = "ids",required = true) String ids) {
public Result deleteBatch(@RequestParam(name = "ids",required = true) String ids) {
return this.onlCgreportHeadService.bathDelete(ids.split(","));
}
@GetMapping({"/queryById"})
public Result<OnlCgreportHead> queryById(@RequestParam(name = "id",required = true) String id) {
Result result = new Result();
OnlCgreportHead cgreportHead = (OnlCgreportHead)this.onlCgreportHeadService.getById(id);
OnlCgreportHead cgreportHead = this.onlCgreportHeadService.getById(id);
result.setResult(cgreportHead);
return result;
}
@@ -30,16 +30,13 @@ public class OnlCgreportItemController {
@Autowired
private IOnlCgreportItemService onlCgreportItemService;
public OnlCgreportItemController() {
}
@GetMapping({"/listByHeadId"})
public Result<?> a(@RequestParam("headId") String var1) {
QueryWrapper var2 = new QueryWrapper();
public Result a(@RequestParam("headId") String var1) {
QueryWrapper<OnlCgreportItem> var2 = new QueryWrapper<>();
var2.eq("cgrhead_id", var1);
var2.orderByAsc("order_num");
List var3 = this.onlCgreportItemService.list(var2);
Result var4 = new Result();
List<OnlCgreportItem> var3 = this.onlCgreportItemService.list(var2);
Result var4 = new Result<>();
var4.setSuccess(true);
var4.setResult(var3);
return var4;
@@ -47,43 +44,43 @@ public class OnlCgreportItemController {
@GetMapping({"/list"})
public Result<IPage<OnlCgreportItem>> a(OnlCgreportItem var1, @RequestParam(name = "pageNo",defaultValue = "1") Integer var2, @RequestParam(name = "pageSize",defaultValue = "10") Integer var3, HttpServletRequest var4) {
Result var5 = new Result();
QueryWrapper var6 = QueryGenerator.initQueryWrapper(var1, var4.getParameterMap());
Page var7 = new Page((long)var2, (long)var3);
IPage var8 = this.onlCgreportItemService.page(var7, var6);
Result var5 = new Result<>();
QueryWrapper<OnlCgreportItem> var6 = QueryGenerator.initQueryWrapper(var1, var4.getParameterMap());
Page<OnlCgreportItem> var7 = new Page<>(var2, var3);
IPage<OnlCgreportItem> var8 = this.onlCgreportItemService.page(var7, var6);
var5.setSuccess(true);
var5.setResult(var8);
return var5;
}
@PostMapping({"/add"})
public Result<?> a(@RequestBody OnlCgreportItem var1) {
public Result a(@RequestBody OnlCgreportItem var1) {
this.onlCgreportItemService.save(var1);
return Result.OK("操作成功!");
}
@PutMapping({"/edit"})
public Result<?> b(@RequestBody OnlCgreportItem var1) {
public Result b(@RequestBody OnlCgreportItem var1) {
this.onlCgreportItemService.updateById(var1);
return Result.OK("操作成功!");
}
@DeleteMapping({"/delete"})
public Result<?> b(@RequestParam(name = "id",required = true) String var1) {
public Result b(@RequestParam(name = "id",required = true) String var1) {
this.onlCgreportItemService.removeById(var1);
return Result.OK("删除成功!");
}
@DeleteMapping({"/deleteBatch"})
public Result<?> c(@RequestParam(name = "ids",required = true) String var1) {
public Result c(@RequestParam(name = "ids",required = true) String var1) {
this.onlCgreportItemService.removeByIds(Arrays.asList(var1.split(",")));
return Result.OK("批量删除成功!");
}
@GetMapping({"/queryById"})
public Result<OnlCgreportItem> d(@RequestParam(name = "id",required = true) String var1) {
Result var2 = new Result();
OnlCgreportItem var3 = (OnlCgreportItem)this.onlCgreportItemService.getById(var1);
Result var2 = new Result<>();
OnlCgreportItem var3 = this.onlCgreportItemService.getById(var1);
var2.setResult(var3);
var2.setSuccess(true);
return var2;
@@ -30,16 +30,14 @@ public class OnlCgreportParamController {
@Autowired
private IOnlCgreportParamService onlCgreportParamService;
public OnlCgreportParamController() {
}
@GetMapping({"/listByHeadId"})
public Result<?> a(@RequestParam("headId") String var1) {
QueryWrapper var2 = new QueryWrapper();
public Result a(@RequestParam("headId") String var1) {
QueryWrapper<OnlCgreportParam> var2 = new QueryWrapper<>();
var2.eq("cgrhead_id", var1);
var2.orderByAsc("order_num");
List var3 = this.onlCgreportParamService.list(var2);
Result var4 = new Result();
List<OnlCgreportParam> var3 = this.onlCgreportParamService.list(var2);
Result var4 = new Result<>();
var4.setSuccess(true);
var4.setResult(var3);
return var4;
@@ -47,35 +45,35 @@ public class OnlCgreportParamController {
@GetMapping({"/list"})
public Result<IPage<OnlCgreportParam>> a(OnlCgreportParam var1, @RequestParam(name = "pageNo",defaultValue = "1") Integer var2, @RequestParam(name = "pageSize",defaultValue = "10") Integer var3, HttpServletRequest var4) {
Result var5 = new Result();
QueryWrapper var6 = QueryGenerator.initQueryWrapper(var1, var4.getParameterMap());
Page var7 = new Page((long)var2, (long)var3);
IPage var8 = this.onlCgreportParamService.page(var7, var6);
Result var5 = new Result<>();
QueryWrapper<OnlCgreportParam> var6 = QueryGenerator.initQueryWrapper(var1, var4.getParameterMap());
Page<OnlCgreportParam> var7 = new Page<>(var2, var3);
IPage<OnlCgreportParam> var8 = this.onlCgreportParamService.page(var7, var6);
var5.setSuccess(true);
var5.setResult(var8);
return var5;
}
@PostMapping({"/add"})
public Result<?> a(@RequestBody OnlCgreportParam var1) {
public Result a(@RequestBody OnlCgreportParam var1) {
this.onlCgreportParamService.save(var1);
return Result.OK("操作成功!");
}
@PutMapping({"/edit"})
public Result<?> b(@RequestBody OnlCgreportParam var1) {
public Result b(@RequestBody OnlCgreportParam var1) {
this.onlCgreportParamService.updateById(var1);
return Result.OK("操作成功!");
}
@DeleteMapping({"/delete"})
public Result<?> b(@RequestParam(name = "id",required = true) String var1) {
public Result b(@RequestParam(name = "id",required = true) String var1) {
this.onlCgreportParamService.removeById(var1);
return Result.OK("删除成功!");
}
@DeleteMapping({"/deleteBatch"})
public Result<?> c(@RequestParam(name = "ids",required = true) String var1) {
public Result c(@RequestParam(name = "ids",required = true) String var1) {
this.onlCgreportParamService.removeByIds(Arrays.asList(var1.split(",")));
return Result.OK("批量删除成功!");
}
@@ -83,7 +81,7 @@ public class OnlCgreportParamController {
@GetMapping({"/queryById"})
public Result<OnlCgreportParam> d(@RequestParam(name = "id",required = true) String var1) {
Result var2 = new Result();
OnlCgreportParam var3 = (OnlCgreportParam)this.onlCgreportParamService.getById(var1);
OnlCgreportParam var3 = this.onlCgreportParamService.getById(var1);
var2.setResult(var3);
return var2;
}
@@ -49,9 +49,6 @@ public class OnlCgreportHead implements Serializable {
private Date createTime;
private String createBy;
public OnlCgreportHead() {
}
public String getId() {
return this.id;
}
@@ -50,9 +50,6 @@ public class OnlCgreportItem implements Serializable {
private Date updateTime;
private String groupTitle;
public OnlCgreportItem() {
}
public String getId() {
return this.id;
}
@@ -40,9 +40,6 @@ public class OnlCgreportParam implements Serializable {
)
private Date updateTime;
public OnlCgreportParam() {
}
public String getId() {
return this.id;
}
@@ -14,9 +14,6 @@ public class OnlCgreportModel {
private List<OnlCgreportItem> items;
private String deleteItemIds;
public OnlCgreportModel() {
}
public OnlCgreportHead getHead() {
return this.head;
}
@@ -10,11 +10,11 @@ import com.jero.generater.modules.online.cgreport.entity.OnlCgreportHead;
import com.jero.generater.modules.online.cgreport.model.OnlCgreportModel;
public interface IOnlCgreportHeadService extends IService<OnlCgreportHead> {
Result<?> editAll(OnlCgreportModel var1);
Result editAll(OnlCgreportModel var1);
Result<?> delete(String var1);
Result delete(String var1);
Result<?> bathDelete(String[] var1);
Result bathDelete(String[] var1);
Map<String, Object> executeSelectSql(String var1, String var2, Map<String, Object> var3) throws SQLException;
@@ -6,6 +6,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.jero.common.exception.JeroBootException;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
@@ -24,15 +25,13 @@ import org.springframework.stereotype.Service;
@Slf4j
public class CgReportExcelServiceImpl implements CgReportExcelServiceI {
public CgReportExcelServiceImpl() {
}
@Override
public HSSFWorkbook exportExcel(String title, Collection<?> titleSet, Collection<?> dataSet) {
HSSFWorkbook var4 = null;
try {
if (titleSet == null || titleSet.size() == 0) {
throw new Exception("读取表头失败!");
if (titleSet == null || titleSet.isEmpty()) {
throw new JeroBootException("读取表头失败!");
}
if (title == null) {
@@ -8,16 +8,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
@@ -59,9 +55,14 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
@Autowired
private ISysBaseAPI sysBaseAPI;
public OnlCgreportHeadServiceImpl() {
}
private static final String ORDER_S_BY = " order\\s+by ";
private static final String SQL_SERVER_NOT_ORDER = "SqlServer不支持SQL内排序!";
private static final String COLUMN = "column";
private static final String ORDER = "order";
private static final String TOTAL = "total";
@Override
public Map<String, Object> executeSelectSql(String sql, String onlCgreportHeadId, Map<String, Object> params) throws SQLException {
String var4 = null;
@@ -71,24 +72,22 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
var19.printStackTrace();
}
LambdaQueryWrapper<OnlCgreportParam> var5 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportParam> var5 = new LambdaQueryWrapper<>();
var5.eq(OnlCgreportParam::getCgrheadId, onlCgreportHeadId);
List var6 = this.onlCgreportParamService.list(var5);
if (var6 != null && var6.size() > 0) {
Iterator var7 = var6.iterator();
List<OnlCgreportParam> var6 = this.onlCgreportParamService.list(var5);
if (var6 != null && !var6.isEmpty()) {
while(var7.hasNext()) {
OnlCgreportParam var8 = (OnlCgreportParam)var7.next();
for (OnlCgreportParam var8 : var6) {
Object var9 = params.get("self_" + var8.getParamName());
String var10 = "";
if (var9 != null) {
var10 = var9.toString();
} else if (var9 == null && oConvertUtils.isNotEmpty(var8.getParamValue())) {
} else if (oConvertUtils.isNotEmpty(var8.getParamValue())) {
var10 = var8.getParamValue();
}
String var11 = "${" + var8.getParamName() + "}";
if (sql.indexOf(var11) > 0) {
if (sql.contains(var11)) {
if (var10 != null && var10.startsWith("'") && var10.endsWith("'")) {
var10 = var10.substring(1, var10.length() - 1);
}
@@ -100,74 +99,73 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
}
}
HashMap var20 = new HashMap();
HashMap var20 = new HashMap<>();
Integer var21 = oConvertUtils.getInt(params.get("pageSize"), 10);
Integer var22 = oConvertUtils.getInt(params.get("pageNo"), 1);
Page var24 = new Page((long)var22, (long)var21);
LambdaQueryWrapper<OnlCgreportItem> var23 = new LambdaQueryWrapper();
Page var24 = new Page<>(var22, var21);
LambdaQueryWrapper<OnlCgreportItem> var23 = new LambdaQueryWrapper<>();
var23.eq(OnlCgreportItem::getCgrheadId, onlCgreportHeadId);
var23.eq(OnlCgreportItem::getIsSearch, 1);
List var12 = this.onlCgreportItemService.list(var23);
List<OnlCgreportItem> var12 = this.onlCgreportItemService.list(var23);
String var13 = "jero_rp_temp.";
String var14 = CgReportQueryParamUtil.a(var12, params, var13, (String)null);
if (ReUtil.contains(" order\\s+by ", sql.toLowerCase()) && "SQLSERVER".equalsIgnoreCase(var4)) {
throw new JeroBootException("SqlServer不支持SQL内排序!");
String var14 = CgReportQueryParamUtil.a(var12, params, var13, null);
if (ReUtil.contains(ORDER_S_BY, sql.toLowerCase()) && "SQLSERVER".equalsIgnoreCase(var4)) {
throw new JeroBootException(SQL_SERVER_NOT_ORDER);
} else {
String var15 = "select * from (" + sql + ") jero_rp_temp where 1=1 " + var14;
var15 = SqlUtil.b(var15);
Object var16 = params.get("column");
Object var16 = params.get(COLUMN);
if (var16 != null) {
var15 = var15 + " order by jero_rp_temp." + var16.toString() + " " + params.get("order").toString();
var15 = var15 + " order by jero_rp_temp." + var16.toString() + " " + params.get(ORDER).toString();
}
log.info("报表查询sql=>\r\n" + var15);
Object var17;
if (Boolean.valueOf(String.valueOf(params.get("getAll")))) {
List var18 = this.mapper.executeSelect(var15);
var17 = new Page();
List<Map<String, Object>> var18 = this.mapper.executeSelect(var15);
var17 = new Page<>();
((IPage)var17).setRecords(var18);
((IPage)var17).setTotal((long)var18.size());
((IPage)var17).setTotal(var18.size());
} else {
var17 = this.mapper.selectPageBySql(var24, var15);
}
var20.put("total", ((IPage)var17).getTotal());
var20.put(TOTAL, ((IPage)var17).getTotal());
var20.put("records", CgformUtil.d(((IPage)var17).getRecords()));
return var20;
}
}
@Override
public Map<String, Object> executeSelectSqlDynamic(String dbKey, String sql, Map<String, Object> params, String onlCgreportHeadId) {
DynamicDataSourceModel var5 = DataSourceCachePool.getCacheDynamicDataSourceModel(dbKey);
String var6 = (String)params.get("order");
String var7 = (String)params.get("column");
int var8 = oConvertUtils.getInt(params.get("pageNo"), 1);
int var9 = oConvertUtils.getInt(params.get("pageSize"), 10);
log.info("【Online多数据源逻辑】报表查询参数params: " + JSON.toJSONString(params));
LambdaQueryWrapper<OnlCgreportParam> var10 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportParam> var10 = new LambdaQueryWrapper<>();
var10.eq(OnlCgreportParam::getCgrheadId, onlCgreportHeadId);
List var11 = this.onlCgreportParamService.list(var10);
OnlCgreportParam var13;
String var15;
if (var11 != null && var11.size() > 0) {
if (var11 != null && !var11.isEmpty()) {
for(Iterator var12 = var11.iterator(); var12.hasNext(); sql = sql.replace("${" + var13.getParamName() + "}", var15)) {
var13 = (OnlCgreportParam)var12.next();
Object var14 = params.get("self_" + var13.getParamName());
var15 = "";
if (var14 != null) {
var15 = var14.toString();
} else if (var14 == null && oConvertUtils.isNotEmpty(var13.getParamValue())) {
} else if (oConvertUtils.isNotEmpty(var13.getParamValue())) {
var15 = var13.getParamValue();
}
}
}
LambdaQueryWrapper<OnlCgreportItem> var24 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportItem> var24 = new LambdaQueryWrapper<>();
var24.eq(OnlCgreportItem::getCgrheadId, onlCgreportHeadId);
var24.eq(OnlCgreportItem::getIsSearch, 1);
List var25 = this.onlCgreportItemService.list(var24);
if (ReUtil.contains(" order\\s+by ", sql.toLowerCase()) && "3".equalsIgnoreCase(var5.getDbType())) {
throw new JeroBootException("SqlServer不支持SQL内排序!");
if (ReUtil.contains(ORDER_S_BY, sql.toLowerCase()) && "3".equalsIgnoreCase(var5.getDbType())) {
throw new JeroBootException(SQL_SERVER_NOT_ORDER);
} else {
String var26 = "jero_rp_temp.";
var15 = DataBaseEnum.getDataBaseNameByValue(var5.getDbType());
@@ -175,9 +173,9 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
String var17 = "select * from (" + sql + ") jero_rp_temp where 1=1 " + var16;
var17 = SqlUtil.b(var17);
String var18 = SqlUtils.getCountSql(var17);
Object var19 = params.get("column");
Object var19 = params.get(COLUMN);
if (var19 != null) {
var17 = var17 + " order by jero_rp_temp." + var19.toString() + " " + params.get("order").toString();
var17 = var17 + " order by jero_rp_temp." + var19.toString() + " " + params.get(ORDER).toString();
}
String var20 = var17;
@@ -188,29 +186,30 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
log.info("多数据源 报表查询sql=>querySql: " + var17);
log.info("多数据源 报表查询sql=>pageSQL: " + var20);
log.info("多数据源 报表查询sql=>countSql: " + var18);
HashMap var21 = new HashMap();
HashMap var21 = new HashMap<>();
Map var22 = (Map)DynamicDBUtil.findOne(dbKey, var18, new Object[0]);
var21.put("total", var22.get("total"));
var21.put(TOTAL, var22.get(TOTAL));
List var23 = DynamicDBUtil.findList(dbKey, var20, new Object[0]);
var21.put("records", CgformUtil.d(var23));
return var21;
}
}
@Override
@Transactional(
rollbackFor = {Exception.class}
)
public Result<?> editAll(OnlCgreportModel values) {
OnlCgreportHead var2 = values.getHead();
OnlCgreportHead var3 = (OnlCgreportHead)super.getById(var2.getId());
OnlCgreportHead var3 = super.getById(var2.getId());
if (var3 == null) {
return Result.error("未找到对应实体");
} else {
super.updateById(var2);
LambdaQueryWrapper<OnlCgreportItem> var4 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportItem> var4 = new LambdaQueryWrapper<>();
var4.eq(OnlCgreportItem::getCgrheadId, var2.getId());
this.onlCgreportItemService.remove(var4);
LambdaQueryWrapper<OnlCgreportParam> var5 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportParam> var5 = new LambdaQueryWrapper<>();
var5.eq(OnlCgreportParam::getCgrheadId, var2.getId());
this.onlCgreportParamService.remove(var5);
Iterator var6 = values.getParams().iterator();
@@ -234,16 +233,17 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
}
}
@Override
@Transactional(
rollbackFor = {Exception.class}
)
public Result<?> delete(String id) {
boolean var2 = super.removeById(id);
if (var2) {
LambdaQueryWrapper<OnlCgreportItem> var3 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportItem> var3 = new LambdaQueryWrapper<>();
var3.eq(OnlCgreportItem::getCgrheadId, id);
this.onlCgreportItemService.remove(var3);
LambdaQueryWrapper<OnlCgreportParam> var4 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportParam> var4 = new LambdaQueryWrapper<>();
var4.eq(OnlCgreportParam::getCgrheadId, id);
this.onlCgreportParamService.remove(var4);
}
@@ -251,6 +251,7 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
return Result.OK("删除成功");
}
@Override
@Transactional(
rollbackFor = {Exception.class}
)
@@ -262,10 +263,10 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
String var5 = var2[var4];
boolean var6 = super.removeById(var5);
if (var6) {
LambdaQueryWrapper<OnlCgreportItem> var7 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportItem> var7 = new LambdaQueryWrapper<>();
var7.eq(OnlCgreportItem::getCgrheadId, var5);
this.onlCgreportItemService.remove(var7);
LambdaQueryWrapper<OnlCgreportParam> var8 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportParam> var8 = new LambdaQueryWrapper<>();
var8.eq(OnlCgreportParam::getCgrheadId, var5);
this.onlCgreportParamService.remove(var8);
}
@@ -274,8 +275,9 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
return Result.OK("删除成功");
}
@Override
public List<String> getSqlFields(String sql, String dbKey) throws SQLException {
List var3 = null;
List<String> var3;
if (StringUtils.isNotBlank(dbKey)) {
var3 = this.a(sql, dbKey);
} else {
@@ -285,11 +287,12 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
return var3;
}
@Override
public List<String> getSqlParams(String sql) {
if (oConvertUtils.isEmpty(sql)) {
return null;
return Collections.emptyList();
} else {
ArrayList var2 = new ArrayList();
ArrayList<String> var2 = new ArrayList<>();
String var3 = "\\$\\{\\w+\\}";
Pattern var4 = Pattern.compile(var3);
Matcher var5 = var4.matcher(sql);
@@ -305,7 +308,7 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
private List<String> a(String var1, String var2) throws SQLException {
if (oConvertUtils.isEmpty(var1)) {
return null;
return Collections.emptyList();
} else {
var1 = var1.trim();
if (var1.endsWith(";")) {
@@ -318,8 +321,8 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
if (StringUtils.isNotBlank(var2)) {
log.info("parse sql : " + var1);
DynamicDataSourceModel var4 = DataSourceCachePool.getCacheDynamicDataSourceModel(var2);
if (ReUtil.contains(" order\\s+by ", var1.toLowerCase()) && "3".equalsIgnoreCase(var4.getDbType())) {
throw new JeroBootException("SqlServer不支持SQL内排序!");
if (ReUtil.contains(ORDER_S_BY, var1.toLowerCase()) && "3".equalsIgnoreCase(var4.getDbType())) {
throw new JeroBootException(SQL_SERVER_NOT_ORDER);
}
if ("1".equals(var4.getDbType())) {
@@ -347,13 +350,13 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
var7.printStackTrace();
}
if (ReUtil.contains(" order\\s+by ", var1.toLowerCase()) && "SQLSERVER".equalsIgnoreCase(var8)) {
throw new JeroBootException("SqlServer不支持SQL内排序!");
if (ReUtil.contains(ORDER_S_BY, var1.toLowerCase()) && "SQLSERVER".equalsIgnoreCase(var8)) {
throw new JeroBootException(SQL_SERVER_NOT_ORDER);
}
IPage var9 = this.mapper.selectPageBySql(new Page(1L, 1L), var1);
IPage var9 = this.mapper.selectPageBySql(new Page<>(1L, 1L), var1);
List var6 = var9.getRecords();
if (var6.size() < 1) {
if (var6.isEmpty()) {
throw new JeroBootException("该报表sql没有数据");
}
@@ -368,8 +371,9 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
}
}
@Override
public Map<String, Object> queryCgReportConfig(String reportId) {
HashMap var2 = new HashMap(0);
HashMap var2 = new HashMap<>(0);
Map var3 = this.mapper.queryCgReportMainConfig(reportId);
List var4 = this.mapper.queryCgReportItems(reportId);
List var5 = this.mapper.queryCgReportParams(reportId);
@@ -385,19 +389,17 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
return var2;
}
@Override
public List<Map<?, ?>> queryByCgReportSql(String sql, Map params, Map paramData, int pageNo, int pageSize) {
String var6 = SqlUtil.a(sql, params);
List var7 = null;
if (paramData != null && paramData.size() == 0) {
paramData = null;
}
List var7 = new ArrayList();
if (pageNo == -1 && pageSize == -1) {
var7 = this.mapper.executeSelete(var6);
} else {
Page var8 = new Page((long)pageNo, (long)pageSize);
Page var8 = new Page<>(pageNo, pageSize);
IPage var9 = this.mapper.selectPageBySql(var8, var6);
if (var9.getRecords() != null && var9.getRecords().size() > 0) {
if (!CollectionUtils.isEmpty(var9.getRecords())) {
var7.addAll(var9.getRecords());
}
}
@@ -16,21 +16,20 @@ import org.springframework.stereotype.Service;
@Service("onlCgreportItemServiceImpl")
public class OnlCgreportItemServiceImpl extends ServiceImpl<OnlCgreportItemMapper, OnlCgreportItem> implements IOnlCgreportItemService {
public OnlCgreportItemServiceImpl() {
}
@Override
public List<Map<String, String>> getAutoListQueryInfo(String cgrheadId) {
LambdaQueryWrapper<OnlCgreportItem> var2 = new LambdaQueryWrapper();
LambdaQueryWrapper<OnlCgreportItem> var2 = new LambdaQueryWrapper<>();
var2.eq(OnlCgreportItem::getCgrheadId, cgrheadId);
var2.eq(OnlCgreportItem::getIsSearch, 1);
List var3 = this.list(var2);
ArrayList var4 = new ArrayList();
List<OnlCgreportItem> var3 = this.list(var2);
ArrayList<Map<String, String>> var4 = new ArrayList<>();
int var5 = 0;
HashMap var8;
for(Iterator var6 = var3.iterator(); var6.hasNext(); var4.add(var8)) {
OnlCgreportItem var7 = (OnlCgreportItem)var6.next();
var8 = new HashMap();
HashMap<String, String> var8;
for(Iterator<OnlCgreportItem> var6 = var3.iterator(); var6.hasNext(); var4.add(var8)) {
OnlCgreportItem var7 = var6.next();
var8 = new HashMap<>();
var8.put("label", var7.getFieldTxt());
if (oConvertUtils.isNotEmpty(var7.getDictCode())) {
var8.put("view", "list");
@@ -9,6 +9,5 @@ import org.springframework.stereotype.Service;
@Service("onlCgreportParamServiceImpl")
public class OnlCgreportParamServiceImpl extends ServiceImpl<OnlCgreportParamMapper, OnlCgreportParam> implements IOnlCgreportParamService {
public OnlCgreportParamServiceImpl() {
}
}
@@ -3,30 +3,34 @@ package com.jero.generater.modules.online.cgreport.util;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.DateUtils;
import com.jero.common.util.oConvertUtils;
import com.jero.generater.modules.online.cgform.util.CgformUtil;
import com.jero.generater.modules.online.cgreport.entity.OnlCgreportItem;
import com.jero.generater.modules.online.config.util.DbTableUtil;
import com.jero.generater.modules.online.config.exception.DBException;
import com.jero.generater.modules.online.config.util.DbTableUtil;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import java.nio.charset.StandardCharsets;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
public class CgReportQueryParamUtil {
public CgReportQueryParamUtil() {
private CgReportQueryParamUtil() {
}
private static final String BEGIN = "_begin";
private static final String INTEGER = "Integer";
private static final String AND = " and ";
private static final String ORACLE = "ORACLE";
private static final String DATETIME = "datetime";
private static final String DATE = "date";
public static void a(HttpServletRequest var0, Map<String, Object> var1, Map<String, Object> var2, Map<String, Object> var3) {
String var4 = (String)var1.get("field_name");
String var5 = (String)var1.get("search_mode");
@@ -37,24 +41,19 @@ public class CgReportQueryParamUtil {
if ("single".equals(var5)) {
var7 = var0.getParameter(var4.toLowerCase());
try {
if (oConvertUtils.isEmpty(var7)) {
return;
}
var8 = var0.getQueryString();
if (var8.contains(var4 + "=")) {
var9 = new String(var7.getBytes("ISO-8859-1"), "UTF-8");
var7 = var9;
}
} catch (UnsupportedEncodingException var10) {
log.error(var10.getMessage(), var10);
if (oConvertUtils.isEmpty(var7)) {
return;
}
var8 = var0.getQueryString();
if (var8.contains(var4 + "=")) {
var9 = new String(var7.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
var7 = var9;
}
if (oConvertUtils.isNotEmpty(var7)) {
if (var7.contains("*")) {
var7 = var7.replaceAll("\\*", "%");
var7 = var7.replace("\\*", "%");
var2.put(var4, " LIKE :" + var4);
} else {
var2.put(var4, " = :" + var4);
@@ -63,17 +62,17 @@ public class CgReportQueryParamUtil {
var3.put(var4, a(var6, var7, true));
} else if ("group".equals(var5)) {
var7 = var0.getParameter(var4.toLowerCase() + "_begin");
var7 = var0.getParameter(var4.toLowerCase() + BEGIN);
var8 = var0.getParameter(var4.toLowerCase() + "_end");
if (oConvertUtils.isNotEmpty(var7)) {
var9 = " >= :" + var4 + "_begin";
var9 = " >= :" + var4 + BEGIN;
var2.put(var4, var9);
var3.put(var4 + "_begin", a(var6, var7, true));
var3.put(var4 + BEGIN, a(var6, var7, true));
}
if (oConvertUtils.isNotEmpty(var8)) {
var9 = " <= :" + var4 + "_end";
var2.put(new String(var4), var9);
var2.put(var4, var9);
var3.put(var4 + "_end", a(var6, var8, false));
}
}
@@ -98,7 +97,7 @@ public class CgReportQueryParamUtil {
var3 = DateUtils.str2Date(var1, var4);
} else if ("Double".equalsIgnoreCase(var0)) {
var3 = var1;
} else if ("Integer".equalsIgnoreCase(var0)) {
} else if (INTEGER.equalsIgnoreCase(var0)) {
var3 = var1;
} else {
var3 = var1;
@@ -113,19 +112,17 @@ public class CgReportQueryParamUtil {
JSONArray var3 = new JSONArray();
var2.put("total", var1);
if (var0 != null) {
Iterator var4 = var0.iterator();
while(var4.hasNext()) {
Map var5 = (Map)var4.next();
for (Map<String, Object> stringObjectMap : var0) {
Map<String, Object> var5 = stringObjectMap;
JSONObject var6 = new JSONObject();
String var8;
String var9;
for(Iterator var7 = var5.keySet().iterator(); var7.hasNext(); var6.put(var8, var9)) {
var8 = (String)var7.next();
for (Iterator<String> var7 = var5.keySet().iterator(); var7.hasNext(); var6.put(var8, var9)) {
var8 = var7.next();
var9 = String.valueOf(var5.get(var8));
var8 = var8.toLowerCase();
if (var8.contains("time") || var8.contains("date")) {
if (var8.contains("time") || var8.contains(DATE)) {
var9 = a(var9);
}
}
@@ -140,19 +137,18 @@ public class CgReportQueryParamUtil {
public static String a(List<Map<String, Object>> var0) {
JSONArray var1 = new JSONArray();
Iterator var2 = var0.iterator();
while(var2.hasNext()) {
Map var3 = (Map)var2.next();
for (Map<String, Object> stringObjectMap : var0) {
Map<String, Object> var3 = stringObjectMap;
JSONObject var4 = new JSONObject();
String var6;
String var7;
for(Iterator var5 = var3.keySet().iterator(); var5.hasNext(); var4.put(var6, var7)) {
var6 = (String)var5.next();
for (Iterator<String> var5 = var3.keySet().iterator(); var5.hasNext(); var4.put(var6, var7)) {
var6 = var5.next();
var7 = String.valueOf(var3.get(var6));
var6 = var6.toLowerCase();
if (var6.contains("time") || var6.contains("date")) {
if (var6.contains("time") || var6.contains(DATE)) {
var7 = a(var7);
}
}
@@ -177,7 +173,7 @@ public class CgReportQueryParamUtil {
}
public static String a(List<OnlCgreportItem> var0, Map<String, Object> var1, String var2, String var3) {
StringBuffer var4 = new StringBuffer();
StringBuilder var4 = new StringBuilder();
String var5 = var3;
if (var3 == null) {
try {
@@ -189,7 +185,7 @@ public class CgReportQueryParamUtil {
}
}
HashSet var6 = new HashSet();
HashSet<String> var6 = new HashSet<>();
Iterator var7 = var0.iterator();
while(true) {
@@ -211,7 +207,7 @@ public class CgReportQueryParamUtil {
var10 = var16.substring("popup_param_pre__".length());
if (!var6.contains(var10)) {
String var17 = QueryGenerator.getSingleQueryConditionSql(var10, var2, var9, false);
var4.append(" and " + var17);
var4.append(AND).append(var17);
}
}
}
@@ -226,18 +222,18 @@ public class CgReportQueryParamUtil {
Object var11;
if ("group".equals(var8.getSearchMode())) {
var11 = var1.get(var9 + "_begin");
var11 = var1.get(var9 + BEGIN);
if (var11 != null) {
var4.append(" and " + var2 + var9 + " >= ");
if (!"Long".equals(var10) && !"Integer".equals(var10)) {
if ("ORACLE".equals(var5)) {
if (var10.toLowerCase().equals("datetime")) {
var4.append(AND).append(var2).append(var9).append(" >= ");
if (!"Long".equals(var10) && !INTEGER.equals(var10)) {
if (ORACLE.equals(var5)) {
if (Objects.equals(DATETIME,var10.toLowerCase())) {
var4.append(CgformUtil.a(var11.toString()));
} else if (var10.toLowerCase().equals("date")) {
} else if (Objects.equals(DATE,var10.toLowerCase())) {
var4.append(CgformUtil.b(var11.toString()));
}
} else {
var4.append("'" + var11.toString() + "'");
var4.append("'").append(var11.toString()).append("'");
}
} else {
var4.append(var11.toString());
@@ -250,34 +246,34 @@ public class CgReportQueryParamUtil {
var11 = var1.get(var9);
if (var11 != null) {
boolean var12 = !"Long".equals(var10) && !"Integer".equals(var10);
if ("ORACLE".equals(var5)) {
if (var10.toLowerCase().equals("datetime")) {
boolean var12 = !"Long".equals(var10) && !INTEGER.equals(var10);
if (ORACLE.equals(var5)) {
if (Objects.equals(DATETIME,var10.toLowerCase())) {
var11 = CgformUtil.a(var11.toString());
var12 = false;
} else if (var10.toLowerCase().equals("date")) {
} else if (Objects.equals(DATE,var10.toLowerCase())) {
var11 = CgformUtil.b(var11.toString());
var12 = false;
}
}
String var13 = QueryGenerator.getSingleQueryConditionSql(var9, var2, var11, var12, var5);
var4.append(" and " + var13);
var4.append(AND).append(var13);
var6.add(var9);
}
}
} while(var18 == null);
var4.append(" and " + var2 + var9 + " <= ");
if (!"Long".equals(var10) && !"Integer".equals(var10)) {
if ("ORACLE".equals(var5)) {
if (var10.toLowerCase().equals("datetime")) {
var4.append(AND).append(var2).append(var9).append(" <= ");
if (!"Long".equals(var10) && !INTEGER.equals(var10)) {
if (ORACLE.equals(var5)) {
if (Objects.equals(var10.toLowerCase(),DATETIME)) {
var4.append(CgformUtil.a(var18.toString()));
} else if (var10.toLowerCase().equals("date")) {
} else if (Objects.equals(DATE,var10.toLowerCase())) {
var4.append(CgformUtil.b(var18.toString()));
}
} else {
var4.append("'" + var18.toString() + "'");
var4.append("'").append(var18.toString()).append("'");
}
} else {
var4.append(var18.toString());
@@ -16,20 +16,26 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class SqlUtil {
public static final String a = "select * from ( {0}) sel_tab00 limit {1},{2}";
public static final String b = "select * from ( {0}) sel_tab00 limit {2} offset {1}";
public static final String c = "select * from (select row_.*,rownum rownum_ from ({0}) row_ where rownum <= {1}) where rownum_>{2}";
public static final String d = "select * from ( select row_number() over(order by tempColumn) tempRowNumber, * from (select top {1} tempColumn = 0, {0}) t ) tt where tempRowNumber > {2}";
public static final String e = "select distinct table_name from information_schema.columns where table_schema = {0}";
public static final String f = "SELECT distinct c.relname AS table_name FROM pg_class c";
public static final String g = "select distinct colstable.table_name as table_name from user_tab_cols colstable";
public static final String h = "select distinct c.name as table_name from sys.objects c";
public static final String i = "select column_name from information_schema.columns where table_name = {0} and table_schema = {1}";
public static final String j = "select table_name from information_schema.columns where table_name = {0}";
public static final String k = "select column_name from all_tab_columns where table_name ={0}";
public static final String l = "select name from syscolumns where id={0}";
// public static final String a = "select * from ( {0}) sel_tab00 limit {1},{2}";
// public static final String b = "select * from ( {0}) sel_tab00 limit {2} offset {1}";
// public static final String c = "select * from (select row_.*,rownum rownum_ from ({0}) row_ where rownum <= {1}) where rownum_>{2}";
// public static final String d = "select * from ( select row_number() over(order by tempColumn) tempRowNumber, * from (select top {1} tempColumn = 0, {0}) t ) tt where tempRowNumber > {2}";
// public static final String e = "select distinct table_name from information_schema.columns where table_schema = {0}";
// public static final String f = "SELECT distinct c.relname AS table_name FROM pg_class c";
// public static final String g = "select distinct colstable.table_name as table_name from user_tab_cols colstable";
// public static final String h = "select distinct c.name as table_name from sys.objects c";
// public static final String i = "select column_name from information_schema.columns where table_name = {0} and table_schema = {1}";
// public static final String j = "select table_name from information_schema.columns where table_name = {0}";
// public static final String k = "select column_name from all_tab_columns where table_name ={0}";
// public static final String l = "select name from syscolumns where id={0}";
public static final String MYSQL = "MYSQL";
public static final String POST_GRE_SQL = "POSTGRESQL";
public static final String ORACLE = "ORACLE";
public static final String SQL_SERVER = "SQLSERVER";
private SqlUtil() {
public SqlUtil() {
}
public static String a(String var0, Map var1) {
@@ -65,18 +71,18 @@ public class SqlUtil {
int var6 = (var4 - 1) * var5;
String[] var7 = new String[]{var2, var6 + "", var5 + ""};
String var8 = "";
if ("MYSQL".equalsIgnoreCase(var8)) {
if (MYSQL.equalsIgnoreCase(var8)) {
var2 = MessageFormat.format("select * from ( {0}) sel_tab00 limit {1},{2}", var7);
} else if ("POSTGRESQL".equalsIgnoreCase(var8)) {
} else if (POST_GRE_SQL.equalsIgnoreCase(var8)) {
var2 = MessageFormat.format("select * from ( {0}) sel_tab00 limit {2} offset {1}", var7);
} else {
int var9 = (var4 - 1) * var5;
int var10 = var9 + var5;
var7[2] = Integer.toString(var9);
var7[1] = Integer.toString(var10);
if ("ORACLE".equalsIgnoreCase(var8)) {
if (ORACLE.equalsIgnoreCase(var8)) {
var2 = MessageFormat.format("select * from (select row_.*,rownum rownum_ from ({0}) row_ where rownum <= {1}) where rownum_>{2}", var7);
} else if ("SQLSERVER".equalsIgnoreCase(var8)) {
} else if (SQL_SERVER.equalsIgnoreCase(var8)) {
var7[0] = var2.substring(c(var2));
var2 = MessageFormat.format("select * from ( select row_number() over(order by tempColumn) tempRowNumber, * from (select top {1} tempColumn = 0, {0}) t ) tt where tempRowNumber > {2}", var7);
}
@@ -93,19 +99,19 @@ public class SqlUtil {
public static String a(String var0, String... var1) {
if (oConvertUtils.isNotEmpty(var0)) {
if ("MYSQL".equals(var0)) {
if (MYSQL.equals(var0)) {
return MessageFormat.format("select distinct table_name from information_schema.columns where table_schema = {0}", var1);
}
if ("ORACLE".equals(var0)) {
if (ORACLE.equals(var0)) {
return "select distinct colstable.table_name as table_name from user_tab_cols colstable";
}
if ("POSTGRESQL".equals(var0)) {
if (POST_GRE_SQL.equals(var0)) {
return "SELECT distinct c.relname AS table_name FROM pg_class c";
}
if ("SQLSERVER".equals(var0)) {
if (SQL_SERVER.equals(var0)) {
return "select distinct c.name as table_name from sys.objects c";
}
}
@@ -115,19 +121,19 @@ public class SqlUtil {
public static String b(String var0, String... var1) {
if (oConvertUtils.isNotEmpty(var0)) {
if ("MYSQL".equals(var0)) {
if (MYSQL.equals(var0)) {
return MessageFormat.format("select column_name from information_schema.columns where table_name = {0} and table_schema = {1}", var1);
}
if ("ORACLE".equals(var0)) {
if (ORACLE.equals(var0)) {
return MessageFormat.format("select column_name from all_tab_columns where table_name ={0}", var1);
}
if ("POSTGRESQL".equals(var0)) {
if (POST_GRE_SQL.equals(var0)) {
return MessageFormat.format("select table_name from information_schema.columns where table_name = {0}", var1);
}
if ("SQLSERVER".equals(var0)) {
if (SQL_SERVER.equals(var0)) {
return MessageFormat.format("select name from syscolumns where id={0}", var1);
}
}
@@ -160,26 +166,25 @@ public class SqlUtil {
public static void main(String[] args) {
String var1 = "select * from sys_user where id ='${id}' and del_flag= ${flag}";
System.out.println(a(var1));
log.info(a(var1));
}
public static Map<String, Object> a(HttpServletRequest var0) {
Map var1 = var0.getParameterMap();
HashMap var2 = new HashMap();
Iterator var3 = var1.entrySet().iterator();
Map<String, String[]> var1 = var0.getParameterMap();
HashMap<String, Object> var2 = new HashMap<>();
Iterator<Entry<String, String[]>> var3 = var1.entrySet().iterator();
String var5 = "";
String var6 = "";
for(Object var7 = null; var3.hasNext(); var2.put(var5, var6)) {
Entry var4 = (Entry)var3.next();
for(Object var7; var3.hasNext(); var2.put(var5, var6)) {
Entry var4 = var3.next();
var5 = (String)var4.getKey();
var7 = var4.getValue();
if (!"_t".equals(var5) && null != var7) {
if (!(var7 instanceof String[])) {
var6 = var7.toString();
} else {
String[] var8 = (String[])((String[])var7);
String[] var8 = (String[])var7;
for(int var9 = 0; var9 < var8.length; ++var9) {
var6 = var8[var9] + ",";
}
@@ -197,6 +202,6 @@ public class SqlUtil {
public static String b(String var0) {
String var1 = QueryGenerator.convertSystemVariables(var0);
String var2 = QueryGenerator.getAllConfigAuth();
return var0.toLowerCase().indexOf("where") > 0 ? var1 + var2 : var1 + " where 1=1 " + var2;
return var0.toLowerCase().contains("where") ? var1 + var2 : var1 + " where 1=1 " + var2;
}
}