【fix sonar】OnlCgreportHeadServiceImpl文件

This commit is contained in:
梁琦涛
2023-03-28 11:28:39 +08:00
parent bc684b7d3b
commit 0202a7443e
@@ -13,7 +13,6 @@ 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;
@@ -38,6 +37,7 @@ import com.jero.generater.modules.online.cgreport.util.CgReportQueryParamUtil;
import com.jero.generater.modules.online.cgreport.util.SqlUtil;
import com.jero.generater.modules.online.config.util.DbTableUtil;
import com.jero.generater.modules.online.config.exception.DBException;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -80,11 +80,7 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
for (OnlCgreportParam var8 : var6) {
Object var9 = params.get("self_" + var8.getParamName());
String var10 = "";
if (var9 != null) {
var10 = var9.toString();
} else if (oConvertUtils.isNotEmpty(var8.getParamValue())) {
var10 = var8.getParamValue();
}
var10 = getString(var8, var9, var10);
String var11 = "${" + var8.getParamName() + "}";
if (sql.contains(var11)) {
@@ -99,10 +95,24 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
}
}
HashMap var20 = new HashMap<>();
return getStringObjectMap(sql, onlCgreportHeadId, params, var4);
}
private String getString(OnlCgreportParam var8, Object var9, String var10) {
if (var9 != null) {
var10 = var9.toString();
} else if (oConvertUtils.isNotEmpty(var8.getParamValue())) {
var10 = var8.getParamValue();
}
return var10;
}
@NotNull
private Map<String, Object> getStringObjectMap(String sql, String onlCgreportHeadId, Map<String, Object> params, String var4) {
HashMap<String, Object> var20 = new HashMap<>();
int var21 = oConvertUtils.getInt(params.get("pageSize"), 10);
int var22 = oConvertUtils.getInt(params.get("pageNo"), 1);
Page var24 = new Page<>(var22, var21);
Page<Map<String, Object>> var24 = new Page<>(var22, var21);
LambdaQueryWrapper<OnlCgreportItem> var23 = new LambdaQueryWrapper<>();
var23.eq(OnlCgreportItem::getCgrheadId, onlCgreportHeadId);
var23.eq(OnlCgreportItem::getIsSearch, 1);
@@ -148,8 +158,8 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
OnlCgreportParam var13;
String var15;
if (var11 != null && !var11.isEmpty()) {
for(Iterator var12 = var11.iterator(); var12.hasNext(); sql = sql.replace("${" + var13.getParamName() + "}", var15)) {
var13 = (OnlCgreportParam)var12.next();
for(Iterator<OnlCgreportParam> var12 = var11.iterator(); var12.hasNext(); sql = sql.replace("${" + var13.getParamName() + "}", var15)) {
var13 = var12.next();
Object var14 = params.get("self_" + var13.getParamName());
var15 = "";
if (var14 != null) {
@@ -186,10 +196,10 @@ 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<>();
Map var22 = (Map)DynamicDBUtil.findOne(dbKey, var18, new Object[0]);
HashMap<String, Object> var21 = new HashMap<>();
Map<String, Object> var22 = (Map)DynamicDBUtil.findOne(dbKey, var18);
var21.put(TOTAL, var22.get(TOTAL));
List<Map<String, Object>> var23 = DynamicDBUtil.findList(dbKey, var20, new Object[0]);
List<Map<String, Object>> var23 = DynamicDBUtil.findList(dbKey, var20);
var21.put("records", CgformUtil.d(var23));
return var21;
}
@@ -199,7 +209,7 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
@Transactional(
rollbackFor = {Exception.class}
)
public Result<?> editAll(OnlCgreportModel values) {
public Result<String> editAll(OnlCgreportModel values) {
OnlCgreportHead var2 = values.getHead();
OnlCgreportHead var3 = super.getById(var2.getId());
if (var3 == null) {
@@ -212,17 +222,16 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
LambdaQueryWrapper<OnlCgreportParam> var5 = new LambdaQueryWrapper<>();
var5.eq(OnlCgreportParam::getCgrheadId, var2.getId());
this.onlCgreportParamService.remove(var5);
Iterator var6 = values.getParams().iterator();
Iterator<OnlCgreportParam> var6 = values.getParams().iterator();
Iterator<OnlCgreportItem> var9 = values.getItems().iterator();
while(var6.hasNext()) {
OnlCgreportParam var7 = (OnlCgreportParam)var6.next();
OnlCgreportParam var7 = var6.next();
var7.setCgrheadId(var2.getId());
}
var6 = values.getItems().iterator();
while(var6.hasNext()) {
OnlCgreportItem var8 = (OnlCgreportItem)var6.next();
while(var9.hasNext()) {
OnlCgreportItem var8 = var9.next();
var8.setFieldName(var8.getFieldName().trim().toLowerCase());
var8.setCgrheadId(var2.getId());
}
@@ -237,7 +246,7 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
@Transactional(
rollbackFor = {Exception.class}
)
public Result<?> delete(String id) {
public Result<String> delete(String id) {
boolean var2 = super.removeById(id);
if (var2) {
LambdaQueryWrapper<OnlCgreportItem> var3 = new LambdaQueryWrapper<>();
@@ -255,7 +264,7 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
@Transactional(
rollbackFor = {Exception.class}
)
public Result<?> bathDelete(String[] ids) {
public Result<String> bathDelete(String[] ids) {
String[] var2 = ids;
int var3 = ids.length;
@@ -310,70 +319,81 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
if (oConvertUtils.isEmpty(var1)) {
return Collections.emptyList();
} else {
var1 = var1.trim();
if (var1.endsWith(";")) {
var1 = var1.substring(0, var1.length() - 1);
}
var1 = QueryGenerator.convertSystemVariables(var1);
var1 = SqlUtil.a(var1);
Set var3;
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(SQL_SERVER_NOT_ORDER);
}
if ("1".equals(var4.getDbType())) {
var1 = "SELECT * FROM (" + var1 + ") temp LIMIT 1";
} else if ("2".equals(var4.getDbType())) {
var1 = "SELECT * FROM (" + var1 + ") temp WHERE ROWNUM <= 1";
} else if ("3".equals(var4.getDbType())) {
var1 = "SELECT TOP 1 * FROM (" + var1 + ") temp";
}
log.info("parse sql with page : " + var1);
Map var5 = (Map)DynamicDBUtil.findOne(var2, var1, new Object[0]);
if (var5 == null) {
throw new JeroBootException("该报表sql没有数据");
}
var3 = var5.keySet();
} else {
log.info("parse sql: " + var1);
String var8 = null;
try {
var8 = DbTableUtil.getDatabaseType();
} catch (DBException var7) {
var7.printStackTrace();
}
if (ReUtil.contains(ORDER_S_BY, var1.toLowerCase()) && "SQLSERVER".equalsIgnoreCase(var8)) {
throw new JeroBootException(SQL_SERVER_NOT_ORDER);
}
IPage<Map<String, Object>> var9 = this.mapper.selectPageBySql(new Page<>(1L, 1L), var1);
List<Map<String, Object>> var6 = var9.getRecords();
if (var6.isEmpty()) {
throw new JeroBootException("该报表sql没有数据");
}
var3 = ((Map)var6.get(0)).keySet();
}
if (var3 != null) {
var3.remove("ROW_ID");
}
return new ArrayList(var3);
return getStrings(var1, var2);
}
}
@NotNull
private List<String> getStrings(String var1, String var2) throws SQLException {
var1 = var1.trim();
if (var1.endsWith(";")) {
var1 = var1.substring(0, var1.length() - 1);
}
var1 = QueryGenerator.convertSystemVariables(var1);
var1 = SqlUtil.a(var1);
Set<String> var3;
if (StringUtils.isNotBlank(var2)) {
log.info("parse sql : " + var1);
DynamicDataSourceModel var4 = DataSourceCachePool.getCacheDynamicDataSourceModel(var2);
var1 = getString(var1, var4);
log.info("parse sql with page : " + var1);
Map<String, Object> var5 = (Map) DynamicDBUtil.findOne(var2, var1);
if (var5 == null) {
throw new JeroBootException("该报表sql没有数据");
}
var3 = var5.keySet();
} else {
log.info("parse sql: " + var1);
String var8 = null;
try {
var8 = DbTableUtil.getDatabaseType();
} catch (DBException var7) {
var7.printStackTrace();
}
if (ReUtil.contains(ORDER_S_BY, var1.toLowerCase()) && "SQLSERVER".equalsIgnoreCase(var8)) {
throw new JeroBootException(SQL_SERVER_NOT_ORDER);
}
IPage<Map<String, Object>> var9 = this.mapper.selectPageBySql(new Page<>(1L, 1L), var1);
List<Map<String, Object>> var6 = var9.getRecords();
if (var6.isEmpty()) {
throw new JeroBootException("该报表sql没有数据");
}
var3 = ((Map)var6.get(0)).keySet();
}
if (var3 != null) {
var3.remove("ROW_ID");
}
return new ArrayList<>(var3);
}
@NotNull
private String getString(String var1, DynamicDataSourceModel var4) {
if (ReUtil.contains(ORDER_S_BY, var1.toLowerCase()) && "3".equalsIgnoreCase(var4.getDbType())) {
throw new JeroBootException(SQL_SERVER_NOT_ORDER);
}
if ("1".equals(var4.getDbType())) {
var1 = "SELECT * FROM (" + var1 + ") temp LIMIT 1";
} else if ("2".equals(var4.getDbType())) {
var1 = "SELECT * FROM (" + var1 + ") temp WHERE ROWNUM <= 1";
} else if ("3".equals(var4.getDbType())) {
var1 = "SELECT TOP 1 * FROM (" + var1 + ") temp";
}
return var1;
}
@Override
public Map<String, Object> queryCgReportConfig(String reportId) {
HashMap var2 = new HashMap<>(0);
HashMap<String,Object> var2 = new HashMap<>(0);
Map<String, Object> var3 = this.mapper.queryCgReportMainConfig(reportId);
List<Map<String, Object>> var4 = this.mapper.queryCgReportItems(reportId);
List<OnlCgreportParam> var5 = this.mapper.queryCgReportParams(reportId);
@@ -388,22 +408,4 @@ public class OnlCgreportHeadServiceImpl extends ServiceImpl<OnlCgreportHeadMappe
var2.put("params", var5);
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 = new ArrayList<>();
if (pageNo == -1 && pageSize == -1) {
var7 = this.mapper.executeSelete(var6);
} else {
Page<Map<String, Object>> var8 = new Page<>(pageNo, pageSize);
IPage<Map<String, Object>> var9 = this.mapper.selectPageBySql(var8, var6);
if (!CollectionUtils.isEmpty(var9.getRecords())) {
var7.addAll(var9.getRecords());
}
}
return var7;
}
}