Toggle navigation
Toggle navigation
This project
Loading...
Sign in
monitor_v3
/
JimuReport
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
wangtao
3 years ago
Commit
2d7378844009713f1b1ca04f15fe70640a778584
1 parent
a7cc889f
master-510
报表版本升级;新增数据es数据转换器
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1425 additions
and
2 deletions
.gitignore
pom.xml
src/main/java/org/jeecg/modules/JimuReportApplication.java
src/main/java/org/jeecg/modules/app/AppStart.java
src/main/java/org/jeecg/modules/dataconvert/ApiDataConvertAdapterBase.java
src/main/java/org/jeecg/modules/dataconvert/EsDataConvertAggregationsAdapter.java
src/main/java/org/jeecg/modules/dataconvert/EsDataConvertHitsAdapter.java
src/main/java/org/jeecg/modules/jmreport/desreport/util/e.java
.gitignore
0 → 100644
View file @
2d73788
### Java template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.idea/
...
...
pom.xml
View file @
2d73788
...
...
@@ -178,6 +178,13 @@
<scope>runtime</scope>
</dependency>-->
<!-- elastic相关-->
<!--<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>x-pack-sql-jdbc</artifactId>
<version>6.8.11</version>
</dependency>-->
<!-- mybatis -->
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
...
...
src/main/java/org/jeecg/modules/JimuReportApplication.java
View file @
2d73788
...
...
@@ -9,7 +9,7 @@ import org.springframework.core.env.Environment;
/**
* 积木报表独立服务启动类
*/
@SpringBootApplication
(
scanBasePackages
=
{
"org.jeecg.modules.jmreport"
})
@SpringBootApplication
(
scanBasePackages
=
{
"org.jeecg.modules.jmreport"
,
"org.jeecg.modules.dataconvert"
})
@MapperScan
({
"org.jeecg.modules.jmreport.ext.dao"
,
"org.jeecgframework.minidao.**"
})
public
class
JimuReportApplication
{
...
...
@@ -18,7 +18,7 @@ public class JimuReportApplication {
Environment
env
=
application
.
getEnvironment
();
String
port
=
env
.
getProperty
(
"server.port"
);
//String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
System
.
out
.
print
(
"\n----------------------------------------------------------\n\t"
+
"
Application JimuReport Demo is running! Access URL:\n\t"
+
"Local
: \t\thttp://localhost:"
+
port
+
"/jmreport/list\n\t"
+
"----------------------------------------------------------"
);
System
.
out
.
print
(
"\n----------------------------------------------------------\n\t"
+
"
报表服务启动成功, 访问地址:\n\t"
+
"本地访问
: \t\thttp://localhost:"
+
port
+
"/jmreport/list\n\t"
+
"----------------------------------------------------------"
);
}
}
...
...
src/main/java/org/jeecg/modules/app/AppStart.java
0 → 100644
View file @
2d73788
package
org
.
jeecg
.
modules
.
app
;
import
lombok.extern.slf4j.Slf4j
;
import
org.jeecg.modules.dataconvert.ApiDataConvertAdapterBase
;
import
org.springframework.boot.ApplicationArguments
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.stereotype.Component
;
/**
* @author Wang
* @description 描述
* @create 2022-05-17 20:01
*/
@Component
@Slf4j
public
class
AppStart
implements
ApplicationRunner
{
private
final
ApplicationContext
context
;
public
AppStart
(
ApplicationContext
context
)
{
this
.
context
=
context
;
}
/**
* @param args
* @throws Exception
*/
@Override
public
void
run
(
ApplicationArguments
args
)
throws
Exception
{
log
.
info
(
"\n\n\n\n 数据转换器"
);
context
.
getBeansOfType
(
ApiDataConvertAdapterBase
.
class
).
forEach
((
k
,
v
)
->
{
log
.
info
(
"\t\t 转换器名称:{},转换器描述:{}"
,
v
.
key
(),
v
.
desc
());
});
log
.
info
(
"\n\n\n\n 数据转换器"
);
}
}
...
...
src/main/java/org/jeecg/modules/dataconvert/ApiDataConvertAdapterBase.java
0 → 100644
View file @
2d73788
package
org
.
jeecg
.
modules
.
dataconvert
;
import
org.jeecg.modules.jmreport.desreport.render.handler.convert.ApiDataConvertAdapter
;
/**
* @author Wang
* @description 描述
* @create 2022-05-17 19:56
*/
public
interface
ApiDataConvertAdapterBase
extends
ApiDataConvertAdapter
{
/**
* 当前转换器的key
* @return
*/
String
key
();
/**
* 描述
* @return
*/
String
desc
();
}
...
...
src/main/java/org/jeecg/modules/dataconvert/EsDataConvertAggregationsAdapter.java
0 → 100644
View file @
2d73788
package
org
.
jeecg
.
modules
.
dataconvert
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
import
java.util.Objects
;
/**
* @author Wang
* @description es数据转换器
* http://report.jeecg.com/2293839
* https://github.com/fengcharly/elasticsearch-sql-jdbc
* @create 2022-05-17 19:04
*/
@Component
(
EsDataConvertAggregationsAdapter
.
convertName
)
public
class
EsDataConvertAggregationsAdapter
implements
ApiDataConvertAdapterBase
{
public
static
final
String
convertName
=
"EsDataConvertAgg"
;
private
String
total
=
null
;
/**
* 当前转换器的key
*
* @return
*/
@Override
public
String
key
()
{
return
convertName
;
}
/**
* 描述
*
* @return
*/
@Override
public
String
desc
()
{
return
"针对es分组查询的结果处理,规范返回给前端!"
;
}
/**
* 返回list数据集,转换成积木报表需要格式{},没有嵌套
* 注意:需要json格式,不用data包裹起来了
*
* @param jsonObject 接口数据原始对象
* @return
*/
@Override
public
String
getData
(
JSONObject
jsonObject
)
{
if
(
jsonObject
.
containsKey
(
"aggregations"
))
{
JSONObject
aggregations
=
jsonObject
.
getJSONObject
(
"aggregations"
);
if
(
aggregations
==
null
||
aggregations
.
isEmpty
())
{
return
""
;
}
JSONArray
array
=
new
JSONArray
();
JSONObject
data
=
new
JSONObject
();
aggregations
.
forEach
((
k
,
v
)
->
{
JSONObject
itemValue
=
(
JSONObject
)
v
;
if
(
itemValue
.
containsKey
(
"buckets"
))
{
JSONArray
buckets
=
itemValue
.
getJSONArray
(
"buckets"
);
getBuckets
(
k
,
array
,
null
,
buckets
);
}
else
if
(
Arrays
.
asList
(
"min"
,
"max"
,
"avg"
).
contains
(
k
)){
/*
"aggregations": {
"min": {
"value": 0.009999999776482582
},
"max": {
"value": 100.0
}
}
*/
data
.
put
(
k
,
itemValue
.
get
(
"value"
));
}
});
if
(!
data
.
isEmpty
()){
array
.
add
(
data
);
}
return
array
.
toJSONString
();
}
return
""
;
}
/**
* 解析buckets数据
*
* @param parentKey
* @param array
* @param buckets
*/
private
void
getBuckets
(
String
parentKey
,
JSONArray
array
,
JSONObject
parentData
,
JSONArray
buckets
)
{
parentKey
=
parentKey
.
replace
(
"."
,
""
).
toLowerCase
();
if
(
buckets
==
null
||
buckets
.
isEmpty
())
{
return
;
}
String
finalParentKey
=
parentKey
;
buckets
.
stream
().
forEach
(
item
->
{
JSONObject
itemData
=
(
JSONObject
)
item
;
JSONObject
data
=
new
JSONObject
();
if
(
parentData
!=
null
)
{
data
=
parentData
;
}
JSONObject
finalData
=
data
;
itemData
.
forEach
((
k
,
v
)
->
{
// 不是对象类型
if
(!(
v
instanceof
JSONObject
))
{
if
(
Objects
.
equals
(
"key"
,
k
))
{
finalData
.
put
(
finalParentKey
,
v
);
}
else
{
finalData
.
put
(
k
.
toLowerCase
(),
v
);
}
}
else
{
JSONObject
agg
=
(
JSONObject
)
v
;
agg
.
forEach
((
k1
,
v1
)
->
{
if
(
Objects
.
equals
(
"buckets"
,
k1
))
{
JSONArray
bucketsChild
=
(
JSONArray
)
v1
;
getBuckets
(
k
,
array
,
finalData
,
bucketsChild
);
}
});
}
array
.
add
(
finalData
);
});
});
}
}
...
...
src/main/java/org/jeecg/modules/dataconvert/EsDataConvertHitsAdapter.java
0 → 100644
View file @
2d73788
package
org
.
jeecg
.
modules
.
dataconvert
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.stereotype.Component
;
/**
* @author Wang
* @description es数据转换器
* http://report.jeecg.com/2293839
* https://github.com/fengcharly/elasticsearch-sql-jdbc
* @create 2022-05-17 19:04
*/
@Component
(
EsDataConvertHitsAdapter
.
convertName
)
public
class
EsDataConvertHitsAdapter
implements
ApiDataConvertAdapterBase
{
public
static
final
String
convertName
=
"EsDataConvertHits"
;
private
String
total
=
null
;
/**
* 当前转换器的key
*
* @return
*/
@Override
public
String
key
()
{
return
convertName
;
}
/**
* 描述
*
* @return
*/
@Override
public
String
desc
()
{
return
"针对普通es查询结果处理,规范返回给前端!"
;
}
/**
* 返回list数据集,转换成积木报表需要格式{},没有嵌套
* 注意:需要json格式,不用data包裹起来了
*
* @param jsonObject 接口数据原始对象
* @return
*/
@Override
public
String
getData
(
JSONObject
jsonObject
)
{
if
(
jsonObject
.
containsKey
(
"hits"
))
{
JSONObject
hits
=
jsonObject
.
getJSONObject
(
"hits"
);
if
(
hits
.
containsKey
(
"hits"
))
{
JSONArray
array
=
new
JSONArray
();
total
=
hits
.
getString
(
"total"
);
JSONArray
hitsArr
=
hits
.
getJSONArray
(
"hits"
);
if
(
hitsArr
==
null
||
hitsArr
.
isEmpty
())
{
return
""
;
}
hitsArr
.
stream
().
forEach
(
item
->
{
JSONObject
itemData
=
(
JSONObject
)
item
;
if
(
itemData
.
containsKey
(
"_source"
))
{
JSONObject
source
=
itemData
.
getJSONObject
(
"_source"
);
JSONObject
data
=
new
JSONObject
();
source
.
forEach
((
k
,
v
)
->{
data
.
put
(
k
.
toLowerCase
(),
v
);
});
array
.
add
(
data
);
}
});
return
array
.
toJSONString
();
}
}
return
""
;
}
@Override
public
String
getCount
(
JSONObject
jsonObject
)
{
if
(
total
!=
null
)
{
return
total
;
}
if
(
jsonObject
.
containsKey
(
"hits"
))
{
JSONObject
hits
=
jsonObject
.
getJSONObject
(
"hits"
);
if
(
hits
.
containsKey
(
"hits"
))
{
total
=
hits
.
getString
(
"total"
);
return
total
;
}
}
return
"0"
;
}
}
...
...
src/main/java/org/jeecg/modules/jmreport/desreport/util/e.java
0 → 100644
View file @
2d73788
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package
org
.
jeecg
.
modules
.
jmreport
.
desreport
.
util
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
java.awt.image.BufferedImage
;
import
java.awt.image.ImageObserver
;
import
java.io.ByteArrayInputStream
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.Reader
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Modifier
;
import
java.math.BigDecimal
;
import
java.sql.Blob
;
import
java.sql.Clob
;
import
java.sql.SQLException
;
import
java.text.DecimalFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
javax.imageio.ImageIO
;
import
javax.servlet.http.HttpServletRequest
;
import
org.jeecg.modules.jmreport.api.data.IDataSetFactory
;
import
org.jeecg.modules.jmreport.common.b.d
;
import
org.jeecg.modules.jmreport.common.b.f
;
import
org.jeecg.modules.jmreport.common.b.g
;
import
org.jeecg.modules.jmreport.common.b.i
;
import
org.jeecg.modules.jmreport.common.constant.c
;
import
org.jeecg.modules.jmreport.common.expetion.JimuReportException
;
import
org.jeecg.modules.jmreport.config.client.JmReportTokenClient
;
import
org.jeecg.modules.jmreport.desreport.entity.JmReportDbField
;
import
org.jeecg.modules.jmreport.desreport.express.ExpressUtil
;
import
org.jeecg.modules.jmreport.desreport.model.JmPage
;
import
org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils
;
import
org.jeecg.modules.jmreport.dyndb.query.a
;
import
org.jeecg.modules.jmreport.dyndb.util.b
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.ResponseEntity
;
public
class
e
{
private
static
final
Logger
e
=
LoggerFactory
.
getLogger
(
e
.
class
);
private
static
JmReportTokenClient
f
;
public
static
final
String
a
=
" where "
;
public
static
final
String
b
=
" and "
;
public
static
final
String
c
=
" or "
;
public
static
final
String
d
=
"0"
;
public
e
()
{
}
public
static
boolean
a
(
List
var0
)
{
return
var0
!=
null
&&
var0
.
size
()
>
0
;
}
public
static
JSONObject
a
(
JSONObject
var0
)
{
ArrayList
var1
=
new
ArrayList
();
Iterator
var2
=
var0
.
keySet
().
iterator
();
while
(
var2
.
hasNext
())
{
String
var3
=
(
String
)
var2
.
next
();
if
(
g
.
d
(
var3
)
!=
null
&&
!
"NaN"
.
equals
(
var3
)
&&
!
"len"
.
equals
(
var3
)
&&
!
"cells"
.
equals
(
var3
))
{
var1
.
add
(
Integer
.
parseInt
(
var3
));
}
}
Collections
.
sort
(
var1
);
JSONArray
var8
=
new
JSONArray
();
JSONObject
var4
=
new
JSONObject
(
true
);
JSONObject
var7
;
for
(
Iterator
var5
=
var1
.
iterator
();
var5
.
hasNext
();
var7
=
null
)
{
Integer
var6
=
(
Integer
)
var5
.
next
();
var7
=
var0
.
getJSONObject
(
String
.
valueOf
(
var6
));
var8
.
add
(
var7
);
var4
.
put
(
String
.
valueOf
(
var6
),
var7
);
}
return
var4
;
}
public
static
List
<
Map
<
String
,
Object
>>
b
(
List
<
Map
<
String
,
Object
>>
var0
)
{
if
(
g
.
c
(
var0
))
{
return
null
;
}
else
{
ArrayList
var1
=
new
ArrayList
();
Iterator
var2
=
var0
.
iterator
();
while
(
true
)
{
Map
var3
;
do
{
if
(!
var2
.
hasNext
())
{
return
var1
;
}
var3
=
(
Map
)
var2
.
next
();
}
while
(
var3
==
null
);
LinkedHashMap
var4
=
new
LinkedHashMap
(
5
);
Set
var5
=
var3
.
keySet
();
Object
var8
;
String
var11
;
for
(
Iterator
var6
=
var5
.
iterator
();
var6
.
hasNext
();
var4
.
put
(
var11
,
var8
))
{
String
var7
=
(
String
)
var6
.
next
();
var8
=
var3
.
get
(
var7
);
if
(
var8
instanceof
Clob
)
{
var8
=
a
((
Clob
)
var8
);
}
else
if
(
var8
instanceof
byte
[])
{
var8
=
new
String
((
byte
[])((
byte
[])
var8
));
}
else
if
(
var8
instanceof
Blob
)
{
try
{
if
(
var8
!=
null
)
{
Blob
var9
=
(
Blob
)
var8
;
var8
=
new
String
(
var9
.
getBytes
(
1L
,
(
int
)
var9
.
length
()),
"UTF-8"
);
}
}
catch
(
Exception
var10
)
{
var10
.
printStackTrace
();
}
}
var11
=
var7
.
toLowerCase
();
if
(
var8
!=
null
&&
var8
.
toString
().
matches
(
"^[\\s\\S]*\\.0+$"
))
{
var8
=
var8
.
toString
();
}
}
var1
.
add
(
var4
);
}
}
}
public
static
String
a
(
Clob
var0
)
{
String
var1
=
""
;
try
{
Reader
var2
=
var0
.
getCharacterStream
();
char
[]
var3
=
new
char
[(
int
)
var0
.
length
()];
var2
.
read
(
var3
);
var1
=
new
String
(
var3
);
var2
.
close
();
}
catch
(
IOException
var4
)
{
var4
.
printStackTrace
();
}
catch
(
SQLException
var5
)
{
var5
.
printStackTrace
();
}
return
var1
;
}
private
static
void
a
(
String
var0
,
String
var1
,
String
var2
,
StringBuffer
var3
)
{
if
(
"number"
.
equals
(
var0
))
{
var3
.
append
(
var1
);
}
else
if
(
org
.
jeecg
.
modules
.
jmreport
.
dyndb
.
util
.
b
.
b
(
var2
)
&&
var0
.
toLowerCase
().
indexOf
(
"date"
)
>=
0
)
{
var3
.
append
(
l
.
a
(
var1
));
}
else
{
var3
.
append
(
"'"
+
var1
+
"'"
);
}
}
public
static
void
a
(
String
var0
,
String
var1
,
JmReportDbField
var2
,
JSONObject
var3
,
StringBuffer
var4
)
{
String
var5
=
var2
.
getFieldName
();
String
var6
=
var0
+
"__"
+
var5
;
String
var7
=
var2
.
getWidgetType
();
Object
var8
;
String
var9
;
if
(
org
.
jeecg
.
modules
.
jmreport
.
common
.
constant
.
c
.
h
.
equals
(
var2
.
getSearchMode
()))
{
var8
=
var3
.
get
(
var6
+
"_begin"
);
if
(
var8
!=
null
)
{
var9
=
var8
.
toString
();
if
(!
""
.
equals
(
var9
))
{
var4
.
append
(
" AND "
+
var5
+
">="
);
a
(
var7
,
var9
,
var1
,
var4
);
}
}
Object
var12
=
var3
.
get
(
var6
+
"_end"
);
if
(
var12
!=
null
)
{
String
var10
=
var12
.
toString
();
if
(!
""
.
equals
(
var10
))
{
var4
.
append
(
" AND "
+
var5
+
"<="
);
a
(
var7
,
var10
,
var1
,
var4
);
}
}
}
else
{
var8
=
var3
.
get
(
var6
);
if
(
var8
!=
null
)
{
var9
=
var8
.
toString
();
if
(!
""
.
equals
(
var9
))
{
var4
.
append
(
" AND "
);
if
(
org
.
jeecg
.
modules
.
jmreport
.
dyndb
.
util
.
b
.
b
(
var1
)
&&
var7
.
toLowerCase
().
indexOf
(
"date"
)
>=
0
)
{
var4
.
append
(
var5
+
"="
+
l
.
a
(
var9
));
}
else
{
boolean
var13
=
!
"number"
.
equals
(
var7
);
String
var11
=
org
.
jeecg
.
modules
.
jmreport
.
dyndb
.
query
.
a
.
a
(
var5
,
""
,
var8
,
var13
);
var4
.
append
(
var11
);
}
}
}
}
}
public
static
String
a
(
String
var0
,
Map
<
String
,
Object
>
var1
)
{
if
(
var0
!=
null
&&
!
""
.
equals
(
var0
))
{
if
(
var0
.
endsWith
(
";"
))
{
var0
=
var0
.
substring
(
0
,
var0
.
length
()
-
1
);
}
i
.
a
(
var0
);
var0
=
b
(
var0
,
var1
);
var0
=
a
(
var0
,
"\\$"
);
return
var0
;
}
else
{
throw
new
JimuReportException
(
"sql为空"
);
}
}
public
static
String
a
(
String
var0
,
Map
<
String
,
Object
>
var1
,
JSONArray
var2
)
{
if
(
var0
!=
null
&&
!
""
.
equals
(
var0
))
{
if
(
var0
.
endsWith
(
";"
))
{
var0
=
var0
.
substring
(
0
,
var0
.
length
()
-
1
);
}
i
.
a
(
var0
);
var0
=
b
(
var0
,
var1
);
var0
=
a
(
var2
,
var0
);
var0
=
a
(
var0
,
"\\$"
);
return
var0
;
}
else
{
throw
new
JimuReportException
(
"sql为空"
);
}
}
public
static
String
a
(
String
var0
,
String
var1
)
{
var0
=
var0
.
replaceAll
(
"(?i) where "
,
" where "
);
var0
=
var0
.
replaceAll
(
"(?i) and "
,
" and "
);
var0
=
var0
.
replaceAll
(
"(?i) or "
,
" or "
);
String
var2
=
"(,\\s*|\\s*(\\w|\\.)+\\s*[^, ]+ *\\S*)"
+
var1
+
"\\{\\w+\\}\\S*"
;
Pattern
var3
=
Pattern
.
compile
(
var2
);
for
(
Matcher
var4
=
var3
.
matcher
(
var0
);
var4
.
find
();
e
.
debug
(
"${}替换后结果 ==>"
+
var0
))
{
String
var5
=
var4
.
group
();
e
.
debug
(
"${}匹配带参SQL片段 ==>"
+
var5
);
String
var6
;
if
(
var5
.
indexOf
(
" where "
)
!=
-
1
)
{
var6
=
var5
.
substring
(
0
,
var5
.
indexOf
(
" where "
));
var0
=
var0
.
replace
(
var5
,
var6
+
" where 1=1"
);
}
else
if
(
var5
.
indexOf
(
" and "
)
!=
-
1
)
{
var5
=
var5
.
substring
(
var5
.
indexOf
(
"and"
));
if
(
var5
.
indexOf
(
"("
)
!=
-
1
)
{
var5
=
var5
.
substring
(
var5
.
indexOf
(
"("
)
+
1
);
var0
=
var0
.
replace
(
var5
,
" 1=1 "
);
}
else
{
var0
=
var0
.
replace
(
var5
,
"and 1=1"
);
}
}
else
if
(
var5
.
indexOf
(
" or "
)
!=
-
1
)
{
var5
=
var5
.
substring
(
var5
.
indexOf
(
"or"
));
if
(
var5
.
indexOf
(
"("
)
!=
-
1
)
{
var5
=
var5
.
substring
(
var5
.
indexOf
(
"("
)
+
1
);
var0
=
var0
.
replace
(
var5
,
" 1=1 "
);
}
else
{
var0
=
var0
.
replace
(
var5
,
"or 1=1"
);
}
}
else
if
(
var5
.
startsWith
(
","
))
{
var0
=
var0
.
replace
(
var5
,
" ,1 "
);
}
else
{
var6
=
e
(
var0
);
if
(!
var0
.
contains
(
"case"
)
&&
g
.
c
(
var6
)
!=
null
)
{
var0
=
var0
.
replace
(
var5
,
" 1=1 "
);
}
}
}
var0
=
var0
.
replaceAll
(
"(?i)\\(\\s*1=1\\s*(AND|OR)"
,
"("
);
var0
=
var0
.
replaceAll
(
"(?i)(AND|OR)\\s*1=1"
,
""
);
return
var0
;
}
public
static
String
b
(
String
var0
,
Map
<
String
,
Object
>
var1
)
{
if
(
var1
!=
null
)
{
Set
var2
=
a
(
var0
);
if
(
null
!=
var2
&&
var2
.
size
()
>
0
)
{
Iterator
var3
=
var2
.
iterator
();
while
(
var3
.
hasNext
())
{
String
var4
=
(
String
)
var3
.
next
();
if
(
var1
.
get
(
var4
)
!=
null
)
{
String
var5
=
var1
.
get
(
var4
).
toString
();
var0
=
var0
.
replace
(
"#{"
+
var4
+
"}"
,
var5
);
}
else
{
var0
=
var0
.
replace
(
"#{"
+
var4
+
"}"
,
""
);
}
}
}
}
else
{
var0
=
a
(
var0
,
"\\#"
);
}
return
var0
;
}
public
static
Set
<
String
>
a
(
String
var0
)
{
if
(
g
.
c
(
var0
)
!=
null
)
{
return
null
;
}
else
{
HashSet
var1
=
new
HashSet
();
String
var2
=
"\\#\\{\\w+\\}"
;
Pattern
var3
=
Pattern
.
compile
(
var2
);
Matcher
var4
=
var3
.
matcher
(
var0
);
while
(
var4
.
find
())
{
String
var5
=
var4
.
group
();
var1
.
add
(
var5
.
substring
(
var5
.
indexOf
(
"{"
)
+
1
,
var5
.
indexOf
(
"}"
)));
}
return
var1
;
}
}
public
static
List
<
String
>
b
(
String
var0
)
{
if
(
g
.
c
(
var0
)
!=
null
)
{
return
null
;
}
else
{
ArrayList
var1
=
new
ArrayList
();
String
var2
=
"\\$\\{\\w+\\}"
;
Pattern
var3
=
Pattern
.
compile
(
var2
);
Matcher
var4
=
var3
.
matcher
(
var0
);
while
(
var4
.
find
())
{
String
var5
=
var4
.
group
();
var1
.
add
(
var5
.
substring
(
var5
.
indexOf
(
"{"
)
+
1
,
var5
.
indexOf
(
"}"
)));
}
return
var1
;
}
}
public
static
String
a
(
String
var0
,
Map
<
String
,
Object
>
var1
,
String
var2
)
{
HttpServletRequest
var3
=
org
.
jeecg
.
modules
.
jmreport
.
common
.
b
.
f
.
getHttpServletRequest
();
String
var4
=
a
(
var3
);
String
var5
=
"\\{\\{\\s*domainURL\\s*\\}\\}"
;
var0
=
a
(
var0
,
var5
,
var4
);
String
var6
=
"#\\{\\s*sys_base_path\\s*\\}"
;
var0
=
a
(
var0
,
var6
,
var4
);
String
var7
=
"#\\{\\s*api_base_path\\s*\\}"
;
var0
=
a
(
var0
,
var7
,
var2
);
var0
=
b
(
var0
,
var1
);
return
var0
;
}
private
static
String
a
(
String
var0
,
String
var1
,
String
var2
)
{
Pattern
var3
=
Pattern
.
compile
(
var1
);
Matcher
var4
=
var3
.
matcher
(
var0
);
if
(
var4
.
find
())
{
var0
=
var0
.
replaceAll
(
var1
,
var2
);
}
return
var0
;
}
public
static
String
a
(
HttpServletRequest
var0
)
{
String
var1
=
var0
.
getScheme
();
String
var2
=
var0
.
getServerName
();
int
var3
=
var0
.
getServerPort
();
String
var4
=
var0
.
getContextPath
();
return
var1
+
"://"
+
var2
+
":"
+
var3
+
var4
;
}
public
static
String
b
(
String
url
,
String
token
)
{
HttpHeaders
var2
=
a
();
if
(
var2
==
null
)
{
var2
=
new
HttpHeaders
();
if
(
g
.
c
(
token
)
!=
null
&&
f
!=
null
)
{
token
=
f
.
getToken
();
}
var2
.
add
(
"X-Access-Token"
,
token
);
var2
.
add
(
"token"
,
token
);
}
ResponseEntity
var3
=
null
;
try
{
// es查询不拼接分页字段
if
(
url
.
indexOf
(
"/_sql?sql="
)
!=
-
1
&&
url
.
indexOf
(
"&"
)
!=
-
1
){
url
=
url
.
split
(
"&"
)[
0
];
}
var3
=
n
.
a
(
url
,
var2
,
String
.
class
,
new
Object
[
0
]);
}
catch
(
Exception
var5
)
{
e
.
error
(
"GET 请求url="
+
url
+
" , api调用专用 error: "
+
var5
.
getMessage
());
return
null
;
}
return
(
String
)
var3
.
getBody
();
}
public
static
String
a
(
String
var0
,
String
var1
,
Map
<
String
,
Object
>
var2
)
{
HttpHeaders
var3
=
a
();
if
(
var3
==
null
)
{
var3
=
new
HttpHeaders
();
if
(
g
.
c
(
var1
)
!=
null
&&
f
!=
null
)
{
var1
=
f
.
getToken
();
}
var3
.
add
(
"X-Access-Token"
,
var1
);
var3
.
add
(
"token"
,
var1
);
}
ResponseEntity
var4
=
null
;
try
{
var4
=
n
.
a
(
var0
,
var3
,
var2
,
String
.
class
,
new
Object
[
0
]);
}
catch
(
Exception
var6
)
{
e
.
error
(
"POST请求 URL="
+
var0
+
" , api调用专用 error: "
+
var6
.
getMessage
());
return
null
;
}
return
(
String
)
var4
.
getBody
();
}
public
static
String
a
(
String
var0
,
String
var1
,
JSONObject
var2
)
{
HashMap
var3
=
new
HashMap
(
5
);
if
(
var2
!=
null
)
{
Iterator
var4
=
var2
.
entrySet
().
iterator
();
while
(
var4
.
hasNext
())
{
Map
.
Entry
var5
=
(
Map
.
Entry
)
var4
.
next
();
var3
.
put
(
var5
.
getKey
(),
var5
.
getValue
());
}
}
return
a
((
String
)
var0
,
(
String
)
var1
,
(
Map
)
var3
);
}
private
static
boolean
a
(
InputStream
var0
)
{
if
(
var0
==
null
)
{
return
false
;
}
else
{
BufferedImage
var1
=
null
;
boolean
var2
;
try
{
var1
=
ImageIO
.
read
(
var0
);
if
(
var1
==
null
||
var1
.
getWidth
((
ImageObserver
)
null
)
<=
0
||
var1
.
getHeight
((
ImageObserver
)
null
)
<=
0
)
{
var2
=
false
;
return
var2
;
}
var2
=
true
;
}
catch
(
Exception
var7
)
{
boolean
var3
=
false
;
return
var3
;
}
finally
{
var1
=
null
;
}
return
var2
;
}
}
public
static
void
a
(
String
var0
,
File
var1
)
{
ByteArrayInputStream
var2
=
null
;
FileOutputStream
var3
=
null
;
ResponseEntity
var4
=
n
.
a
(
var0
,
byte
[].
class
);
byte
[]
var5
=
(
byte
[])
var4
.
getBody
();
short
var6
=
1024
;
try
{
var2
=
new
ByteArrayInputStream
(
var5
);
if
(
a
((
InputStream
)
var2
))
{
throw
new
JimuReportException
(
"图片格式非法,存在安全漏洞风险!"
);
}
var3
=
new
FileOutputStream
(
var1
);
boolean
var7
=
false
;
byte
[]
var8
=
new
byte
[
var6
];
int
var27
;
while
((
var27
=
var2
.
read
(
var8
,
0
,
var6
))
!=
-
1
)
{
var3
.
write
(
var8
,
0
,
var27
);
}
var3
.
flush
();
}
catch
(
FileNotFoundException
var24
)
{
var24
.
printStackTrace
();
}
catch
(
IOException
var25
)
{
var25
.
printStackTrace
();
}
finally
{
if
(
var2
!=
null
)
{
try
{
var2
.
close
();
}
catch
(
IOException
var23
)
{
var23
.
printStackTrace
();
}
}
if
(
var3
!=
null
)
{
try
{
var3
.
close
();
}
catch
(
IOException
var22
)
{
var22
.
printStackTrace
();
}
}
}
}
private
static
String
l
(
String
var0
)
{
if
(
var0
.
indexOf
(
"token"
)
<
0
)
{
return
null
;
}
else
{
int
var1
=
var0
.
indexOf
(
"?"
);
if
(
var1
<
0
)
{
return
null
;
}
else
{
String
var2
=
var0
.
substring
(
var1
+
1
);
String
[]
var3
=
var2
.
split
(
"&"
);
String
var4
=
null
;
String
[]
var5
=
var3
;
int
var6
=
var3
.
length
;
for
(
int
var7
=
0
;
var7
<
var6
;
++
var7
)
{
String
var8
=
var5
[
var7
];
String
[]
var9
=
var8
.
split
(
"="
);
if
(
var9
[
0
].
equals
(
"token"
))
{
var4
=
var9
[
1
];
break
;
}
}
return
var4
;
}
}
}
public
static
Object
c
(
String
var0
,
String
var1
)
{
if
(
g
.
d
(
var1
)
!=
null
)
{
Object
var2
=
null
;
if
(
"java-class"
.
equals
(
var0
))
{
try
{
var2
=
c
(
var1
).
newInstance
();
}
catch
(
InstantiationException
var4
)
{
e
.
error
(
var4
.
getMessage
(),
var4
);
}
catch
(
IllegalAccessException
var5
)
{
e
.
error
(
var5
.
getMessage
(),
var5
);
}
}
else
if
(
"spring-key"
.
equals
(
var0
))
{
var2
=
org
.
jeecg
.
modules
.
jmreport
.
common
.
b
.
f
.
a
(
var1
);
}
return
var2
;
}
else
{
return
null
;
}
}
public
static
Class
c
(
String
var0
)
{
Class
var1
=
null
;
try
{
var1
=
Class
.
forName
(
var0
);
return
var1
;
}
catch
(
ClassNotFoundException
var3
)
{
var3
.
printStackTrace
();
throw
new
RuntimeException
(
var0
+
" not found!"
);
}
}
public
static
IDataSetFactory
d
(
String
var0
,
String
var1
)
{
Object
var2
=
c
(
var0
,
var1
);
if
(
var2
!=
null
&&
var2
instanceof
IDataSetFactory
)
{
IDataSetFactory
var3
=
(
IDataSetFactory
)
var2
;
return
var3
;
}
else
{
return
null
;
}
}
public
static
List
<
Map
<
String
,
Object
>>
a
(
IDataSetFactory
var0
,
Map
<
String
,
Object
>
var1
,
Boolean
var2
)
{
List
var3
;
if
(
var2
)
{
JmPage
var4
=
var0
.
createPageData
(
var1
);
var3
=
var4
.
getRecords
();
}
else
{
var3
=
var0
.
createData
(
var1
);
}
ArrayList
var11
=
null
;
if
(
var3
!=
null
&&
var3
.
size
()
>
0
)
{
var11
=
new
ArrayList
();
Map
var5
=
(
Map
)
var3
.
get
(
0
);
int
var6
=
1
;
Iterator
var7
=
var5
.
entrySet
().
iterator
();
while
(
var7
.
hasNext
())
{
Map
.
Entry
var8
=
(
Map
.
Entry
)
var7
.
next
();
String
var9
=
(
String
)
var8
.
getKey
();
LinkedHashMap
var10
=
new
LinkedHashMap
();
var10
.
put
(
"fieldName"
,
var9
);
var10
.
put
(
"fieldText"
,
var9
);
var10
.
put
(
"widgetType"
,
"String"
);
var10
.
put
(
"orderNum"
,
var6
++);
var11
.
add
(
var10
);
}
}
return
var11
;
}
public
static
Map
<
String
,
Object
>
b
(
JSONObject
var0
)
{
HashMap
var1
=
new
HashMap
(
5
);
Iterator
var2
=
var0
.
entrySet
().
iterator
();
while
(
var2
.
hasNext
())
{
Map
.
Entry
var3
=
(
Map
.
Entry
)
var2
.
next
();
var1
.
put
(
var3
.
getKey
(),
var3
.
getValue
());
}
return
var1
;
}
private
static
HttpHeaders
a
()
{
HttpHeaders
var0
=
null
;
if
(
f
==
null
)
{
f
=
(
JmReportTokenClient
)
org
.
jeecg
.
modules
.
jmreport
.
common
.
b
.
f
.
a
(
JmReportTokenClient
.
class
);
}
if
(
f
!=
null
)
{
var0
=
f
.
customApiHeader
();
}
return
var0
;
}
public
static
String
d
(
String
var0
)
{
String
var1
=
var0
.
replaceAll
(
"\\{\""
,
"{'"
).
replaceAll
(
"\":\""
,
"':'"
).
replaceAll
(
"\",\""
,
"','"
).
replaceAll
(
"\":"
,
"':"
).
replaceAll
(
",\""
,
",'"
).
replaceAll
(
"\"\\}"
,
"'}"
).
replaceAll
(
"\""
,
""
).
replaceAll
(
" "
,
""
).
replaceAll
(
"'"
,
"\""
).
replaceAll
(
"\\\\"
,
""
);
return
var1
;
}
public
static
String
a
(
String
var0
,
SimpleDateFormat
var1
)
{
Matcher
var2
=
k
.
b
.
matcher
(
var0
);
if
(
var2
.
find
())
{
Date
var3
=
new
Date
(
Long
.
valueOf
(
var0
));
String
var4
=
var1
.
format
(
var3
);
return
var4
;
}
else
{
return
""
;
}
}
public
static
String
a
(
String
var0
,
Integer
var1
)
{
DecimalFormat
var2
=
null
;
String
var3
=
"###,##0"
;
String
var4
=
org
.
jeecg
.
modules
.
jmreport
.
common
.
b
.
d
.
a
(
var1
,
var3
,
var0
);
var2
=
new
DecimalFormat
(
var4
);
double
var5
=
0.0
;
try
{
var5
=
Double
.
parseDouble
(
var0
);
}
catch
(
Exception
var8
)
{
var5
=
0.0
;
}
return
var2
.
format
(
var5
);
}
public
static
boolean
a
(
int
var0
,
String
var1
,
String
var2
)
{
if
(
var1
!=
null
&&
var1
.
length
()
==
var0
)
{
SimpleDateFormat
var4
=
new
SimpleDateFormat
(
var2
);
try
{
Date
var5
=
var4
.
parse
(
var1
);
return
var1
.
equals
(
var4
.
format
(
var5
));
}
catch
(
Exception
var6
)
{
return
false
;
}
}
else
{
return
false
;
}
}
public
static
String
e
(
String
var0
)
{
if
(
var0
.
toLowerCase
().
trim
().
startsWith
(
"call"
))
{
StringBuilder
var1
=
new
StringBuilder
(
var0
.
length
()
+
10
);
var1
.
append
(
"{"
);
var1
.
append
(
var0
.
trim
());
var1
.
append
(
"}"
);
return
var1
.
toString
();
}
else
{
return
null
;
}
}
public
static
String
b
(
String
var0
,
Integer
var1
)
{
DecimalFormat
var2
=
null
;
String
var3
=
org
.
jeecg
.
modules
.
jmreport
.
common
.
b
.
d
.
a
(
var1
,
"###,##0"
,
var0
);
var2
=
new
DecimalFormat
(
var3
);
double
var4
=
0.0
;
try
{
var4
=
Double
.
parseDouble
(
var0
);
}
catch
(
Exception
var7
)
{
var4
=
0.0
;
}
return
var2
.
format
(
var4
);
}
public
static
String
c
(
String
var0
,
Integer
var1
)
{
String
var2
=
org
.
jeecg
.
modules
.
jmreport
.
common
.
b
.
d
.
a
(
var1
,
"###,##0"
,
var0
);
DecimalFormat
var3
=
new
DecimalFormat
(
var2
);
BigDecimal
var4
=
new
BigDecimal
(
var0
);
return
var3
.
format
(
var4
)
+
"%"
;
}
public
static
String
e
(
String
var0
,
String
var1
)
{
if
(
"date"
.
equals
(
var0
))
{
if
(
var1
!=
null
&&
!
""
.
equals
(
var1
))
{
if
(
"yyyy-mm-dd HH:mm:ss"
.
equalsIgnoreCase
(
var1
))
{
return
"datetime"
;
}
else
if
(
"yyyy-mm-dd"
.
equalsIgnoreCase
(
var1
))
{
return
"date"
;
}
else
if
(
"yyyy"
.
equalsIgnoreCase
(
var1
))
{
return
"year"
;
}
else
if
(
"yyyy-mm"
.
equalsIgnoreCase
(
var1
))
{
return
"month"
;
}
else
if
(
"MM"
.
equals
(
var1
))
{
return
"month"
;
}
else
if
(
"dd"
.
equals
(
var1
))
{
return
"date"
;
}
else
{
Matcher
var2
=
k
.
e
.
matcher
(
var1
);
return
var2
.
find
()
?
"time"
:
"datetime"
;
}
}
else
{
return
"date"
;
}
}
else
{
return
var0
;
}
}
public
static
JSONObject
f
(
String
var0
)
{
JSONObject
var1
=
new
JSONObject
();
if
(
var0
!=
null
&&
var0
.
indexOf
(
"?"
)
>
0
)
{
String
var2
=
var0
.
substring
(
var0
.
indexOf
(
"?"
)
+
1
);
String
[]
var3
=
var2
.
split
(
"&"
);
String
[]
var4
=
var3
;
int
var5
=
var3
.
length
;
for
(
int
var6
=
0
;
var6
<
var5
;
++
var6
)
{
String
var7
=
var4
[
var6
];
String
[]
var8
=
var7
.
split
(
"="
);
String
var9
=
""
;
if
(
var8
.
length
==
2
)
{
var9
=
var8
[
1
];
}
var1
.
put
(
var8
[
0
],
var9
);
}
}
return
var1
;
}
public
static
<
T
>
String
a
(
T
var0
,
Class
<
T
>
var1
,
String
var2
,
Map
<
String
,
String
>
var3
)
{
ArrayList
var4
=
new
ArrayList
();
ArrayList
var5
=
new
ArrayList
();
if
(
var3
==
null
)
{
var3
=
a
(
var1
);
}
Iterator
var6
=
var3
.
keySet
().
iterator
();
String
var7
;
String
var8
;
while
(
var6
.
hasNext
())
{
var7
=
(
String
)
var6
.
next
();
try
{
var8
=
(
String
)
var3
.
get
(
var7
);
String
[]
var9
=
var8
.
split
(
"#"
);
String
var10
=
var9
[
0
];
String
var11
=
var9
[
1
];
var4
.
add
(
var11
);
Method
var12
=
var1
.
getMethod
(
var7
);
Object
var13
=
var12
.
invoke
(
var0
);
if
(
var13
==
null
)
{
var5
.
add
(
"null"
);
}
else
if
(
""
.
equals
(
var13
.
toString
()))
{
var5
.
add
(
"''"
);
}
else
if
(
"date"
.
equals
(
var10
))
{
Date
var14
=
(
Date
)
var13
;
String
var15
=
ExpressUtil
.
getDatetimeFormat
().
format
(
var14
);
var5
.
add
(
"'"
+
var15
+
"'"
);
}
else
if
(
"int"
.
equals
(
var10
))
{
var5
.
add
(
var13
.
toString
());
}
else
{
String
var20
=
var13
.
toString
().
replaceAll
(
"\\'"
,
"\\'\\'"
);
var5
.
add
(
"'"
+
var20
+
"'"
);
}
}
catch
(
NoSuchMethodException
var16
)
{
var16
.
printStackTrace
();
}
catch
(
IllegalAccessException
var17
)
{
var17
.
printStackTrace
();
}
catch
(
InvocationTargetException
var18
)
{
var18
.
printStackTrace
();
}
}
String
var19
=
String
.
join
(
","
,
var4
);
var7
=
String
.
join
(
","
,
var5
);
var8
=
"insert into "
+
var2
+
"("
+
var19
+
") values ("
+
var7
+
");\r\n"
;
return
var8
;
}
public
static
Map
<
String
,
String
>
a
(
Class
var0
)
{
Field
[]
var1
=
var0
.
getDeclaredFields
();
HashMap
var2
=
new
HashMap
(
5
);
Field
[]
var3
=
var1
;
int
var4
=
var1
.
length
;
for
(
int
var5
=
0
;
var5
<
var4
;
++
var5
)
{
Field
var6
=
var3
[
var5
];
if
(
a
(
var6
))
{
String
var7
=
var6
.
getName
();
String
var8
=
g
.
d
(
var7
);
String
var9
=
"get"
+
var7
.
substring
(
0
,
1
).
toUpperCase
()
+
var7
.
substring
(
1
);
String
var10
=
var6
.
getType
().
toString
().
toLowerCase
();
if
(
var10
.
indexOf
(
"date"
)
>=
0
)
{
var2
.
put
(
var9
,
"date#"
+
var8
);
}
else
if
(
var10
.
indexOf
(
"int"
)
>=
0
)
{
var2
.
put
(
var9
,
"int#"
+
var8
);
}
else
{
var2
.
put
(
var9
,
"string#"
+
var8
);
}
}
}
return
var2
;
}
// public static <T> String a(List<T> var0, Class<T> var1, String var2) {
// StringBuffer var3 = new StringBuffer();
// Map var4 = a(var1);
// Iterator var5 = var0.iterator();
//
// while(var5.hasNext()) {
// Object var6 = var5.next();
// var3.append(a(var6, var1, var2, var4));
// }
//
// var3.append("\r\n");
// return var3.toString();
// }
private
static
boolean
a
(
Field
var0
)
{
Class
var1
=
var0
.
getType
();
String
var2
=
var1
.
toString
().
toLowerCase
();
String
var3
=
"list"
;
String
var4
=
"map"
;
String
var5
=
"static"
;
if
(
var2
.
indexOf
(
var3
)
<
0
&&
var2
.
indexOf
(
var4
)
<
0
)
{
Annotation
[]
var6
=
var0
.
getAnnotations
();
if
(
var6
!=
null
)
{
Annotation
[]
var7
=
var6
;
int
var8
=
var6
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
Annotation
var10
=
var7
[
var9
];
String
var11
=
var10
.
toString
().
toLowerCase
();
if
(
var11
.
indexOf
(
"transient"
)
>=
0
)
{
return
false
;
}
}
}
String
var12
=
Modifier
.
toString
(
var0
.
getModifiers
()).
toLowerCase
();
if
(
var12
.
indexOf
(
"transient"
)
>=
0
)
{
return
false
;
}
else
{
return
var12
.
indexOf
(
var5
)
<
0
;
}
}
else
{
return
false
;
}
}
public
static
String
a
(
JSONArray
var0
,
String
var1
)
{
HashMap
var2
=
new
HashMap
(
5
);
String
var3
=
"\\$\\{(\\S+)\\}"
;
Pattern
var4
=
Pattern
.
compile
(
var3
);
Matcher
var5
=
var4
.
matcher
(
var1
);
while
(
var5
.
find
())
{
String
var6
=
var5
.
group
().
replace
(
"${"
,
""
).
replace
(
"}"
,
""
);
var2
.
put
(
var6
,
var5
.
group
());
}
if
(
null
!=
var0
&&
var0
.
size
()
>
0
)
{
for
(
int
var11
=
0
;
var11
<
var0
.
size
();
++
var11
)
{
JSONObject
var7
=
var0
.
getJSONObject
(
var11
);
Object
var8
=
var7
.
get
(
"paramName"
);
Object
var9
=
var7
.
get
(
"paramValue"
);
String
var10
;
if
(
g
.
d
(
var8
)
&&
g
.
d
(
var9
))
{
var10
=
ExpressUtil
.
a
(
String
.
valueOf
(
var9
),
(
Map
)
null
);
var1
=
var1
.
replace
(
"${"
+
var8
+
"}"
,
var10
);
var1
=
var1
.
replace
(
"'${"
+
var8
+
"}'"
,
var10
);
}
if
(
g
.
d
(
var8
))
{
if
(
g
.
d
(
var9
))
{
var10
=
ExpressUtil
.
a
(
String
.
valueOf
(
var9
),
(
Map
)
null
);
var2
.
put
(
String
.
valueOf
(
var8
),
var10
);
}
else
{
var2
.
put
(
String
.
valueOf
(
var8
),
""
);
}
}
}
}
var1
=
FreeMarkerUtils
.
a
(
var1
,
var2
);
return
var1
;
}
public
static
String
f
(
String
var0
,
String
var1
)
{
if
(
var0
.
startsWith
(
"="
))
{
int
var2
=
var0
.
indexOf
(
"("
)
+
1
;
int
var3
=
var0
.
lastIndexOf
(
")"
);
String
var4
=
var0
.
substring
(
var2
,
var3
);
String
[]
var5
=
var4
.
split
(
","
);
if
(
var0
.
contains
(
":"
))
{
var5
=
var4
.
split
(
":"
);
}
else
{
var5
=
var4
.
split
(
","
);
}
ArrayList
var6
=
new
ArrayList
();
String
[]
var7
=
var5
;
int
var8
=
var5
.
length
;
for
(
int
var9
=
0
;
var9
<
var8
;
++
var9
)
{
String
var10
=
var7
[
var9
];
Pattern
var11
=
Pattern
.
compile
(
"([A-Z]+)([0-9]+)"
);
Matcher
var12
=
var11
.
matcher
(
var10
);
if
(
var12
.
find
())
{
String
var13
=
var12
.
group
(
1
);
String
var14
=
var12
.
group
(
2
);
var1
=
String
.
format
(
var1
,
var14
);
var6
.
add
(
var13
+
g
(
var14
,
var1
));
}
else
{
var6
.
add
(
var10
);
}
}
String
var15
=
""
;
if
(
var0
.
contains
(
":"
))
{
var15
=
String
.
join
(
":"
,
var6
);
}
else
{
var15
=
String
.
join
(
","
,
var6
);
}
String
var16
=
var0
.
substring
(
0
,
var2
)
+
var15
+
var0
.
substring
(
var3
);
System
.
out
.
println
(
"result:"
+
var16
);
return
var16
;
}
else
{
return
var0
;
}
}
private
static
String
g
(
String
var0
,
String
var1
)
{
return
var1
;
}
public
static
String
g
(
String
var0
)
{
return
var0
.
replaceAll
(
"\\\\"
,
""
);
}
public
static
String
h
(
String
var0
)
{
if
(
g
.
d
(
var0
)
!=
null
&&
var0
.
indexOf
(
"?"
)
!=
0
)
{
String
var1
=
var0
.
substring
(
var0
.
indexOf
(
"?"
),
var0
.
length
());
if
(
var1
.
indexOf
(
"+"
)
!=
-
1
)
{
var1
=
var1
.
replaceAll
(
"\\+"
,
"%2B"
);
}
if
(
var1
.
indexOf
(
"#"
)
!=
-
1
)
{
var1
=
var1
.
replaceAll
(
"#"
,
"%23"
);
}
if
(
var1
.
indexOf
(
"&"
)
!=
-
1
)
{
var1
=
var1
.
replaceAll
(
"@"
,
"%26"
);
}
String
var2
=
var0
.
substring
(
0
,
var0
.
indexOf
(
"?"
));
var0
=
var2
+
var1
;
}
return
var0
;
}
public
static
String
i
(
String
var0
)
{
if
(
var0
.
indexOf
(
"http"
)
==
-
1
)
{
HttpServletRequest
var1
=
org
.
jeecg
.
modules
.
jmreport
.
common
.
b
.
f
.
getHttpServletRequest
();
String
var2
=
a
(
var1
);
var0
=
var2
+
var0
;
}
return
var0
;
}
public
static
String
j
(
String
var0
)
{
String
var1
=
"^[a-z0-9A-Z#]+$"
;
boolean
var2
=
FunctionAnalysisUtils
.
a
(
var1
,
var0
);
if
(!
var2
)
{
return
""
;
}
else
if
(
var0
.
contains
(
"rgb"
))
{
var0
=
var0
.
replace
(
"rgb"
,
""
).
replace
(
"("
,
""
).
replace
(
")"
,
""
);
String
[]
var8
=
var0
.
split
(
","
);
return
var8
.
length
==
3
?
var0
:
""
;
}
else
{
String
var3
;
if
(!
var0
.
contains
(
"#"
))
{
var3
=
org
.
jeecg
.
modules
.
jmreport
.
desreport
.
util
.
c
.
a
(
var0
);
return
var3
;
}
else
{
int
var4
;
int
var5
;
if
(
var0
.
length
()
==
4
)
{
var0
=
var0
.
replace
(
"#"
,
""
);
var3
=
""
;
for
(
var4
=
0
;
var4
<
var0
.
length
();
++
var4
)
{
var5
=
var0
.
charAt
(
var4
);
var3
=
var3
+
var5
+
var5
;
}
var0
=
"#"
+
var3
;
}
if
(
var0
.
length
()
==
7
)
{
try
{
int
var7
=
Integer
.
parseInt
(
var0
.
substring
(
1
,
3
),
16
);
var4
=
Integer
.
parseInt
(
var0
.
substring
(
3
,
5
),
16
);
var5
=
Integer
.
parseInt
(
var0
.
substring
(
5
,
7
),
16
);
return
var7
+
","
+
var4
+
","
+
var5
;
}
catch
(
NumberFormatException
var6
)
{
e
.
info
(
"颜色转换不了16进制,rgb:"
+
var0
);
return
""
;
}
}
else
{
return
""
;
}
}
}
}
public
static
String
k
(
String
var0
)
{
if
(
var0
.
endsWith
(
";"
))
{
var0
=
var0
.
substring
(
0
,
var0
.
length
()
-
1
);
}
return
var0
;
}
}
...
...
Please
register
or
login
to post a comment