Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
a4ab1642
Commit
a4ab1642
authored
Jul 09, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor: 优化查询条件和模糊查询字段
parent
e9fa9973
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
21 deletions
+24
-21
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+24
-21
No files found.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/service/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
View file @
a4ab1642
...
...
@@ -253,21 +253,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if
(
v
instanceof
JSONArray
)
{
if
(!((
JSONArray
)
v
).
contains
(
"all"
)
&&
((
JSONArray
)
v
).
size
()
>
0
)
{
String
field
=
k
;
if
(
k
.
equals
(
"newPost"
)
||
k
.
equals
(
"subPost"
)
||
k
.
equals
(
"unitType"
))
{
boolMust
.
must
(
existsQuery
(
field
));
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
if
(
k
.
equals
(
"unitType"
)
&&
item
.
equals
(
"企业"
))
{
item
=
"使用单位"
;
}
enhancedDynamicQueryBuilder
.
add
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
item
+
"*"
),
or
);
});
boolMust
.
should
(
enhancedDynamicQueryBuilder
.
build
()).
minimumShouldMatch
(
1
);
}
else
if
(
k
.
equals
(
"equipType"
))
{
if
(
k
.
equals
(
"newPost"
)
||
k
.
equals
(
"subPost"
)
||
k
.
equals
(
"equipType"
))
{
boolMust
.
must
(
existsQuery
(
field
));
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
enhancedDynamicQueryBuilder
.
add
(
QueryBuilders
.
wildcardQuery
(
field
,
"*"
+
item
+
"*"
),
or
));
boolMust
.
should
(
enhancedDynamicQueryBuilder
.
build
()).
minimumShouldMatch
(
1
);
}
else
if
(
k
.
equals
(
"unitType"
))
{
boolMust
.
must
(
existsQuery
(
field
));
((
JSONArray
)
v
).
forEach
(
item
->
boolMust
.
should
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
(
item
.
equals
(
"企业"
)
?
"使用单位"
:
item
)
+
"*"
)).
minimumShouldMatch
(
1
));
}
else
if
(
k
.
equals
(
"education"
))
{
boolMust
.
must
(
existsQuery
(
field
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
,
(
JSONArray
)
v
);
...
...
@@ -508,6 +501,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if
(!
ObjectUtils
.
isEmpty
(
filter
.
get
(
"filterParams"
)))
{
filterParams
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
filter
.
get
(
"filterParams"
)));
String
filterType
=
filter
.
getString
(
"filterType"
);
if
(
filterParams
.
containsKey
(
"unitType"
)
&&
!
filterParams
.
getString
(
"unitType"
).
equals
(
"all"
)){
filterParams
.
remove
(
"unitCategory"
);
}
//快捷筛选和自定义筛选解析筛选规则不一致
if
(
filterType
.
equals
(
"advanced"
))
{
filterParams
.
forEach
((
k
,
v
)
->
{
...
...
@@ -516,14 +512,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
field
=
k
;
if
(
k
.
equals
(
"regulatoryLabels"
)
||
k
.
equals
(
"equipCategory"
)
||
k
.
equals
(
"unitType"
))
{
boolMust
.
must
(
existsQuery
(
field
));
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
if
(
k
.
equals
(
"unitType"
)
&&
item
.
equals
(
"企业"
))
{
item
=
"使用单位"
;
}
enhancedDynamicQueryBuilder
.
add
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
item
+
"*"
),
or
);
});
boolMust
.
should
(
enhancedDynamicQueryBuilder
.
build
()).
minimumShouldMatch
(
1
);
((
JSONArray
)
v
).
forEach
(
item
->
boolMust
.
should
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
(
item
.
equals
(
"企业"
)
?
"使用单位"
:
item
)
+
"*"
)).
minimumShouldMatch
(
1
));
}
else
if
(
k
.
equals
(
"industrySupervisor"
)
||
k
.
equals
(
"operatingStatus"
))
{
boolMust
.
must
(
existsQuery
(
field
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
+
".keyword"
,
((
JSONArray
)
v
).
get
(
0
));
...
...
@@ -575,6 +564,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
fuzzyValue
=
String
.
valueOf
(
v
);
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
();
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"useUnit.keyword"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"address.keyword"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"superviseOrgName.keyword"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"contactUser.keyword"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
minimumShouldMatch
(
1
);
boolMust
.
must
(
queryBuilder
);
}
else
if
(
k
.
equals
(
"unitCategory"
))
{
...
...
@@ -721,9 +713,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
else
if
(
item
.
equals
(
"near"
))
{
// 临期:小于等于当前日期加上30天
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gte
(
LocalDate
.
now
().
format
(
formatter
)).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
or
);
}
else
{
}
else
if
(
item
.
equals
(
"normal"
))
{
// 正常:大于当前日期加上30天
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
or
);
}
else
{
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
existsQuery
(
finalField
)),
or
);
}
});
boolMust
.
must
(
queryBuilder
.
build
());
...
...
@@ -732,7 +726,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONArray
dates
=
(
JSONArray
)
v
;
String
startDate
=
dates
.
getString
(
0
);
String
endDate
=
dates
.
getString
(
1
);
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
field
).
gte
(
startDate
).
lte
(
endDate
));
if
(
k
.
equals
(
"USE_DATE"
)
||
k
.
equals
(
"issueDate"
))
{
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
field
).
gte
(
startDate
).
lt
(
endDate
));
}
else
{
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
field
).
gte
(
startDate
).
lte
(
endDate
));
}
}
else
if
(
k
.
equals
(
"EQU_LIST"
)
||
k
.
equals
(
"EQU_CATEGORY"
)
||
k
.
equals
(
"EQU_DEFINE"
)
||
k
.
equals
(
"EQU_STATE"
)
||
k
.
equals
(
"DATA_QUALITY_SCORE"
))
{
if
(
k
.
equals
(
"EQU_LIST"
))
{
field
=
"EQU_LIST_CODE"
;
...
...
@@ -787,6 +785,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"EQU_CATEGORY"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"EQU_DEFINE"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"PRODUCT_NAME"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"USE_ORG_CODE"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"USE_UNIT_NAME"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"SAFETY_MANAGER"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_NAME"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"MAINTAIN_UNIT_NAME"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
minimumShouldMatch
(
1
);
boolMust
.
must
(
queryBuilder
);
}
else
if
(
k
.
equals
(
"WHETHER_VEHICLE_CYLINDER"
))
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment