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
6f8833de
Commit
6f8833de
authored
Jul 25, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug修改
parent
199af075
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
21 deletions
+16
-21
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+16
-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 @
6f8833de
...
@@ -379,7 +379,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -379,7 +379,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
expiryDate
=
json
.
getString
(
"expiryDate"
);
String
expiryDate
=
json
.
getString
(
"expiryDate"
);
if
(!
ObjectUtils
.
isEmpty
(
expiryDate
))
{
if
(!
ObjectUtils
.
isEmpty
(
expiryDate
))
{
long
daysBetween
=
ChronoUnit
.
DAYS
.
between
(
LocalDate
.
now
(),
LocalDate
.
parse
(
expiryDate
,
formatter
));
long
daysBetween
=
ChronoUnit
.
DAYS
.
between
(
LocalDate
.
now
(),
LocalDate
.
parse
(
expiryDate
,
formatter
));
if
(
daysBetween
<
=
0
)
{
if
(
daysBetween
<
0
)
{
permissionStatusList
.
add
(
overdueStr
);
permissionStatusList
.
add
(
overdueStr
);
}
else
if
(
daysBetween
<=
30
)
{
}
else
if
(
daysBetween
<=
30
)
{
permissionStatusList
.
add
(
nearStr
);
permissionStatusList
.
add
(
nearStr
);
...
@@ -468,11 +468,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -468,11 +468,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
must
(
termsQuery
);
boolMust
.
must
(
termsQuery
);
}
else
if
(
k
.
equals
(
"certNo"
)
||
k
.
equals
(
"expiryDate"
)
||
k
.
equals
(
"permissionLevel"
)
||
k
.
equals
(
"certType"
)
||
k
.
equals
(
"jobItem"
)
||
k
.
equals
(
"permissionItem"
))
{
}
else
if
(
k
.
equals
(
"certNo"
)
||
k
.
equals
(
"expiryDate"
)
||
k
.
equals
(
"permissionLevel"
)
||
k
.
equals
(
"certType"
)
||
k
.
equals
(
"jobItem"
)
||
k
.
equals
(
"permissionItem"
))
{
String
path
=
"licenses"
;
String
path
=
"licenses"
;
EnhancedDynamicQueryBuilder
licencesQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
((
JSONArray
)
v
).
forEach
(
item
->
{
String
nestedField
=
path
+
"."
+
k
;
String
nestedField
=
path
+
"."
+
k
;
// 根据证书编号判断有无资质
// 根据证书编号判断有无资质
if
(
k
.
equals
(
"certNo"
))
{
if
(
k
.
equals
(
"certNo"
))
{
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
path
,
...
@@ -483,22 +482,21 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -483,22 +482,21 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
// 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
if
(
item
.
equals
(
"1"
))
{
if
(
item
.
equals
(
"1"
))
{
boolMust
.
must
(
nestedQuery
);
licencesQueryBuilder
.
add
(
nestedQuery
,
or
);
}
else
if
(
item
.
equals
(
"0"
))
{
}
else
if
(
item
.
equals
(
"0"
))
{
// 无资质
// 无资质
BoolQueryBuilder
queryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
DynamicQueryBuilder
queryBuilder
=
new
DynamicQueryBuilder
();
boolMust
.
must
(
queryBuilder
);
queryBuilder
.
and
(
this
.
getNotLicencesBuilderWithPerson
());
boolMust
.
mustNot
(
nestedQuery
);
queryBuilder
.
and
(
QueryBuilders
.
boolQuery
().
mustNot
(
nestedQuery
));
licencesQueryBuilder
.
add
(
queryBuilder
.
build
(),
or
);
}
else
{
}
else
{
// 无资质要求
// 无资质要求
BoolQueryBuilder
queryBuilder
=
this
.
getNotNeedLicencesBuilderWithPerson
();
licencesQueryBuilder
.
add
(
this
.
getNotNeedLicencesBuilderWithPerson
(),
or
);
boolMust
.
must
(
queryBuilder
);
}
}
}
else
if
(
k
.
equals
(
"expiryDate"
))
{
}
else
if
(
k
.
equals
(
"expiryDate"
))
{
// 不需要资质的人员查询构造条件
// 不需要资质的人员查询构造条件
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
if
(
item
.
equals
(
overdue
))
{
if
(
item
.
equals
(
overdue
))
{
// 超期:小于当前日期
// 超期:小于当前日期
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
...
@@ -506,8 +504,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -506,8 +504,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
rangeQuery
(
nestedField
).
lt
(
LocalDate
.
now
().
format
(
formatter
))),
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
rangeQuery
(
nestedField
).
lt
(
LocalDate
.
now
().
format
(
formatter
))),
ScoreMode
.
None
ScoreMode
.
None
);
);
enhancedDynamicQueryBuilder
.
add
(
nestedQuery
,
or
);
boolMust
.
must
(
nestedQuery
);
boolMust
.
must
(
enhancedDynamicQueryBuilder
.
build
());
}
else
if
(
item
.
equals
(
near
))
{
}
else
if
(
item
.
equals
(
near
))
{
// 临期:小于等于当前日期加上30天
// 临期:小于等于当前日期加上30天
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
...
@@ -515,8 +512,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -515,8 +512,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
rangeQuery
(
nestedField
).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
format
(
formatter
))),
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
rangeQuery
(
nestedField
).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
format
(
formatter
))),
ScoreMode
.
None
ScoreMode
.
None
);
);
enhancedDynamicQueryBuilder
.
add
(
nestedQuery
,
or
);
boolMust
.
must
(
nestedQuery
);
boolMust
.
must
(
enhancedDynamicQueryBuilder
.
build
());
}
else
if
(
item
.
equals
(
normal
))
{
}
else
if
(
item
.
equals
(
normal
))
{
// 正常:大于当前日期加上30天
// 正常:大于当前日期加上30天
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
...
@@ -524,16 +520,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -524,16 +520,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
rangeQuery
(
nestedField
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
rangeQuery
(
nestedField
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
ScoreMode
.
None
ScoreMode
.
None
);
);
enhancedDynamicQueryBuilder
.
add
(
nestedQuery
,
or
);
boolMust
.
must
(
nestedQuery
);
boolMust
.
must
(
enhancedDynamicQueryBuilder
.
build
());
}
else
if
(
item
.
equals
(
none
))
{
}
else
if
(
item
.
equals
(
none
))
{
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
path
,
QueryBuilders
.
boolQuery
().
mustNot
(
existsQuery
(
nestedField
)),
QueryBuilders
.
boolQuery
().
mustNot
(
existsQuery
(
nestedField
)),
ScoreMode
.
None
ScoreMode
.
None
);
);
enhancedDynamicQueryBuilder
.
add
(
nestedQuery
,
or
);
boolMust
.
must
(
nestedQuery
);
boolMust
.
must
(
enhancedDynamicQueryBuilder
.
build
());
}
}
}
else
if
(
k
.
equals
(
"certType"
)
||
k
.
equals
(
"permissionLevel"
))
{
}
else
if
(
k
.
equals
(
"certType"
)
||
k
.
equals
(
"permissionLevel"
))
{
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
...
@@ -551,6 +545,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -551,6 +545,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
should
(
nestedQuery
);
boolMust
.
should
(
nestedQuery
);
}
}
});
});
boolMust
.
must
(
licencesQueryBuilder
.
build
());
}
else
if
(
k
.
equals
(
"issueDate"
))
{
}
else
if
(
k
.
equals
(
"issueDate"
))
{
JSONArray
issueDates
=
(
JSONArray
)
v
;
JSONArray
issueDates
=
(
JSONArray
)
v
;
String
startDate
=
DateUtils
.
convertDateToString
(
issueDates
.
getDate
(
0
),
DateUtils
.
DATE_PATTERN
);
String
startDate
=
DateUtils
.
convertDateToString
(
issueDates
.
getDate
(
0
),
DateUtils
.
DATE_PATTERN
);
...
@@ -887,8 +882,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -887,8 +882,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private
String
getFilterPermitStatusOrLicensesStatus
(
JSONArray
leftGroup
,
JSONArray
rightGroup
,
String
code
)
{
private
String
getFilterPermitStatusOrLicensesStatus
(
JSONArray
leftGroup
,
JSONArray
rightGroup
,
String
code
)
{
String
filed
=
code
.
equals
(
StatisticalAnalysisEnum
.
company
.
getCode
())
?
"permitStatus"
:
"expiryDate"
;
String
filed
=
code
.
equals
(
StatisticalAnalysisEnum
.
company
.
getCode
())
?
"permitStatus"
:
"expiryDate"
;
List
<
Object
>
leftPermitList
=
leftGroup
.
stream
().
filter
(
e
->
filed
.
equals
(((
JSONObject
)
e
).
getString
(
"field"
))
&&
((
JSONObject
)
e
).
containsKey
(
"value"
)).
collect
(
Collectors
.
toList
());
List
<
Object
>
leftPermitList
=
leftGroup
.
stream
().
filter
(
e
->
filed
.
equals
(((
JSONObject
)
e
).
getString
(
"field"
))
&&
((
JSONObject
)
e
).
containsKey
(
"value"
)
&&
((
JSONObject
)
e
).
containsKey
(
"itemCondition"
)
&&
!((
JSONObject
)
e
).
getString
(
"itemCondition"
).
equals
(
"notIn"
)
).
collect
(
Collectors
.
toList
());
List
<
Object
>
rightPermitList
=
rightGroup
.
stream
().
filter
(
e
->
filed
.
equals
(((
JSONObject
)
e
).
getString
(
"field"
))
&&
((
JSONObject
)
e
).
containsKey
(
"value"
)).
collect
(
Collectors
.
toList
());
List
<
Object
>
rightPermitList
=
rightGroup
.
stream
().
filter
(
e
->
filed
.
equals
(((
JSONObject
)
e
).
getString
(
"field"
))
&&
((
JSONObject
)
e
).
containsKey
(
"value"
)
&&
((
JSONObject
)
e
).
containsKey
(
"itemCondition"
)
&&
!((
JSONObject
)
e
).
getString
(
"itemCondition"
).
equals
(
"notIn"
)
).
collect
(
Collectors
.
toList
());
int
count
=
0
;
int
count
=
0
;
Boolean
isLeft
=
false
;
Boolean
isLeft
=
false
;
Boolean
isRight
=
false
;
Boolean
isRight
=
false
;
...
@@ -988,7 +983,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -988,7 +983,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
nextInspectDate
=
dto
.
getString
(
"NEXT_INSPECT_DATE"
);
String
nextInspectDate
=
dto
.
getString
(
"NEXT_INSPECT_DATE"
);
if
(!
ObjectUtils
.
isEmpty
(
nextInspectDate
)
&&
!
""
.
equals
(
nextInspectDate
))
{
if
(!
ObjectUtils
.
isEmpty
(
nextInspectDate
)
&&
!
""
.
equals
(
nextInspectDate
))
{
long
daysBetween
=
ChronoUnit
.
DAYS
.
between
(
LocalDate
.
now
(),
LocalDate
.
parse
(
nextInspectDate
,
formatter
));
long
daysBetween
=
ChronoUnit
.
DAYS
.
between
(
LocalDate
.
now
(),
LocalDate
.
parse
(
nextInspectDate
,
formatter
));
if
(
daysBetween
<
=
0
)
{
if
(
daysBetween
<
0
)
{
inspectStatus
=
inspectionStatusMap
.
get
(
overdue
);
inspectStatus
=
inspectionStatusMap
.
get
(
overdue
);
}
else
if
(
daysBetween
<=
30
)
{
}
else
if
(
daysBetween
<=
30
)
{
inspectStatus
=
inspectionStatusMap
.
get
(
near
);
inspectStatus
=
inspectionStatusMap
.
get
(
near
);
...
...
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