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
3a4f61be
Commit
3a4f61be
authored
Jul 16, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 添加不需要资质人员的查询条件及统计其他分类数据
parent
f9bd8555
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
81 additions
and
6 deletions
+81
-6
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+81
-6
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 @
3a4f61be
...
@@ -444,6 +444,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -444,6 +444,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
must
(
queryBuilder
);
boolMust
.
must
(
queryBuilder
);
}
}
}
else
if
(
k
.
equals
(
"expiryDate"
))
{
}
else
if
(
k
.
equals
(
"expiryDate"
))
{
// 不需要资质的人员查询构造条件
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
QueryBuilders
.
boolQuery
()
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
));
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
if
(
item
.
equals
(
"overdue"
))
{
if
(
item
.
equals
(
"overdue"
))
{
// 超期:小于当前日期
// 超期:小于当前日期
...
@@ -2632,11 +2642,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -2632,11 +2642,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
List
<
Map
<
String
,
Object
>>
data
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
data
=
new
ArrayList
<>();
if
(
StatisticalAnalysisEnum
.
equip
.
getCode
().
equals
(
businessType
))
{
if
(
StatisticalAnalysisEnum
.
equip
.
getCode
().
equals
(
businessType
))
{
if
(
orgCode
.
equals
(
"50"
))
{
if
(
orgCode
.
equals
(
"50"
))
{
DynamicQueryBuilder
dynamicQueryBuilder
=
new
DynamicQueryBuilder
();
DynamicQueryBuilder
dynamicQueryBuilder
=
new
DynamicQueryBuilder
();
dynamicQueryBuilder
.
or
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
termQuery
(
"ORG_BRANCH_CODE"
,
""
)));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
termQuery
(
"ORG_BRANCH_CODE"
,
""
)));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
existsQuery
(
"ORG_BRANCH_CODE"
)));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
existsQuery
(
"ORG_BRANCH_CODE"
)));
boolMust
.
must
(
dynamicQueryBuilder
.
build
());
boolMust
.
must
(
dynamicQueryBuilder
.
build
());
}
else
{
}
else
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
}
}
...
@@ -2661,7 +2671,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -2661,7 +2671,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if
(
orgCode
.
equals
(
"50"
))
{
if
(
orgCode
.
equals
(
"50"
))
{
DynamicQueryBuilder
dynamicQueryBuilder
=
new
DynamicQueryBuilder
();
DynamicQueryBuilder
dynamicQueryBuilder
=
new
DynamicQueryBuilder
();
dynamicQueryBuilder
.
or
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
termQuery
(
"ORG_BRANCH_CODE"
,
""
)));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
termQuery
(
"ORG_BRANCH_CODE"
,
""
)));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
existsQuery
(
"ORG_BRANCH_CODE"
)));
dynamicQueryBuilder
.
or
(
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
existsQuery
(
"ORG_BRANCH_CODE"
)));
equipBoolMust
.
must
(
dynamicQueryBuilder
.
build
());
equipBoolMust
.
must
(
dynamicQueryBuilder
.
build
());
}
else
{
}
else
{
...
@@ -2846,10 +2856,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -2846,10 +2856,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Long
equipCount
=
staticCountByGroup
.
values
().
stream
().
reduce
(
0L
,
Long:
:
sum
);
Long
equipCount
=
staticCountByGroup
.
values
().
stream
().
reduce
(
0L
,
Long:
:
sum
);
tabTotalMap
.
put
(
StatisticalAnalysisEnum
.
equip
.
getCode
(),
equipCount
);
tabTotalMap
.
put
(
StatisticalAnalysisEnum
.
equip
.
getCode
(),
equipCount
);
List
<
String
>
codes
=
new
ArrayList
<>();
// 组装数据
// 组装数据
List
<
Map
<
String
,
Object
>>
dataMapList
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
dataMapList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
categoryMap
:
staticCountByGroupMap
)
{
for
(
Map
<
String
,
Object
>
categoryMap
:
staticCountByGroupMap
)
{
String
code
=
categoryMap
.
get
(
"value"
).
toString
();
String
code
=
categoryMap
.
get
(
"value"
).
toString
();
codes
.
add
(
code
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"key"
,
categoryMap
.
get
(
"key"
));
map
.
put
(
"key"
,
categoryMap
.
get
(
"key"
));
map
.
put
(
"label"
,
categoryMap
.
get
(
"label"
));
map
.
put
(
"label"
,
categoryMap
.
get
(
"label"
));
...
@@ -2871,14 +2883,77 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -2871,14 +2883,77 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
nextInspectQuery
.
must
(
QueryBuilders
.
termQuery
(
groupField
,
code
));
nextInspectQuery
.
must
(
QueryBuilders
.
termQuery
(
groupField
,
code
));
getStatisticCountByDate
(
StatisticalAnalysisEnum
.
equip
.
getKey
(),
"NEXT_INSPECT_DATE"
,
nextInspectQuery
,
nextInspectCountByGroup
);
getStatisticCountByDate
(
StatisticalAnalysisEnum
.
equip
.
getKey
(),
"NEXT_INSPECT_DATE"
,
nextInspectQuery
,
nextInspectCountByGroup
);
map
.
put
(
"NEXT_INSPECT_DATE"
,
nextInspectCountByGroup
);
map
.
put
(
"NEXT_INSPECT_DATE"
,
nextInspectCountByGroup
);
staticCountByGroup
.
remove
(
code
);
dataMapList
.
add
(
map
);
dataMapList
.
add
(
map
);
}
}
// 统计种类/类别/品种数据不对的数据字段
if
(!
ObjectUtils
.
isEmpty
(
staticCountByGroup
)){
statisticOtherCount
(
request
,
dataMapList
,
staticCountByGroup
,
boolMust
,
groupField
);
}
if
(!
ObjectUtils
.
isEmpty
(
equipCode
))
{
if
(!
ObjectUtils
.
isEmpty
(
equipCode
))
{
tabTotalMap
.
put
(
equipCode
,
dataMapList
.
stream
().
mapToLong
(
map
->
(
Long
)
map
.
get
(
"value"
)).
sum
());
tabTotalMap
.
put
(
equipCode
,
dataMapList
.
stream
().
mapToLong
(
map
->
(
Long
)
map
.
get
(
"value"
)).
sum
());
}
}
return
dataMapList
;
return
dataMapList
;
}
}
private
void
statisticOtherCount
(
SearchRequest
request
,
List
<
Map
<
String
,
Object
>>
dataMapList
,
Map
<
String
,
Long
>
staticCountByGroup
,
BoolQueryBuilder
boolMust
,
String
groupField
)
{
String
type
=
"other"
;
Long
otherCount
=
0L
;
Long
oneCount
=
0L
;
Long
twoCount
=
0L
;
Long
threeCount
=
0L
;
Long
redCount
=
0L
;
Long
yellowCount
=
0L
;
Long
greenCount
=
0L
;
Long
grayCount
=
0L
;
for
(
String
key
:
staticCountByGroup
.
keySet
())
{
otherCount
+=
staticCountByGroup
.
get
(
key
);
// 统计该分类下的数据完整性的分组数量 DATA_QUALITY_SCORE
BoolQueryBuilder
scoreQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
boolMust
);
scoreQuery
.
must
(
QueryBuilders
.
termQuery
(
groupField
,
key
));
SearchSourceBuilder
scoreBuilder
=
new
SearchSourceBuilder
();
Map
<
String
,
Long
>
scoreCountByGroup
=
new
HashMap
<>();
getStatisticCountByGroup
(
request
,
scoreBuilder
,
scoreQuery
,
"DATA_QUALITY_SCORE"
,
scoreCountByGroup
);
oneCount
+=
scoreCountByGroup
.
containsKey
(
"1"
)
?
scoreCountByGroup
.
get
(
"1"
)
:
0L
;
twoCount
+=
scoreCountByGroup
.
containsKey
(
"2"
)
?
scoreCountByGroup
.
get
(
"2"
)
:
0L
;
threeCount
+=
scoreCountByGroup
.
containsKey
(
"3"
)
?
scoreCountByGroup
.
get
(
"3"
)
:
0L
;
// 统计该分类下红黄绿码分别的分组数量 NEXT_INSPECT_DATE
Map
<
String
,
Long
>
nextInspectCountByGroup
=
new
HashMap
<>();
BoolQueryBuilder
nextInspectQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
boolMust
);
nextInspectQuery
.
must
(
QueryBuilders
.
termQuery
(
groupField
,
key
));
getStatisticCountByDate
(
StatisticalAnalysisEnum
.
equip
.
getKey
(),
"NEXT_INSPECT_DATE"
,
nextInspectQuery
,
nextInspectCountByGroup
);
redCount
+=
nextInspectCountByGroup
.
containsKey
(
"red"
)
?
nextInspectCountByGroup
.
get
(
"red"
)
:
0L
;
yellowCount
+=
nextInspectCountByGroup
.
containsKey
(
"yellow"
)
?
nextInspectCountByGroup
.
get
(
"yellow"
)
:
0L
;
greenCount
+=
nextInspectCountByGroup
.
containsKey
(
"green"
)
?
nextInspectCountByGroup
.
get
(
"green"
)
:
0L
;
grayCount
+=
nextInspectCountByGroup
.
containsKey
(
"gray"
)
?
nextInspectCountByGroup
.
get
(
"gray"
)
:
0L
;
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"key"
,
type
);
map
.
put
(
"label"
,
"其他"
);
map
.
put
(
"code"
,
type
);
map
.
put
(
"fieldKey"
,
type
);
map
.
put
(
"noChild"
,
Boolean
.
TRUE
);
map
.
put
(
"value"
,
otherCount
);
map
.
put
(
"img"
,
dpEquipPhotoPrefix
+
type
+
dpEquipPhotoSuffix
);
map
.
put
(
"measurementUnit"
,
"台套"
);
Map
<
String
,
Long
>
scoreCount
=
new
HashMap
<>();
scoreCount
.
put
(
"1"
,
oneCount
);
scoreCount
.
put
(
"2"
,
twoCount
);
scoreCount
.
put
(
"3"
,
threeCount
);
map
.
put
(
"DATA_QUALITY_SCORE"
,
scoreCount
);
Map
<
String
,
Long
>
nextInspectCount
=
new
HashMap
<>();
nextInspectCount
.
put
(
"red"
,
redCount
);
nextInspectCount
.
put
(
"yellow"
,
yellowCount
);
nextInspectCount
.
put
(
"green"
,
greenCount
);
nextInspectCount
.
put
(
"gray"
,
grayCount
);
map
.
put
(
"NEXT_INSPECT_DATE"
,
nextInspectCount
);
dataMapList
.
add
(
map
);
}
private
void
getStatisticCountByDate
(
String
index
,
String
field
,
BoolQueryBuilder
nextInspectQuery
,
Map
<
String
,
Long
>
nextInspectCountByGroup
)
{
private
void
getStatisticCountByDate
(
String
index
,
String
field
,
BoolQueryBuilder
nextInspectQuery
,
Map
<
String
,
Long
>
nextInspectCountByGroup
)
{
// 超期
// 超期
BoolQueryBuilder
overdueQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
nextInspectQuery
);
BoolQueryBuilder
overdueQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
nextInspectQuery
);
...
...
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