Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibiz-boot-starters
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibiz-boot-starters
提交
571d4ed0
提交
571d4ed0
编写于
9月 02, 2024
作者:
xignzi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复.eq .in等相关查询条件值未设置异常
上级
0390107b
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
140 行增加
和
131 行删除
+140
-131
BaseFilter.java
...t/ibizsys/central/plugin/boot/core/filter/BaseFilter.java
+140
-131
未找到文件。
ibiz-boot-starter/src/main/java/net/ibizsys/central/plugin/boot/core/filter/BaseFilter.java
浏览文件 @
571d4ed0
...
@@ -51,23 +51,22 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -51,23 +51,22 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@Override
@Override
public
void
init
(
IDEMethodDTORuntime
iDEMethodDTORuntime
,
Object
objData
,
boolean
bDTOData
)
throws
Exception
{
public
void
init
(
IDEMethodDTORuntime
iDEMethodDTORuntime
,
Object
objData
,
boolean
bDTOData
)
throws
Exception
{
if
(!(
iDEMethodDTORuntime
instanceof
IDEFilterDTORuntime
))
{
if
(!(
iDEMethodDTORuntime
instanceof
IDEFilterDTORuntime
))
{
throw
new
Exception
(
String
.
format
(
"传入实体方法DTO运行时对象不正确"
));
throw
new
Exception
(
String
.
format
(
"传入实体方法DTO运行时对象不正确"
));
}
}
if
(!
bDTOData
)
{
if
(!
bDTOData
)
{
throw
new
Exception
(
String
.
format
(
"仅支持传入DTO"
));
throw
new
Exception
(
String
.
format
(
"仅支持传入DTO"
));
}
}
this
.
iDEFilterDTORuntime
=
(
IDEFilterDTORuntime
)
iDEMethodDTORuntime
;
this
.
iDEFilterDTORuntime
=
(
IDEFilterDTORuntime
)
iDEMethodDTORuntime
;
if
(
objData
instanceof
Map
)
{
if
(
objData
instanceof
Map
)
{
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
objData
;
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
objData
;
for
(
java
.
util
.
Map
.
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
for
(
java
.
util
.
Map
.
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
())
{
if
(
entry
.
getKey
().
equalsIgnoreCase
(
"searchconds"
)&&(!
ObjectUtils
.
isEmpty
(
entry
.
getValue
())))
if
(
entry
.
getKey
().
equalsIgnoreCase
(
"searchconds"
)
&&
(!
ObjectUtils
.
isEmpty
(
entry
.
getValue
())))
{
{
List
list
=
(
List
)
entry
.
getValue
();
List
list
=(
List
)
entry
.
getValue
();
if
(!(
list
.
get
(
0
)
instanceof
ISearchCond
))
if
(!(
list
.
get
(
0
)
instanceof
ISearchCond
))
continue
;
continue
;
}
}
...
@@ -79,35 +78,33 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -79,35 +78,33 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
}
}
protected
void
onInit
()
throws
Exception
{
protected
void
onInit
()
throws
Exception
{
Object
objSearchConds
=
this
.
getSearchConds
();
Object
objSearchConds
=
this
.
getSearchConds
();
if
(
objSearchConds
!=
null
)
{
if
(
objSearchConds
!=
null
)
{
//实际展开条件
//实际展开条件
if
(
objSearchConds
instanceof
List
)
{
if
(
objSearchConds
instanceof
List
)
{
List
list
=
new
ArrayList
();
List
list
=
new
ArrayList
();
((
List
)
objSearchConds
).
forEach
(
objItem
->
{
((
List
)
objSearchConds
).
forEach
(
objItem
->
{
if
(!(
objItem
instanceof
Map
))
{
if
(!(
objItem
instanceof
Map
))
{
return
;
return
;
}
}
list
.
add
(
objItem
);
list
.
add
(
objItem
);
});
});
for
(
Object
objItem
:
list
)
{
for
(
Object
objItem
:
list
)
{
ISearchCond
iSearchCond
=
net
.
ibizsys
.
central
.
util
.
SearchGroupCond
.
getSearchCond
((
Map
)
objItem
,
true
);
ISearchCond
iSearchCond
=
net
.
ibizsys
.
central
.
util
.
SearchGroupCond
.
getSearchCond
((
Map
)
objItem
,
true
);
if
(
iSearchCond
!=
null
)
{
if
(
iSearchCond
!=
null
)
{
this
.
getSearchCondsIf
().
add
(
iSearchCond
);
this
.
getSearchCondsIf
().
add
(
iSearchCond
);
}
}
}
}
}
}
}
}
if
(
this
.
getDEMethodDTORuntime
()!=
null
)
{
if
(
this
.
getDEMethodDTORuntime
()
!=
null
)
{
//计算查询条件
//计算查询条件
java
.
util
.
List
<
IPSDEFilterDTOField
>
psDEFilterDTOFieldList
=
this
.
getDEMethodDTORuntime
().
getPSDEFilterDTO
().
getPSDEFilterDTOFields
();
java
.
util
.
List
<
IPSDEFilterDTOField
>
psDEFilterDTOFieldList
=
this
.
getDEMethodDTORuntime
().
getPSDEFilterDTO
().
getPSDEFilterDTOFields
();
if
(
psDEFilterDTOFieldList
!=
null
)
{
if
(
psDEFilterDTOFieldList
!=
null
)
{
for
(
IPSDEFilterDTOField
iPSDEFilterDTOField
:
psDEFilterDTOFieldList
)
{
for
(
IPSDEFilterDTOField
iPSDEFilterDTOField
:
psDEFilterDTOFieldList
)
{
Object
objValue
=
this
.
get
(
iPSDEFilterDTOField
.
getLowerCaseName
());
Object
objValue
=
this
.
get
(
iPSDEFilterDTOField
.
getLowerCaseName
());
if
(
ObjectUtils
.
isEmpty
(
objValue
))
{
if
(
ObjectUtils
.
isEmpty
(
objValue
))
{
continue
;
continue
;
}
}
...
@@ -118,21 +115,21 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -118,21 +115,21 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
searchFieldCond
.
setValue
(
iPSDEFilterDTOField
.
getLowerCaseName
());
searchFieldCond
.
setValue
(
iPSDEFilterDTOField
.
getLowerCaseName
());
searchFieldCond
.
setDataType
(
iPSDEFilterDTOField
.
getStdDataType
());
searchFieldCond
.
setDataType
(
iPSDEFilterDTOField
.
getStdDataType
());
searchFieldCond
.
setValueFunc
(
iPSDEFilterDTOField
.
getPSDEFSearchModeMust
().
getValueFunc
());
searchFieldCond
.
setValueFunc
(
iPSDEFilterDTOField
.
getPSDEFSearchModeMust
().
getValueFunc
());
if
(
StringUtils
.
isEmpty
(
searchFieldCond
.
getValueFunc
())&&
hasFieldCond
(
iPSDEFilterDTOField
.
getLowerCaseName
()))
if
(
StringUtils
.
isEmpty
(
searchFieldCond
.
getValueFunc
())
&&
hasFieldCond
(
iPSDEFilterDTOField
.
getLowerCaseName
()))
continue
;
continue
;
this
.
getSearchCondsIf
().
add
(
searchFieldCond
);
this
.
getSearchCondsIf
().
add
(
searchFieldCond
);
}
}
}
}
if
(!
ObjectUtils
.
isEmpty
(
query
))
{
if
(!
ObjectUtils
.
isEmpty
(
query
))
{
//获取所有支持快速搜索的属性
//获取所有支持快速搜索的属性
List
<
IPSDEField
>
psDEFieldList
=
this
.
getDEMethodDTORuntime
().
getDataEntityRuntime
().
getQuickSearchPSDEFields
();
List
<
IPSDEField
>
psDEFieldList
=
this
.
getDEMethodDTORuntime
().
getDataEntityRuntime
().
getQuickSearchPSDEFields
();
if
(
psDEFieldList
!=
null
&&
psDEFieldList
.
size
()
>
0
)
{
if
(
psDEFieldList
!=
null
&&
psDEFieldList
.
size
()
>
0
)
{
SearchGroupCond
searchGroupCond
=
new
SearchGroupCond
();
SearchGroupCond
searchGroupCond
=
new
SearchGroupCond
();
searchGroupCond
.
setCondOp
(
Conditions
.
OR
);
searchGroupCond
.
setCondOp
(
Conditions
.
OR
);
for
(
IPSDEField
iPSDEField:
psDEFieldList
)
{
for
(
IPSDEField
iPSDEField
:
psDEFieldList
)
{
SearchFieldCond
searchFieldCond
=
new
SearchFieldCond
();
SearchFieldCond
searchFieldCond
=
new
SearchFieldCond
();
searchFieldCond
.
setFieldName
(
iPSDEField
.
getName
());
searchFieldCond
.
setFieldName
(
iPSDEField
.
getName
());
searchFieldCond
.
setParamMode
(
true
);
searchFieldCond
.
setParamMode
(
true
);
...
@@ -151,9 +148,9 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -151,9 +148,9 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
}
}
Object
predefinedcond
=
this
.
get
(
PARAM_PREDEFINEDCOND
);
Object
predefinedcond
=
this
.
get
(
PARAM_PREDEFINEDCOND
);
if
(
predefinedcond
instanceof
String
)
{
if
(
predefinedcond
instanceof
String
)
{
if
(!
ObjectUtils
.
isEmpty
(
predefinedcond
))
{
if
(!
ObjectUtils
.
isEmpty
(
predefinedcond
))
{
SearchContextDTO
.
addSearchPredefinedCond
(
this
,
(
String
)
predefinedcond
,
null
);
SearchContextDTO
.
addSearchPredefinedCond
(
this
,
(
String
)
predefinedcond
,
null
);
}
}
}
}
}
}
...
@@ -174,16 +171,18 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -174,16 +171,18 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
private
List
<
ISearchCond
>
searchconds
=
null
;
private
List
<
ISearchCond
>
searchconds
=
null
;
@Override
@Override
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
public
List
<
ISearchCond
>
getSearchConds
()
{
public
List
<
ISearchCond
>
getSearchConds
()
{
return
searchconds
;
return
searchconds
;
}
}
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
public
List
<
ISearchCond
>
getSearchCondsIf
()
{
public
List
<
ISearchCond
>
getSearchCondsIf
()
{
if
(
this
.
searchconds
==
null
)
{
if
(
this
.
searchconds
==
null
)
{
this
.
searchconds
=
new
ArrayList
<
ISearchCond
>();
this
.
searchconds
=
new
ArrayList
<
ISearchCond
>();
}
}
return
this
.
searchconds
;
return
this
.
searchconds
;
...
@@ -195,36 +194,36 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -195,36 +194,36 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
SearchFieldCond
searchFieldCond
=
new
SearchFieldCond
();
SearchFieldCond
searchFieldCond
=
new
SearchFieldCond
();
searchFieldCond
.
setFieldName
(
strFieldName
);
searchFieldCond
.
setFieldName
(
strFieldName
);
searchFieldCond
.
setCondOp
(
strCondOp
);
searchFieldCond
.
setCondOp
(
strCondOp
);
if
(
Conditions
.
ISNULL
.
equals
(
strCondOp
)
if
(
Conditions
.
ISNULL
.
equals
(
strCondOp
)
||
Conditions
.
ISNOTNULL
.
equals
(
strCondOp
))
{
||
Conditions
.
ISNOTNULL
.
equals
(
strCondOp
))
{
objValue
=
"1"
;
objValue
=
"1"
;
}
}
searchFieldCond
.
setParamMode
(
true
);
searchFieldCond
.
setParamMode
(
true
);
String
strParamName
=
String
.
format
(
"n_%1$s_%2$s"
,
strFieldName
,
strCondOp
).
toLowerCase
();
String
strParamName
=
String
.
format
(
"n_%1$s_%2$s"
,
strFieldName
,
strCondOp
).
toLowerCase
();
if
(!
hasFieldCond
(
strParamName
))
{
if
(!
hasFieldCond
(
strParamName
))
{
searchFieldCond
.
setValue
(
strParamName
);
searchFieldCond
.
setValue
(
strParamName
);
this
.
getParamMap
().
put
(
strParamName
,
objValue
);
this
.
getParamMap
().
put
(
strParamName
,
objValue
);
this
.
getSearchCondsIf
().
add
(
searchFieldCond
);
this
.
getSearchCondsIf
().
add
(
searchFieldCond
);
}
}
String
fieldRealName
=
FieldCache
.
getFieldRealName
(
BaseFilter
.
class
,
strParamName
);
FieldCache
.
FieldItem
filedItem
=
FieldCache
.
getField
(
this
.
getClass
(),
strParamName
);
if
(
StringUtils
.
isEmpty
(
fieldRealName
)
&&
(!
this
.
getClass
().
isAssignableFrom
(
BaseFilter
.
class
)))
{
if
(
filedItem
!=
null
)
{
fieldRealName
=
FieldCache
.
getFieldRealName
(
this
.
getClass
(),
strParamName
);
}
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
try
{
try
{
Field
field
=
this
.
getClass
().
getDeclaredField
(
fieldRealName
);
Field
field
=
filedItem
.
getField
(
);
field
.
setAccessible
(
true
);
field
.
setAccessible
(
true
);
if
(
objValue
instanceof
Collection
)
{
if
(
objValue
instanceof
Collection
)
{
Collection
collection
=
(
Collection
)
objValue
;
Collection
collection
=
(
Collection
)
objValue
;
Object
joinObject
=
collection
.
stream
().
collect
(
Collectors
.
joining
(
","
));
Object
joinObject
=
collection
.
stream
().
collect
(
Collectors
.
joining
(
","
));
field
.
set
(
this
,
joinObject
!=
null
?
String
.
valueOf
(
joinObject
)
:
joinObject
);
field
.
set
(
this
,
joinObject
!=
null
?
String
.
valueOf
(
joinObject
)
:
joinObject
);
}
else
{
}
else
if
(
objValue
instanceof
String
[])
{
String
[]
array
=
(
String
[])
objValue
;
Collection
collection
=
Arrays
.
asList
(
array
);
Object
joinObject
=
collection
.
stream
().
collect
(
Collectors
.
joining
(
","
));
field
.
set
(
this
,
joinObject
!=
null
?
String
.
valueOf
(
joinObject
)
:
joinObject
);
}
else
{
field
.
set
(
this
,
objValue
);
field
.
set
(
this
,
objValue
);
}
}
}
catch
(
NoSuchFieldException
e
)
{
}
catch
(
IllegalAccessException
e
)
{
}
catch
(
IllegalAccessException
e
)
{
}
}
...
@@ -234,11 +233,12 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -234,11 +233,12 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
}
}
public
boolean
hasFieldCond
(
String
fieldCondName
)
{
public
boolean
hasFieldCond
(
String
fieldCondName
)
{
return
this
.
getSearchCondsIf
().
stream
().
filter
(
f
->
f
instanceof
SearchFieldCond
&&
fieldCondName
.
equals
(((
SearchFieldCond
)
f
).
getValue
())).
count
()>
0
;
return
this
.
getSearchCondsIf
().
stream
().
filter
(
f
->
f
instanceof
SearchFieldCond
&&
fieldCondName
.
equals
(((
SearchFieldCond
)
f
).
getValue
())).
count
()
>
0
;
}
}
/**
/**
* 指定属性值等于条件值
* 指定属性值等于条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -249,6 +249,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -249,6 +249,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值不等于条件值
* 指定属性值不等于条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -259,6 +260,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -259,6 +260,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值大于条件值
* 指定属性值大于条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -269,6 +271,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -269,6 +271,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值大于等于条件值
* 指定属性值大于等于条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -279,6 +282,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -279,6 +282,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值小于条件值
* 指定属性值小于条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -289,6 +293,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -289,6 +293,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值小于等于条件值
* 指定属性值小于等于条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -299,6 +304,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -299,6 +304,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值匹配条件值
* 指定属性值匹配条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -309,6 +315,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -309,6 +315,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值左侧匹配条件值
* 指定属性值左侧匹配条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -319,6 +326,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -319,6 +326,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值右侧匹配条件值
* 指定属性值右侧匹配条件值
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -329,6 +337,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -329,6 +337,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值为空
* 指定属性值为空
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -339,6 +348,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -339,6 +348,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值不为空
* 指定属性值不为空
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -349,6 +359,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -349,6 +359,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值在值范围中
* 指定属性值在值范围中
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -359,6 +370,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -359,6 +370,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 指定属性值不在值范围中
* 指定属性值不在值范围中
*
* @param strFieldName
* @param strFieldName
*/
*/
@Override
@Override
...
@@ -369,6 +381,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -369,6 +381,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 添加自定义条件
* 添加自定义条件
*
* @param strCustomCond
* @param strCustomCond
*/
*/
@Override
@Override
...
@@ -392,7 +405,6 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -392,7 +405,6 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
}
}
@Override
@Override
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
...
@@ -446,6 +458,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -446,6 +458,7 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
/**
/**
* 设置直接变量值
* 设置直接变量值
*
* @param strName
* @param strName
* @param objValue
* @param objValue
* @return
* @return
...
@@ -496,8 +509,8 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -496,8 +509,8 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
public
String
getDrillDownCond
()
{
public
String
getDrillDownCond
()
{
Object
drilldowncond
=
this
.
get
(
PARAM_DRILLDOWNCOND
);
Object
drilldowncond
=
this
.
get
(
PARAM_DRILLDOWNCOND
);
if
(
drilldowncond
instanceof
String
)
{
if
(
drilldowncond
instanceof
String
)
{
return
(
String
)
drilldowncond
;
return
(
String
)
drilldowncond
;
}
}
return
null
;
return
null
;
}
}
...
@@ -508,30 +521,33 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -508,30 +521,33 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
public
String
getGroupCond
()
{
public
String
getGroupCond
()
{
Object
groupcond
=
this
.
get
(
PARAM_GROUPCOND
);
Object
groupcond
=
this
.
get
(
PARAM_GROUPCOND
);
if
(
groupcond
instanceof
String
)
{
if
(
groupcond
instanceof
String
)
{
return
(
String
)
groupcond
;
return
(
String
)
groupcond
;
}
}
return
null
;
return
null
;
}
}
public
void
setCount
(
boolean
count
)
public
void
setCount
(
boolean
count
)
{
{
this
.
setObject
(
"count"
,
count
);
this
.
setObject
(
"count"
,
count
);
}
}
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
public
boolean
getCount
(){
return
this
.
getBoolean
(
"count"
,
true
).
booleanValue
();}
public
boolean
getCount
()
{
return
this
.
getBoolean
(
"count"
,
true
).
booleanValue
();
}
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
public
boolean
isCount
(){
return
this
.
getBoolean
(
"count"
,
true
).
booleanValue
();}
public
boolean
isCount
()
{
return
this
.
getBoolean
(
"count"
,
true
).
booleanValue
();
}
@Override
@Override
public
BaseFilter
count
(
boolean
bCount
)
{
public
BaseFilter
count
(
boolean
bCount
)
{
this
.
setObject
(
"count"
,
bCount
);
this
.
setObject
(
"count"
,
bCount
);
return
this
;
return
this
;
}
}
...
@@ -540,13 +556,15 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -540,13 +556,15 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
public
Long
offset
=
0L
;
public
Long
offset
=
0L
;
public
String
sort
;
public
String
sort
;
public
void
setSort
(
String
sort
)
{
public
void
setSort
(
String
sort
)
{
if
(
sort
!=
null
)
{
if
(
sort
!=
null
)
{
sort
=
sort
.
trim
();
sort
=
sort
.
trim
();
this
.
setPageSort
(
sort
);
this
.
setPageSort
(
sort
);
}
}
this
.
sort
=
sort
;
this
.
sort
=
sort
;
}
}
@Override
@Override
public
BaseFilter
sort
(
String
strSortInfo
)
{
public
BaseFilter
sort
(
String
strSortInfo
)
{
this
.
setSort
(
strSortInfo
);
this
.
setSort
(
strSortInfo
);
...
@@ -556,12 +574,13 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -556,12 +574,13 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
private
Sort
pageSort
=
null
;
private
Sort
pageSort
=
null
;
public
void
setPageSort
(
String
strSortInfo
)
{
public
void
setPageSort
(
String
strSortInfo
)
{
Sort
pageSort
=
null
;
Sort
pageSort
=
null
;
if
(
StringUtils
.
hasLength
(
strSortInfo
))
{
if
(
StringUtils
.
hasLength
(
strSortInfo
))
{
List
<
Sort
.
Order
>
list
=
new
ArrayList
<
Sort
.
Order
>();
List
<
Sort
.
Order
>
list
=
new
ArrayList
<
Sort
.
Order
>();
String
[]
parts
=
strSortInfo
.
split
(
"[;]"
);
String
[]
parts
=
strSortInfo
.
split
(
"[;]"
);
for
(
String
strPart
:
parts
)
{
for
(
String
strPart
:
parts
)
{
String
[]
items
=
strPart
.
split
(
"[,]"
);
String
[]
items
=
strPart
.
split
(
"[,]"
);
if
(
items
.
length
==
1
)
{
if
(
items
.
length
==
1
)
{
list
.
add
(
Sort
.
Order
.
asc
(
items
[
0
]));
list
.
add
(
Sort
.
Order
.
asc
(
items
[
0
]));
...
@@ -577,8 +596,8 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -577,8 +596,8 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
pageSort
=
Sort
.
by
(
list
);
pageSort
=
Sort
.
by
(
list
);
}
}
}
}
this
.
sort
=
strSortInfo
;
this
.
sort
=
strSortInfo
;
this
.
pageSort
=
pageSort
;
this
.
pageSort
=
pageSort
;
}
}
@Override
@Override
...
@@ -603,26 +622,25 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -603,26 +622,25 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@Override
@Override
public
void
setPageSort
(
Sort
pageSort
)
{
public
void
setPageSort
(
Sort
pageSort
)
{
String
strSortInfo
=
null
;
String
strSortInfo
=
null
;
if
(
pageSort
!=
null
&&
pageSort
!=
Sort
.
unsorted
())
{
if
(
pageSort
!=
null
&&
pageSort
!=
Sort
.
unsorted
())
{
java
.
util
.
Iterator
<
Sort
.
Order
>
orders
=
pageSort
.
iterator
();
java
.
util
.
Iterator
<
Sort
.
Order
>
orders
=
pageSort
.
iterator
();
if
(
orders
!=
null
)
{
if
(
orders
!=
null
)
{
List
<
String
>
sortInfos
=
new
ArrayList
<>();
List
<
String
>
sortInfos
=
new
ArrayList
<>();
while
(
orders
.
hasNext
())
{
while
(
orders
.
hasNext
())
{
Sort
.
Order
order
=
orders
.
next
();
Sort
.
Order
order
=
orders
.
next
();
if
(
order
.
isAscending
())
{
if
(
order
.
isAscending
())
{
sortInfos
.
add
(
String
.
format
(
"%1$s,asc"
,
order
.
getProperty
()));
sortInfos
.
add
(
String
.
format
(
"%1$s,asc"
,
order
.
getProperty
()));
}
}
else
{
else
{
sortInfos
.
add
(
String
.
format
(
"%1$s,desc"
,
order
.
getProperty
()));
sortInfos
.
add
(
String
.
format
(
"%1$s,desc"
,
order
.
getProperty
()));
}
}
}
}
if
(
sortInfos
.
size
()>
0
)
if
(
sortInfos
.
size
()
>
0
)
strSortInfo
=
String
.
join
(
";"
,
sortInfos
);
strSortInfo
=
String
.
join
(
";"
,
sortInfos
);
}
}
}
}
this
.
sort
=
strSortInfo
;
this
.
sort
=
strSortInfo
;
this
.
pageSort
=
pageSort
;
this
.
pageSort
=
pageSort
;
}
}
@Override
@Override
...
@@ -649,27 +667,27 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -649,27 +667,27 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
private
Pageable
pageable
=
null
;
private
Pageable
pageable
=
null
;
public
void
setPageable
(
Pageable
pageable
){
this
.
page
=
pageable
.
getPageNumber
();
public
void
setPageable
(
Pageable
pageable
)
{
this
.
size
=
pageable
.
getPageSize
();
this
.
page
=
pageable
.
getPageNumber
();
this
.
offset
=
pageable
.
getOffset
();
this
.
size
=
pageable
.
getPageSize
();
this
.
pageable
=
pageable
;
this
.
offset
=
pageable
.
getOffset
();
this
.
pageable
=
pageable
;
}
}
public
void
setPageable
(
int
nPageNumber
,
int
nPageSize
,
long
nOffset
)
{
public
void
setPageable
(
int
nPageNumber
,
int
nPageSize
,
long
nOffset
)
{
this
.
setPageable
(
PageRequest
.
of
(
nPageNumber
,
nPageSize
,
nOffset
));
this
.
setPageable
(
PageRequest
.
of
(
nPageNumber
,
nPageSize
,
nOffset
));
}
}
public
Pageable
getPageable
()
{
public
Pageable
getPageable
()
{
if
(
pageable
==
null
)
{
if
(
pageable
==
null
)
{
pageable
=
PageRequest
.
of
(
page
,
size
,
offset
);
pageable
=
PageRequest
.
of
(
page
,
size
,
offset
);
}
}
return
pageable
;
return
pageable
;
}
}
public
Object
get
(
String
strName
)
{
public
Object
get
(
String
strName
){
return
getObject
(
strName
);
return
getObject
(
strName
);
}
}
...
@@ -682,103 +700,94 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -682,103 +700,94 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
@Transient
@Transient
private
BeanMap
getMap
()
private
BeanMap
getMap
()
{
{
if
(
map
==
null
)
{
if
(
map
==
null
)
{
map
=
BeanMap
.
create
(
this
);
map
=
BeanMap
.
create
(
this
);
}
}
return
map
;
return
map
;
}
}
public
Object
getObject
(
String
strName
)
public
Object
getObject
(
String
strName
)
{
{
String
fieldRealName
=
FieldCache
.
getFieldRealName
(
BaseFilter
.
class
,
strName
);
String
fieldRealName
=
FieldCache
.
getFieldRealName
(
BaseFilter
.
class
,
strName
);
if
(
StringUtils
.
isEmpty
(
fieldRealName
)
&&
(!
this
.
getClass
().
isAssignableFrom
(
BaseFilter
.
class
)))
{
if
(
StringUtils
.
isEmpty
(
fieldRealName
)&&(!
this
.
getClass
().
isAssignableFrom
(
BaseFilter
.
class
)))
{
fieldRealName
=
FieldCache
.
getFieldRealName
(
this
.
getClass
(),
strName
);
fieldRealName
=
FieldCache
.
getFieldRealName
(
this
.
getClass
(),
strName
);
}
}
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
return
getMap
().
get
(
fieldRealName
);
return
getMap
().
get
(
fieldRealName
);
}
}
else
{
else
{
return
this
.
getParamMap
().
get
(
strName
);
return
this
.
getParamMap
().
get
(
strName
);
}
}
}
}
public
QueryWrapper
<
T
>
getSearchCond
(
boolean
gen
)
public
QueryWrapper
<
T
>
getSearchCond
(
boolean
gen
)
{
{
return
QueryHelper
.
getQueryWrapper
(
this
);
return
QueryHelper
.
getQueryWrapper
(
this
);
}
}
public
void
modify
(
String
field
,
Object
val
)
{
public
void
modify
(
String
field
,
Object
val
)
{
}
}
public
void
set
(
String
field
,
String
value
)
{
public
void
set
(
String
field
,
String
value
)
{
setObject
(
field
,
value
);
setObject
(
field
,
value
);
}
}
public
void
set
(
String
field
,
Object
value
)
{
public
void
set
(
String
field
,
Object
value
)
{
setObject
(
field
,
value
);
setObject
(
field
,
value
);
}
}
@JsonAnySetter
@JsonAnySetter
@JSONField
(
name
=
"_any"
,
unwrapped
=
true
,
serialize
=
false
,
deserialize
=
true
)
@JSONField
(
name
=
"_any"
,
unwrapped
=
true
,
serialize
=
false
,
deserialize
=
true
)
public
void
setObject
(
String
field
,
Object
value
)
{
public
void
setObject
(
String
field
,
Object
value
)
{
try
try
{
{
switch
(
field
.
toLowerCase
())
{
switch
(
field
.
toLowerCase
())
{
case
"size"
:
case
"size"
:
this
.
setSize
(
DataTypeUtils
.
getIntegerValue
(
value
,
20
));
this
.
setSize
(
DataTypeUtils
.
getIntegerValue
(
value
,
20
));
break
;
break
;
case
"page"
:
case
"page"
:
this
.
setPage
(
DataTypeUtils
.
getIntegerValue
(
value
,
0
));
this
.
setPage
(
DataTypeUtils
.
getIntegerValue
(
value
,
0
));
break
;
break
;
case
"offset"
:
case
"offset"
:
this
.
setOffset
(
DataTypeUtils
.
getLongValue
(
value
,
0L
));
this
.
setOffset
(
DataTypeUtils
.
getLongValue
(
value
,
0L
));
break
;
break
;
case
"searchconds"
:
case
"searchconds"
:
if
((!
ObjectUtils
.
isEmpty
(
value
))&&
(
value
instanceof
List
))
if
((!
ObjectUtils
.
isEmpty
(
value
))
&&
(
value
instanceof
List
))
this
.
setSearchconds
((
List
)
value
);
this
.
setSearchconds
((
List
)
value
);
break
;
break
;
case
"query"
:
case
"query"
:
this
.
setQuery
(
DataTypeUtils
.
getStringValue
(
value
,
null
));
this
.
setQuery
(
DataTypeUtils
.
getStringValue
(
value
,
null
));
break
;
break
;
case
"pageable"
:
case
"pageable"
:
if
(
value
instanceof
Pageable
)
if
(
value
instanceof
Pageable
)
this
.
setPageable
((
Pageable
)
value
);
this
.
setPageable
((
Pageable
)
value
);
case
"pagesort"
:
case
"pagesort"
:
if
(
value
instanceof
Sort
)
if
(
value
instanceof
Sort
)
this
.
setPageSort
((
Sort
)
value
);
this
.
setPageSort
((
Sort
)
value
);
else
else
this
.
setPageSort
(
DataTypeUtils
.
getStringValue
(
value
,
null
));
this
.
setPageSort
(
DataTypeUtils
.
getStringValue
(
value
,
null
));
break
;
break
;
case
"sort"
:
case
"sort"
:
this
.
setSort
(
DataTypeUtils
.
getStringValue
(
value
,
null
));
this
.
setSort
(
DataTypeUtils
.
getStringValue
(
value
,
null
));
break
;
break
;
case
"idefilterdtoruntime"
:
case
"idefilterdtoruntime"
:
if
(
value
instanceof
IDEFilterDTORuntime
)
if
(
value
instanceof
IDEFilterDTORuntime
)
this
.
setIDEFilterDTORuntime
((
IDEFilterDTORuntime
)
value
);
this
.
setIDEFilterDTORuntime
((
IDEFilterDTORuntime
)
value
);
break
;
break
;
default
:
default
:
String
fieldRealName
=
FieldCache
.
getFieldRealName
(
this
.
getClass
(),
field
);
String
fieldRealName
=
FieldCache
.
getFieldRealName
(
this
.
getClass
(),
field
);
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
if
(
value
==
null
)
{
if
(
value
==
null
)
{
getMap
().
put
(
fieldRealName
,
null
);
getMap
().
put
(
fieldRealName
,
null
);
}
}
else
{
else
{
getMap
().
put
(
fieldRealName
,
FieldCache
.
fieldValueOf
(
this
.
getClass
(),
fieldRealName
,
value
));
getMap
().
put
(
fieldRealName
,
FieldCache
.
fieldValueOf
(
this
.
getClass
(),
fieldRealName
,
value
));
}
}
}
}
else
{
else
{
this
.
getParamMap
().
put
(
field
,
value
);
this
.
getParamMap
().
put
(
field
,
value
);
}
}
}
}
}
catch
(
Exception
ex
){}
}
catch
(
Exception
ex
)
{
}
}
}
...
@@ -787,14 +796,14 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
...
@@ -787,14 +796,14 @@ public class BaseFilter<T> extends BaseData implements ISearchContextDTO {
@JsonIgnore
@JsonIgnore
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
public
void
resetAll
()
{
public
void
resetAll
()
{
getMap
().
keySet
().
forEach
(
key
->
{
getMap
().
keySet
().
forEach
(
key
->
{
if
((!
key
.
toString
().
equalsIgnoreCase
(
"dataSet"
))&&
(!
key
.
toString
().
toLowerCase
().
endsWith
(
"defilterdtoruntime"
)))
if
((!
key
.
toString
().
equalsIgnoreCase
(
"dataSet"
))
&&
(!
key
.
toString
().
toLowerCase
().
endsWith
(
"defilterdtoruntime"
)))
map
.
put
(
key
,
null
);
map
.
put
(
key
,
null
);
});
});
super
.
resetAll
();
super
.
resetAll
();
page
=
0
;
page
=
0
;
size
=
20
;
size
=
20
;
offset
=
0L
;
offset
=
0L
;
}
}
public
String
getCat
()
{
public
String
getCat
()
{
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录