【fix sonar】OnlCgreportHeadServiceImpl文件
This commit is contained in:
+101
-99
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user