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
6f1b98f3
Commit
6f1b98f3
authored
Jul 03, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化筛选条件,增加设备所属单位类型筛选条件
parent
3dd3718d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
14 deletions
+21
-14
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+21
-14
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 @
6f1b98f3
...
...
@@ -33,10 +33,7 @@ import org.elasticsearch.action.search.SearchRequest;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.NestedQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.index.query.TermsQueryBuilder
;
import
org.elasticsearch.index.query.*
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.sort.FieldSortBuilder
;
...
...
@@ -413,7 +410,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
minimumShouldMatch
(
1
);
}
else
if
(
k
.
equals
(
"industrySupervisor"
)
||
k
.
equals
(
"operatingStatus"
))
{
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
field
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
+
".keyword"
,
((
JSONArray
)
v
).
get
(
0
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
+
".keyword"
,
((
JSONArray
)
v
).
get
(
0
));
boolMust
.
must
(
termsQuery
);
}
else
if
(
k
.
equals
(
"itemCode"
)
||
k
.
equals
(
"subItemCode"
)
||
k
.
equals
(
"permitStatus"
))
{
String
path
=
"licenses"
;
...
...
@@ -544,40 +541,50 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if
(
v
instanceof
JSONArray
)
{
if
(!((
JSONArray
)
v
).
contains
(
"all"
))
{
String
field
=
k
;
// todo 所属单位筛选争议,需确认后完成
if
(
k
.
equals
(
"NEXT_INSPECT_DATE"
))
{
if
(
k
.
equals
(
"unitType"
))
{
String
finalField
=
field
;
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
queryBuilder
.
add
(
QueryBuilders
.
wildcardQuery
(
finalField
,
"*"
+
item
+
"*"
),
or
);
});
boolMust
.
must
(
queryBuilder
.
build
());
}
else
if
(
k
.
equals
(
"NEXT_INSPECT_DATE"
))
{
String
finalField
=
field
;
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
finalField
));
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
if
(
item
.
equals
(
"overdue"
))
{
// 超期:小于当前日期
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
format
(
formatter
))
);
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
format
(
formatter
))),
or
);
}
else
if
(
item
.
equals
(
"near"
))
{
// 临期:小于等于当前日期加上30天
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gte
(
LocalDate
.
now
().
format
(
formatter
)).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))
);
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gte
(
LocalDate
.
now
().
format
(
formatter
)).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
or
);
}
else
{
// 正常:大于当前日期加上30天
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))
);
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
or
);
}
});
boolMust
.
must
(
queryBuilder
.
build
());
}
else
if
(
k
.
equals
(
"USC_DATE"
))
{
String
finalField
=
field
;
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
finalField
));
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
if
(
item
.
equals
(
"15"
))
{
// 15年以上:大于当前日期减去15年
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gt
(
LocalDate
.
now
().
minusYears
(
15
).
format
(
formatter
))
);
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gt
(
LocalDate
.
now
().
minusYears
(
15
).
format
(
formatter
))),
or
);
}
else
if
(
item
.
equals
(
"10-15"
))
{
// 10-15年:小于当前日期减去15年,大于等于当前日期减去10年
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
15
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
minusYears
(
10
).
format
(
formatter
))
);
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
15
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
minusYears
(
10
).
format
(
formatter
))),
or
);
}
else
if
(
item
.
equals
(
"5-10"
))
{
// 5-10年:小于当前日期减去10年,大于等于当前日期减去5年
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
10
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
))
);
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
10
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
))),
or
);
}
else
if
(
item
.
equals
(
"0-5"
))
{
// 0-5年:小于当前日期减去5年
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
))
);
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
))),
or
);
}
});
boolMust
.
must
(
queryBuilder
.
build
());
}
else
if
(
k
.
equals
(
"IS_SUPERVISORY_CODE"
))
{
String
finalField
=
k
;
((
JSONArray
)
v
).
forEach
(
item
->
{
...
...
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