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
cda5d73c
Commit
cda5d73c
authored
Jul 16, 2025
by
suhuiguang
Committed by
hcing
Jul 16, 2025
Browse files
Options
Browse Files
Download
Plain Diff
refactor(amos-boot-module-statistics): 重构人员统计分析中的资质查询逻辑
- 提取重复的资质查询条件构建方法,提高代码复用性 - 优化无资质和需要资质的人员查询逻辑,提升代码可读性 - 移除冗余的查询条件组装代码,简化统计分析过程
parents
3a4f61be
3eca3bf5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
55 deletions
+61
-55
JgEquipTransferServiceImpl.java
...odule/jg/biz/service/impl/JgEquipTransferServiceImpl.java
+1
-0
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+60
-55
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgEquipTransferServiceImpl.java
View file @
cda5d73c
...
...
@@ -216,6 +216,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
.
distinct
()
.
collect
(
Collectors
.
toList
()),
","
));
transfer
.
setEquAddress
(
projectContraption
.
getAddress
());
transfer
.
setSupervisoryCode
(
projectContraption
.
getSupervisoryCode
());
transfer
.
setEquCode
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
join
(
idxBizJgRegisterInfoServiceImpl
.
lambdaQuery
()
.
in
(
IdxBizJgRegisterInfo:
:
getRecord
,
records
)
...
...
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 @
cda5d73c
...
...
@@ -1532,24 +1532,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode
.
None
);
// 无资质查询
BoolQueryBuilder
noCertQuery
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
);
BoolQueryBuilder
noCertQuery
=
this
.
getNotLicencesBuilderWithPerson
();
// 无资质要求查询
BoolQueryBuilder
noCertRequestQuery
=
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*"
));
BoolQueryBuilder
noCertRequestQuery
=
this
.
getNotNeedLicencesBuilderWithPerson
();
if
(
value
.
equals
(
"1"
))
{
if
(
itemCondition
.
equals
(
"eq"
)
||
itemCondition
.
equals
(
"in"
))
{
...
...
@@ -1662,6 +1647,43 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
/**
* 需要资质的人员查询构造条件
* 无资质:需要资质但是没有填写
* @return
*/
private
BoolQueryBuilder
getNotLicencesBuilderWithPerson
()
{
return
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
should
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
)))
.
should
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
)
)
.
minimumShouldMatch
(
1
);
}
/**
* 无资质要求的人员查询构造条件
* 无资质要求:不需要资质
* @return
*/
private
BoolQueryBuilder
getNotNeedLicencesBuilderWithPerson
()
{
return
QueryBuilders
.
boolQuery
()
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
mustNot
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
)))
.
mustNot
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
)
);
}
private
void
companyFieldHandle
(
String
field
,
String
itemCondition
,
Object
value
,
String
isOr
,
EnhancedDynamicQueryBuilder
builder
)
{
if
(
field
.
equals
(
"itemCode"
)
||
field
.
equals
(
"subItemCode"
)
||
field
.
equals
(
"permitStatus"
))
{
String
path
=
"licenses"
;
...
...
@@ -3052,17 +3074,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
path
=
"licenses"
;
String
nestedField
=
path
+
".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*"
));
// 需要资质的人员必须条件
BoolQueryBuilder
needLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
// 资质正常
BoolQueryBuilder
normalBoolQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
boolQuery
);
NestedQueryBuilder
normalNestedQuery
=
QueryBuilders
.
nestedQuery
(
...
...
@@ -3071,7 +3084,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode
.
None
);
normalBoolQuery
.
must
(
normalNestedQuery
);
normalBoolQuery
.
must
(
n
otN
eedLicensesQueryBuilder
);
normalBoolQuery
.
must
(
needLicensesQueryBuilder
);
Long
normalCount
=
getStatisticCount
(
normalBoolQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
());
result
.
put
(
"zzzc"
,
normalCount
);
...
...
@@ -3083,7 +3096,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode
.
None
);
nearBoolQuery
.
must
(
nearNestedQuery
);
nearBoolQuery
.
must
(
n
otN
eedLicensesQueryBuilder
);
nearBoolQuery
.
must
(
needLicensesQueryBuilder
);
Long
nearCount
=
getStatisticCount
(
nearBoolQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
());
result
.
put
(
"zzlq"
,
nearCount
);
...
...
@@ -3095,7 +3108,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode
.
None
);
overBoolQuery
.
must
(
overNestedQuery
);
overBoolQuery
.
must
(
n
otN
eedLicensesQueryBuilder
);
overBoolQuery
.
must
(
needLicensesQueryBuilder
);
Long
overCount
=
getStatisticCount
(
overBoolQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
());
result
.
put
(
"zzcq"
,
overCount
);
...
...
@@ -3107,7 +3120,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode
.
None
);
nothingBoolQuery
.
must
(
nothingNestedQuery
);
nothingBoolQuery
.
must
(
n
otN
eedLicensesQueryBuilder
);
nothingBoolQuery
.
must
(
needLicensesQueryBuilder
);
Long
nothingCount
=
getStatisticCount
(
nothingBoolQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
());
result
.
put
(
"wyxq"
,
nothingCount
);
...
...
@@ -3121,19 +3134,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
existsQuery
(
nestedField
),
ScoreMode
.
None
);
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
);
EnhancedDynamicQueryBuilder
noLicensesQuery
=
new
EnhancedDynamicQueryBuilder
();
noLicensesQuery
.
add
(
QueryBuilders
.
boolQuery
().
mustNot
(
nestedQuery
),
and
);
noLicensesQuery
.
add
(
q
ueryBuilder
,
and
);
noLicensesQuery
.
add
(
needLicensesQ
ueryBuilder
,
and
);
enhancedDynamicQueryBuilder
.
add
(
noLicensesQuery
.
build
(),
"AND"
);
mainBuilder
.
and
(
enhancedDynamicQueryBuilder
.
build
());
...
...
@@ -3142,19 +3146,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
result
.
put
(
"wzz"
,
otLicensesCount
);
// 无资质要求查询
BoolQueryBuilder
notNeedLicensesBoolQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
boolQuery
);
DynamicQueryBuilder
mainBuilderNotNeed
=
new
DynamicQueryBuilder
();
EnhancedDynamicQueryBuilder
dynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
EnhancedDynamicQueryBuilder
notNeedLicensesQuery
=
new
EnhancedDynamicQueryBuilder
();
notNeedLicensesQuery
.
add
(
notNeedLicensesQueryBuilder
,
and
);
dynamicQueryBuilder
.
add
(
notNeedLicensesQuery
.
build
(),
"AND"
);
mainBuilderNotNeed
.
and
(
dynamicQueryBuilder
.
build
());
notNeedLicensesBoolQuery
.
must
(
mainBuilderNotNeed
.
build
());
Long
notNeedLicensesCount
=
getStatisticCount
(
notNeedLicensesBoolQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
());
result
.
put
(
"wzzyq"
,
notNeedLicensesCount
);
// BoolQueryBuilder notNeedLicensesBoolQuery = QueryBuilderUtils.copyBoolQuery(boolQuery);
// // 不需要资质的人员查询构造条件
// BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotNeedLicencesBuilderWithPerson();
// DynamicQueryBuilder mainBuilderNotNeed = new DynamicQueryBuilder();
// EnhancedDynamicQueryBuilder dynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
//
// EnhancedDynamicQueryBuilder notNeedLicensesQuery = new EnhancedDynamicQueryBuilder();
// notNeedLicensesQuery.add(notNeedLicensesQueryBuilder, and);
// dynamicQueryBuilder.add(notNeedLicensesQuery.build(), "AND");
//
// mainBuilderNotNeed.and(dynamicQueryBuilder.build());
// notNeedLicensesBoolQuery.must(mainBuilderNotNeed.build());
// Long notNeedLicensesCount = getStatisticCount(notNeedLicensesBoolQuery, StatisticalAnalysisEnum.person.getKey());
// result.put("wzzyq", notNeedLicensesCount);
return
result
;
}
...
...
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