【fix sonar】OnlCgreportAPI文件

This commit is contained in:
梁琦涛
2023-03-28 11:28:06 +08:00
parent 7b6a45d3d3
commit c6cf682d96
@@ -27,6 +27,8 @@ 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.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -73,67 +75,72 @@ public class OnlCgreportAPI {
@GetMapping({"/getColumnsAndData/{code}"})
@PermissionData
public Result a(@PathVariable("code") String var1, HttpServletRequest var2) {
public Result<Map<String, Object>> a(@PathVariable("code") String var1, HttpServletRequest var2) {
OnlCgreportHead var3 = this.onlCgreportHeadService.getById(var1);
if (var3 == null) {
return Result.error(EN_IS_NULL);
} else {
Result var4 = this.b(var1, var2);
if (var4.getCode().equals(200)) {
JSONObject var5 = JSON.parseObject(JSON.toJSONString(var4.getResult()));
JSONArray var6 = var5.getJSONArray("records");
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;
return getMapResult(var1, var2, var3);
}
}
for (OnlCgreportItem var14 : var8) {
JSONObject var15 = new JSONObject(4);
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())) {
var12 = true;
}
@NotNull
private Result<Map<String, Object>> getMapResult(@PathVariable("code") String var1, HttpServletRequest var2, OnlCgreportHead var3) {
Result<Map<String, Object>> var4 = this.b(var1, var2);
if (var4.getCode().equals(200)) {
JSONObject var5 = JSON.parseObject(JSON.toJSONString(var4.getResult()));
JSONArray var6 = var5.getJSONArray("records");
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<String, Object> var9 = new HashMap<>();
JSONArray var10 = new JSONArray();
JSONArray var11 = new JSONArray();
boolean var12 = false;
String var16;
if (StringUtils.isNotBlank(var14.getFieldHref())) {
var16 = "fieldHref_" + var14.getFieldName();
JSONObject var17 = new JSONObject();
var17.put(CUSTOM_RENDER, var16);
var15.put("scopedSlots", var17);
JSONObject var18 = new JSONObject();
var18.put("slotName", var16);
var18.put("href", var14.getFieldHref());
var10.add(var18);
}
var11.add(var15);
var16 = var14.getDictCode();
List<DictModel> var20 = this.a(var16, var6, var14.getFieldName());
if (var20 != null) {
var9.put(var14.getFieldName(), var20);
var15.put(CUSTOM_RENDER, var14.getFieldName());
}
for (OnlCgreportItem var14 : var8) {
JSONObject var15 = new JSONObject(4);
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())) {
var12 = true;
}
HashMap var19 = new HashMap<>(3);
var19.put("data", var4.getResult());
var19.put(COLUMNS, var11);
var19.put(DICT_OPTIONS, var9);
var19.put("fieldHrefSlots", var10);
var19.put("cgreportHeadName", var3.getName());
var19.put("isGroupTitle", var12);
return Result.OK(var19);
} else {
return var4;
String var16;
if (StringUtils.isNotBlank(var14.getFieldHref())) {
var16 = "fieldHref_" + var14.getFieldName();
JSONObject var17 = new JSONObject();
var17.put(CUSTOM_RENDER, var16);
var15.put("scopedSlots", var17);
JSONObject var18 = new JSONObject();
var18.put("slotName", var16);
var18.put("href", var14.getFieldHref());
var10.add(var18);
}
var11.add(var15);
var16 = var14.getDictCode();
List<DictModel> var20 = this.a(var16, var6, var14.getFieldName());
if (var20 != null) {
var9.put(var14.getFieldName(), var20);
var15.put(CUSTOM_RENDER, var14.getFieldName());
}
}
HashMap<String, Object> var19 = new HashMap<>(3);
var19.put("data", var4.getResult());
var19.put(COLUMNS, var11);
var19.put(DICT_OPTIONS, var9);
var19.put("fieldHrefSlots", var10);
var19.put("cgreportHeadName", var3.getName());
var19.put("isGroupTitle", var12);
return Result.OK(var19);
} else {
return var4;
}
}
@@ -143,28 +150,20 @@ public class OnlCgreportAPI {
if (var1.trim().toLowerCase().indexOf("select ") == 0 && (var3 == null || !var2.isEmpty())) {
var1 = var1.trim();
int var5 = var1.lastIndexOf(";");
if (var5 == var1.length() - 1) {
var1 = var1.substring(0, var5);
}
var1 = getString(var1, var5);
String var6 = "SELECT * FROM (" + var1 + ") temp ";
String var12;
if (var2 != null) {
ArrayList<String> var7 = new ArrayList<>();
for(int var8 = 0; var8 < var2.size(); ++var8) {
JSONObject var9 = var2.getJSONObject(var8);
String var10 = var9.getString(var3);
if (StringUtils.isNotBlank(var10)) {
var7.add(var10);
}
}
addVar7(var2, var3, var7);
var12 = "'" + StringUtils.join(var7, "','") + "'";
var6 = var6 + "WHERE temp.value IN (" + var12 + ")";
}
List var11 = this.onlCgreportHeadService.getBaseMapper().executeSelete(var6);
List<Map<Object,Object>> var11 = this.onlCgreportHeadService.getBaseMapper().executeSelete(var6);
if (var11 != null && !var11.isEmpty()) {
var12 = JSON.toJSONString(var11);
var4 = JSON.parseArray(var12, DictModel.class);
@@ -177,10 +176,28 @@ public class OnlCgreportAPI {
return var4;
}
@NotNull
private String getString(String var1, int var5) {
if (var5 == var1.length() - 1) {
var1 = var1.substring(0, var5);
}
return var1;
}
private void addVar7(JSONArray var2, String var3, ArrayList<String> var7) {
for(int var8 = 0; var8 < var2.size(); ++var8) {
JSONObject var9 = var2.getJSONObject(var8);
String var10 = var9.getString(var3);
if (StringUtils.isNotBlank(var10)) {
var7.add(var10);
}
}
}
/** @deprecated */
@Deprecated
@GetMapping({"/getColumns/{code}"})
public Result a(@PathVariable("code") String var1) {
public Result<Map<String,Object>> a(@PathVariable("code") String var1) {
OnlCgreportHead var2 = this.onlCgreportHeadService.getById(var1);
if (var2 == null) {
return Result.error(EN_IS_NULL);
@@ -191,7 +208,7 @@ public class OnlCgreportAPI {
var3.orderByAsc(ORDER_NUM);
List<OnlCgreportItem> var4 = this.onlCgreportItemService.list(var3);
ArrayList<Map<String,Object>> var5 = new ArrayList<>();
HashMap var6 = new HashMap<>();
HashMap<String,Object> var6 = new HashMap<>();
for (OnlCgreportItem var8 : var4) {
HashMap<String,Object> var9 = new HashMap<>(3);
@@ -202,16 +219,7 @@ public class OnlCgreportAPI {
var5.add(var9);
String var10 = var8.getDictCode();
if (oConvertUtils.isNotEmpty(var10)) {
List var11 = null;
if (var10.toLowerCase().indexOf("select ") == 0) {
List var12 = this.onlCgreportHeadService.getBaseMapper().executeSelete(var10);
if (var12 != null && !var12.isEmpty()) {
String var13 = JSON.toJSONString(var12);
var11 = JSON.parseArray(var13, DictModel.class);
}
} else {
var11 = this.sysBaseAPI.queryDictItemsByCode(var10);
}
List<DictModel> var11 = getDictModels(var10);
if (var11 != null) {
var6.put(var8.getFieldName(), var11);
@@ -220,7 +228,7 @@ public class OnlCgreportAPI {
}
}
HashMap var14 = new HashMap<>(1);
HashMap<String,Object> var14 = new HashMap<>(1);
var14.put(COLUMNS, var5);
var14.put(DICT_OPTIONS, var6);
var14.put("cgreportHeadName", var2.getName());
@@ -228,9 +236,24 @@ public class OnlCgreportAPI {
}
}
@Nullable
private List<DictModel> getDictModels(String var10) {
List<DictModel> var11 = null;
if (var10.toLowerCase().indexOf("select ") == 0) {
List<Map<Object,Object>> var12 = this.onlCgreportHeadService.getBaseMapper().executeSelete(var10);
if (var12 != null && !var12.isEmpty()) {
String var13 = JSON.toJSONString(var12);
var11 = JSON.parseArray(var13, DictModel.class);
}
} else {
var11 = this.sysBaseAPI.queryDictItemsByCode(var10);
}
return var11;
}
@GetMapping({"/getData/{code}"})
@PermissionData
public Result b(@PathVariable("code") String var1, HttpServletRequest var2) {
public Result<Map<String, Object>> b(@PathVariable("code") String var1, HttpServletRequest var2) {
OnlCgreportHead var3 = this.onlCgreportHeadService.getById(var1);
if (var3 == null) {
return Result.error(EN_IS_NULL);
@@ -259,7 +282,7 @@ public class OnlCgreportAPI {
}
@GetMapping({"/getQueryInfo/{code}"})
public Result b(@PathVariable("code") String var1) {
public Result<List<Map<String, String>>> b(@PathVariable("code") String var1) {
try {
List<Map<String, String>> var2 = this.onlCgreportItemService.getAutoListQueryInfo(var1);
return Result.OK(var2);
@@ -270,7 +293,7 @@ public class OnlCgreportAPI {
}
@GetMapping({"/getParamsInfo/{code}"})
public Result c(@PathVariable("code") String var1) {
public Result<List<OnlCgreportParam>> c(@PathVariable("code") String var1) {
try {
LambdaQueryWrapper<OnlCgreportParam> var2 = new LambdaQueryWrapper<>();
var2.eq(OnlCgreportParam::getCgrheadId, var1);
@@ -290,144 +313,175 @@ public class OnlCgreportAPI {
if (!oConvertUtils.isNotEmpty(var1)) {
throw new JeroBootException("参数错误");
} else {
Map<String, Object> var6 = null;
getVar6(var1, var2, var3, var4, var5);
}
}
private void getVar6(@PathVariable("reportId") String var1, HttpServletRequest var2, HttpServletResponse var3, String var4, String var5) {
Map<String, Object> var6 = null;
try {
var6 = this.onlCgreportHeadService.queryCgReportConfig(var1);
} catch (Exception var35) {
throw new JeroBootException("动态报表配置不存在!");
}
List<Map<String, Object>> var7 = (List)var6.get("items");
var2.setAttribute(GET_ALL, true);
Result<Map<String, Object>> var8 = this.b(var1, var2);
List<Map<String, Object>> var9 = null;
if (var8.getCode().equals(200)) {
Map<String, Object> var10 = var8.getResult();
var9 = (List)var10.get("records");
}
ArrayList<String> var36 = new ArrayList<>();
HashMap<String, Object> var11 = new HashMap<>();
HashMap<String, Object> var12 = new HashMap<>();
ArrayList<ExcelExportEntity> var13 = new ArrayList<>();
String var15;
for(int var14 = 0; var14 < var7.size(); ++var14) {
if ("1".equals(oConvertUtils.getString((var7.get(var14)).get(IS_SHOW)))) {
var15 = (var7.get(var14)).get("field_name").toString();
ExcelExportEntity var16 = new ExcelExportEntity((var7.get(var14)).get("field_txt").toString(), var15, 15);
Object var17 = (var7.get(var14)).get("dict_code");
JSONArray var18 = JSON.parseArray(JSON.toJSONString(var9));
List<DictModel> var19 = this.a(oConvertUtils.getString(var17), var18, var15);
getVar16(var16, var19);
Object var50 = (var7.get(var14)).get("replace_val");
getVar16(var16, var50);
if (oConvertUtils.isNotEmpty((var7.get(var14)).get("group_title"))) {
String var52 = (var7.get(var14)).get("group_title").toString();
Object var53 = new ArrayList<>();
if (var12.containsKey(var52)) {
var53 = var12.get(var52);
((List)var53).add(var15);
} else {
ExcelExportEntity var23 = new ExcelExportEntity(var52, var52, true);
var13.add(var23);
((List)var53).add(var15);
}
var12.put(var52, var53);
var16.setColspan(true);
}
var13.add(var16);
}
getVar36(var7, var36, var14);
}
Iterator<Entry<String, Object>> var37 = var12.entrySet().iterator();
String var42;
while(var37.hasNext()) {
Entry<String, Object> var39 = var37.next();
var42 = var39.getKey();
List<String> var43 = (List)var39.getValue();
getVar48(var13, var42, var43);
}
if (!var36.isEmpty()) {
getVar38(var9, var36, var11);
var9.add(var11);
}
var3.setContentType("application/vnd.ms-excel");
getVar41(var2, var3, var4, var5, var9, var13);
}
private void getVar36(List<Map<String, Object>> var7, ArrayList<String> var36, int var14) {
if ("1".equals(oConvertUtils.getString((var7.get(var14)).get("is_total")))) {
var36.add((var7.get(var14)).get("field_name").toString());
}
}
private void getVar16(ExcelExportEntity var16, Object var50) {
if (oConvertUtils.isNotEmpty(var50)) {
var16.setReplace(var50.toString().split(","));
}
}
private void getVar38(List<Map<String, Object>> var9, ArrayList<String> var36, HashMap<String, Object> var11) {
String var42;
BigDecimal var38 = BigDecimal.valueOf(0.0D);
for (String o : var36) {
var42 = o;
var38 = getBigDecimal(var9, var42, var38);
var11.put(var42, var38);
}
}
private void getVar48(ArrayList<ExcelExportEntity> var13, String var42, List<String> var43) {
for (ExcelExportEntity o : var13) {
ExcelExportEntity var48 = o;
if (var42.equals(var48.getName()) && var48.isColspan()) {
var48.setSubColumnList(var43);
}
}
}
private void getVar16(ExcelExportEntity var16, List<DictModel> var19) {
if (var19 != null && !var19.isEmpty()) {
ArrayList<String> var20 = new ArrayList<>();
for (DictModel o : var19) {
var20.add(o.getText() + "_" + o.getValue());
}
var16.setReplace(var20.toArray(new String[var20.size()]));
}
}
private BigDecimal getBigDecimal(List<Map<String, Object>> var9, String var42, BigDecimal var38) {
for (Map<String, Object> value : var9) {
Map<String, Object> var47 = value;
String var49 = var47.get(var42).toString();
if (var49.matches("\\d+(.\\d+)?")) {
BigDecimal var51 = new BigDecimal(var49);
var38 = var38.add(var51);
}
}
return var38;
}
private void getVar41(HttpServletRequest var2, HttpServletResponse var3, String var4, String var5, List<Map<String, Object>> var9, ArrayList<ExcelExportEntity> var13) {
String var15;
String var42;
ServletOutputStream var41 = null;
try {
var15 = BrowserUtils.checkBrowse(var2);
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(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
var3.setHeader("content-disposition", "attachment;filename=" + var42 + ".xls");
}
Workbook var44 = ExcelExportUtil.exportExcel(new ExportParams(null, var5), var13, var9);
var41 = var3.getOutputStream();
var44.write(var41);
} catch (Exception var33) {
log.error("异常",var33);
} finally {
try {
var6 = this.onlCgreportHeadService.queryCgReportConfig(var1);
} catch (Exception var35) {
throw new JeroBootException("动态报表配置不存在!");
}
List var7 = (List)var6.get("items");
var2.setAttribute(GET_ALL, true);
Result var8 = this.b(var1, var2);
List var9 = null;
if (var8.getCode().equals(200)) {
Map var10 = (Map)var8.getResult();
var9 = (List)var10.get("records");
}
ArrayList var36 = new ArrayList<>();
HashMap var11 = new HashMap<>();
HashMap var12 = new HashMap<>();
ArrayList var13 = new ArrayList<>();
String var15;
for(int var14 = 0; var14 < var7.size(); ++var14) {
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 = JSON.parseArray(JSON.toJSONString(var9));
List var19 = this.a(oConvertUtils.getString(var17), var18, var15);
if (var19 != null && !var19.isEmpty()) {
ArrayList var20 = new ArrayList<>();
for (Object o : var19) {
DictModel var22 = (DictModel) o;
var20.add(var22.getText() + "_" + var22.getValue());
}
var16.setReplace((String[])var20.toArray(new String[var20.size()]));
}
Object var50 = ((Map)var7.get(var14)).get("replace_val");
if (oConvertUtils.isNotEmpty(var50)) {
var16.setReplace(var50.toString().split(","));
}
if (oConvertUtils.isNotEmpty(((Map)var7.get(var14)).get("group_title"))) {
String var52 = ((Map)var7.get(var14)).get("group_title").toString();
Object var53 = new ArrayList();
if (var12.containsKey(var52)) {
var53 = var12.get(var52);
((List)var53).add(var15);
} else {
ExcelExportEntity var23 = new ExcelExportEntity(var52, var52, true);
var13.add(var23);
((List)var53).add(var15);
}
var12.put(var52, var53);
var16.setColspan(true);
}
var13.add(var16);
}
if ("1".equals(oConvertUtils.getString(((Map)var7.get(var14)).get("is_total")))) {
var36.add(((Map)var7.get(var14)).get("field_name").toString());
}
}
Iterator var37 = var12.entrySet().iterator();
String var42;
while(var37.hasNext()) {
Entry var39 = (Entry)var37.next();
var42 = (String)var39.getKey();
List var43 = (List)var39.getValue();
for (Object o : var13) {
ExcelExportEntity var48 = (ExcelExportEntity) o;
if (var42.equals(var48.getName()) && var48.isColspan()) {
var48.setSubColumnList(var43);
}
}
}
if (!var36.isEmpty()) {
BigDecimal var38 = BigDecimal.valueOf(0.0D);
for (Object o : var36) {
var42 = (String) o;
for (Object value : var9) {
Map var47 = (Map) value;
String var49 = var47.get(var42).toString();
if (var49.matches("\\d+(.\\d+)?")) {
BigDecimal var51 = new BigDecimal(var49);
var38 = var38.add(var51);
}
}
var11.put(var42, var38);
}
var9.add(var11);
}
var3.setContentType("application/vnd.ms-excel");
ServletOutputStream var41 = null;
try {
var15 = BrowserUtils.checkBrowse(var2);
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(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
var3.setHeader("content-disposition", "attachment;filename=" + var42 + ".xls");
}
Workbook var44 = ExcelExportUtil.exportExcel(new ExportParams((String)null, var5), var13, var9);
var41 = var3.getOutputStream();
var44.write(var41);
} catch (Exception var33) {
log.error("异常",var33);
} finally {
try {
if(var41 != null){var41.flush();var41.close();}
} catch (Exception var32) {
log.error("异常",var32);
}
if(var41 != null){var41.flush();var41.close();}
} catch (Exception var32) {
log.error("异常",var32);
}
}
}
@GetMapping({"/getRpColumns/{code}"})
public Result d(@PathVariable("code") String var1) {
public Result<Map<String,Object>> d(@PathVariable("code") String var1) {
LambdaQueryWrapper<OnlCgreportHead> var2 = new LambdaQueryWrapper<>();
var2.eq(OnlCgreportHead::getCode, var1);
OnlCgreportHead var3 = this.onlCgreportHeadService.getOne(var2);
@@ -439,10 +493,10 @@ public class OnlCgreportAPI {
var4.eq(IS_SHOW, 1);
var4.orderByAsc(ORDER_NUM);
List<OnlCgreportItem> var5 = this.onlCgreportItemService.list(var4);
ArrayList var6 = new ArrayList<>();
HashMap var7 = new HashMap<>();
ArrayList<Map<String,Object>> var6 = new ArrayList<>();
HashMap<String,Object> var7 = new HashMap<>();
HashMap var10;
HashMap<String,Object> var10;
for(Iterator<OnlCgreportItem> var8 = var5.iterator(); var8.hasNext(); var6.add(var10)) {
OnlCgreportItem var9 = var8.next();
var10 = new HashMap<>(3);
@@ -462,7 +516,7 @@ public class OnlCgreportAPI {
}
}
HashMap var14 = new HashMap<>(1);
HashMap<String,Object> var14 = new HashMap<>(1);
var14.put(COLUMNS, var6);
var14.put(DICT_OPTIONS, var7);
var14.put("cgRpConfigId", var3.getId());
@@ -472,11 +526,11 @@ public class OnlCgreportAPI {
}
@PostMapping({"/testConnection"})
public Result a(@RequestBody DynamicDataSourceModel var1) {
Result var4;
public Result<String> a(@RequestBody DynamicDataSourceModel var1) {
Result<String> var4;
try (Connection var2 = DriverManager.getConnection(var1.getDbUrl(), var1.getDbUsername(), var1.getDbPassword())){
Class.forName(var1.getDbDriver());
Result var3;
Result<String> var3;
if (var2 == null) {
var3 = Result.OK("数据库连接失败:错误未知");
return var3;