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
be83eba2
Commit
be83eba2
authored
Jul 15, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor(core): 优化设备统计分析逻辑
parent
224e10de
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
24 deletions
+23
-24
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+23
-24
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 @
be83eba2
...
...
@@ -2795,8 +2795,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
staticCountByGroupMap
=
resourceJson
.
get
(
EquipmentClassifityEnum
.
ZHTJFX
.
getCode
());
}
SearchSourceBuilder
nextInspectBuilder
=
new
SearchSourceBuilder
();
Map
<
String
,
Long
>
staticCountByGroup
=
new
HashMap
<>();
getStatisticCountByGroup
(
request
,
builder
,
boolMust
,
groupField
,
staticCountByGroup
);
...
...
@@ -2808,8 +2806,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
for
(
Map
<
String
,
Object
>
categoryMap
:
staticCountByGroupMap
)
{
String
code
=
categoryMap
.
get
(
"value"
).
toString
();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
putAll
(
categoryMap
);
map
.
put
(
"value"
,
staticCountByGroup
.
get
(
code
));
map
.
put
(
"key"
,
categoryMap
.
get
(
"key"
));
map
.
put
(
"label"
,
categoryMap
.
get
(
"label"
));
map
.
put
(
"code"
,
categoryMap
.
get
(
"value"
));
map
.
put
(
"value"
,
staticCountByGroup
.
containsKey
(
code
)
?
staticCountByGroup
.
get
(
code
)
:
0
);
map
.
put
(
"img"
,
dpEquipPhotoPrefix
+
code
+
dpEquipPhotoSuffix
);
map
.
put
(
"measurementUnit"
,
"台套"
);
// 统计该分类下的数据完整性的分组数量 DATA_QUALITY_SCORE
...
...
@@ -2823,41 +2823,40 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Map
<
String
,
Long
>
nextInspectCountByGroup
=
new
HashMap
<>();
BoolQueryBuilder
nextInspectQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
boolMust
);
nextInspectQuery
.
must
(
QueryBuilders
.
termQuery
(
groupField
,
code
));
getStatisticCountByDate
(
StatisticalAnalysisEnum
.
equip
.
getKey
(),
nextInspectQuery
,
nextInspectCountByGroup
);
getStatisticCountByGroup
(
request
,
nextInspectBuilder
,
nextInspectQuery
,
"NEXT_INSPECT_DATE"
,
nextInspectCountByGroup
);
getStatisticCountByDate
(
StatisticalAnalysisEnum
.
equip
.
getKey
(),
"NEXT_INSPECT_DATE"
,
nextInspectQuery
,
nextInspectCountByGroup
);
map
.
put
(
"NEXT_INSPECT_DATE"
,
nextInspectCountByGroup
);
dataMapList
.
add
(
map
);
}
return
dataMapList
;
}
private
void
getStatisticCountByDate
(
String
key
,
BoolQueryBuilder
nextInspectQuery
,
Map
<
String
,
Long
>
nextInspectCountByGroup
)
{
private
void
getStatisticCountByDate
(
String
index
,
String
field
,
BoolQueryBuilder
nextInspectQuery
,
Map
<
String
,
Long
>
nextInspectCountByGroup
)
{
// 超期
// BoolQueryBuilder overdueQuery = QueryBuilderUtils.copyBoolQuery(nextInspectQuery);
// overdueQuery.must(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").lte(DateUtils.addDays(new Date(), -1)));
// if (item.equals("overdue")) {
// // 超期:小于当前日期
// queryBuilder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(finalField).lt(LocalDate.now().format(formatter))), or);
// } 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 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);
// }
BoolQueryBuilder
overdueQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
nextInspectQuery
);
overdueQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
field
).
lt
(
LocalDate
.
now
().
format
(
formatter
)));
Long
overdueCount
=
getStatisticCount
(
overdueQuery
,
index
);
// 临期
BoolQueryBuilder
nearQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
nextInspectQuery
);
nearQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
field
).
gte
(
LocalDate
.
now
().
format
(
formatter
)).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)));
Long
nearCount
=
getStatisticCount
(
nearQuery
,
index
);
// 正常
BoolQueryBuilder
normalQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
nextInspectQuery
);
normalQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
field
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)));
Long
normalCount
=
getStatisticCount
(
normalQuery
,
index
);
// 无日期
BoolQueryBuilder
noFieldQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
nextInspectQuery
);
noFieldQuery
.
mustNot
(
QueryBuilders
.
existsQuery
(
field
));
Long
noFieldCount
=
getStatisticCount
(
noFieldQuery
,
index
);
nextInspectCountByGroup
.
put
(
"red"
,
overdueCount
);
nextInspectCountByGroup
.
put
(
"yellow"
,
nearCount
);
nextInspectCountByGroup
.
put
(
"green"
,
normalCount
);
nextInspectCountByGroup
.
put
(
"gray"
,
noFieldCount
);
}
private
void
getStatisticCountByGroup
(
SearchRequest
request
,
SearchSourceBuilder
builder
,
BoolQueryBuilder
boolMust
,
String
groupField
,
Map
<
String
,
Long
>
staticCountByGroup
)
{
builder
.
query
(
boolMust
);
builder
.
aggregation
(
AggregationBuilders
.
terms
(
"groupCount"
).
field
(
groupField
));
builder
.
aggregation
(
AggregationBuilders
.
terms
(
"groupCount"
).
field
(
groupField
)
.
size
(
50
)
);
request
.
source
(
builder
);
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
...
...
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