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
fe067391
Commit
fe067391
authored
Nov 05, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(Statistics): 修改bug
parent
bf71572d
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
66 additions
and
14 deletions
+66
-14
AQZSDPStatisticsServiceImpl.java
...atistcs/biz/service/impl/AQZSDPStatisticsServiceImpl.java
+19
-9
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+1
-1
StCommonServiceImpl.java
...odule/statistcs/biz/service/impl/StCommonServiceImpl.java
+46
-4
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/AQZSDPStatisticsServiceImpl.java
View file @
fe067391
...
...
@@ -101,7 +101,7 @@ public class AQZSDPStatisticsServiceImpl {
private
StCommonServiceImpl
stCommonService
;
private
TZSCommonServiceImpl
t
st
CommonService
;
private
TZSCommonServiceImpl
t
zs
CommonService
;
private
JGDPStatisticsServiceImpl
jgDPStatisticsService
;
...
...
@@ -119,7 +119,7 @@ public class AQZSDPStatisticsServiceImpl {
StCommonServiceImpl
stCommonService
,
DataDictionaryMapper
dataDictionaryMapper
,
JGDPStatisticsServiceImpl
jgDPStatisticsService
,
TZSCommonServiceImpl
t
st
CommonService
)
{
TZSCommonServiceImpl
t
zs
CommonService
)
{
this
.
restHighLevelClient
=
restHighLevelClient
;
this
.
statisticsMapper
=
statisticsMapper
;
this
.
enterpriseInfoMapper
=
enterpriseInfoMapper
;
...
...
@@ -128,7 +128,7 @@ public class AQZSDPStatisticsServiceImpl {
this
.
stCommonService
=
stCommonService
;
this
.
dataDictionaryMapper
=
dataDictionaryMapper
;
this
.
jgDPStatisticsService
=
jgDPStatisticsService
;
this
.
t
stCommonService
=
tst
CommonService
;
this
.
t
zsCommonService
=
tzs
CommonService
;
}
...
...
@@ -512,14 +512,24 @@ public class AQZSDPStatisticsServiceImpl {
List
<
String
>
enumNameList
=
IssueTypeEnum
.
getEnumNameListByMainBody
(
"1"
);
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
dpFilterParamDto
.
getCityCode
());
if
(
orgCode
!=
null
)
{
// BoolQueryBuilder overdueQuery = new BoolQueryBuilder();
// statisticalAnalysisService.personOrgCodeBoolMust(orgCode, overdueQuery, StatisticalAnalysisEnum.person.getCode());
// tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "overdue", "licenses", "licenses.expiryDate");
// Long overNumber = statisticalAnalysisService.getStatisticCount(overdueQuery, StatisticalAnalysisEnum.person.getKey());
// BoolQueryBuilder nearQuery = new BoolQueryBuilder();
// statisticalAnalysisService.personOrgCodeBoolMust(orgCode, nearQuery, StatisticalAnalysisEnum.person.getCode());
// tstCommonService.buildExpiryDateQueryBuilder(nearQuery, "near", "licenses", "licenses.expiryDate");
// Long nearNumber = statisticalAnalysisService.getStatisticCount(nearQuery, StatisticalAnalysisEnum.person.getKey());
// dataMap.put(IssueTypeEnum.LICENSE_OVERDUE_PERSON.getName(), overNumber);
// dataMap.put(IssueTypeEnum.LICENSE_EXPIRY_PERSON.getName(), nearNumber);
BoolQueryBuilder
overdueQuery
=
new
BoolQueryBuilder
();
overdueQuery
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
tstCommonService
.
buildExpiryDateQueryBuilder
(
overdueQuery
,
"overdue"
,
"licenses"
,
"licenses.expiryDate"
);
Long
overNumber
=
stCommonService
.
getNestedQueryStatisticCount
(
overdueQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
(),
"licenses"
,
"expiryDate"
);
//
overdueQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
//
tstCommonService.buildExpiryDateQueryBuilder(overdueQuery, "overdue", "licenses", "licenses.expiryDate");
Long
overNumber
=
stCommonService
.
getNestedQueryStatisticCount
(
overdueQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
(),
"licenses"
,
"expiryDate"
,
tzsCommonService
.
overdue
);
BoolQueryBuilder
nearQuery
=
new
BoolQueryBuilder
();
nearQuery
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
tstCommonService
.
buildExpiryDateQueryBuilder
(
nearQuery
,
"near"
,
"licenses"
,
"licenses.expiryDate"
);
Long
nearNumber
=
stCommonService
.
getNestedQueryStatisticCount
(
nearQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
(),
"licenses"
,
"expiryDate"
);
statisticalAnalysisService
.
personOrgCodeBoolMust
(
orgCode
,
nearQuery
,
StatisticalAnalysisEnum
.
person
.
getCode
());
Long
nearNumber
=
stCommonService
.
getNestedQueryStatisticCount
(
nearQuery
,
StatisticalAnalysisEnum
.
person
.
getKey
(),
"licenses"
,
"expiryDate"
,
tzsCommonService
.
near
);
dataMap
.
put
(
IssueTypeEnum
.
LICENSE_OVERDUE_PERSON
.
getName
(),
overNumber
);
dataMap
.
put
(
IssueTypeEnum
.
LICENSE_EXPIRY_PERSON
.
getName
(),
nearNumber
);
}
...
...
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 @
fe067391
...
...
@@ -403,7 +403,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return
result
;
}
p
rivate
void
personOrgCodeBoolMust
(
String
orgCode
,
BoolQueryBuilder
boolMust
,
String
type
)
{
p
ublic
void
personOrgCodeBoolMust
(
String
orgCode
,
BoolQueryBuilder
boolMust
,
String
type
)
{
String
superviseOrgCodeKey
=
type
.
equals
(
StatisticalAnalysisEnum
.
person
.
getCode
())
?
"superviseOrgCode"
:
"superviseOrgCode.keyword"
;
String
officeRegion
=
commonMapper
.
getCompanyCodeByOrgCode
(
orgCode
);
BoolQueryBuilder
queryBuilder1
=
QueryBuilders
.
boolQuery
();
...
...
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/StCommonServiceImpl.java
View file @
fe067391
...
...
@@ -11,6 +11,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import
com.yeejoin.amos.boot.module.common.api.enums.CylinderTypeEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.ReginStepEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.StatisticalAnalysisEnum
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.TZSCommonServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.CommonBaseMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.ZLStatisticsMapper
;
...
...
@@ -23,6 +24,7 @@ import com.yeejoin.amos.feign.systemctl.Systemctl;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.lucene.queryparser.classic.QueryParser
;
import
org.apache.lucene.search.join.ScoreMode
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.client.RequestOptions
;
...
...
@@ -30,6 +32,8 @@ import org.elasticsearch.client.RestHighLevelClient;
import
org.elasticsearch.client.core.CountRequest
;
import
org.elasticsearch.client.core.CountResponse
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.NestedQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.aggregations.AggregationBuilders
;
import
org.elasticsearch.search.aggregations.bucket.filter.Filter
;
...
...
@@ -44,18 +48,24 @@ import org.springframework.util.ObjectUtils;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.function.Function
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
import
static
org
.
elasticsearch
.
index
.
query
.
QueryBuilders
.
existsQuery
;
/**
* @author Administrator
*/
@Service
public
class
StCommonServiceImpl
{
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
/**
* 气瓶设备类别
*/
...
...
@@ -71,6 +81,8 @@ public class StCommonServiceImpl {
private
RestHighLevelClient
restHighLevelClient
;
private
TZSCommonServiceImpl
tzsCommonService
;
private
EquipTechParamPipelineMapper
techParamsPipelineMapper
;
private
EquipmentCategoryMapper
equipmentCategoryMapper
;
...
...
@@ -85,12 +97,18 @@ public class StCommonServiceImpl {
private
static
List
<
EquipmentCategoryDto
>
equipmentCategoryDtos
;
public
StCommonServiceImpl
(
CommonBaseMapper
commonMapper
,
RestHighLevelClient
restHighLevelClient
,
EquipTechParamPipelineMapper
techParamsPipelineMapper
,
EquipmentCategoryMapper
equipmentCategoryMapper
,
ZLStatisticsMapper
zlStatisticsMapper
)
{
public
StCommonServiceImpl
(
CommonBaseMapper
commonMapper
,
RestHighLevelClient
restHighLevelClient
,
EquipTechParamPipelineMapper
techParamsPipelineMapper
,
EquipmentCategoryMapper
equipmentCategoryMapper
,
ZLStatisticsMapper
zlStatisticsMapper
,
TZSCommonServiceImpl
tzsCommonService
)
{
this
.
commonMapper
=
commonMapper
;
this
.
restHighLevelClient
=
restHighLevelClient
;
this
.
techParamsPipelineMapper
=
techParamsPipelineMapper
;
this
.
equipmentCategoryMapper
=
equipmentCategoryMapper
;
this
.
zlStatisticsMapper
=
zlStatisticsMapper
;
this
.
tzsCommonService
=
tzsCommonService
;
}
public
static
Map
<
String
,
String
>
getRegionCodeOrgCodeMap
()
{
...
...
@@ -338,16 +356,27 @@ public class StCommonServiceImpl {
}
public
Long
getNestedQueryStatisticCount
(
BoolQueryBuilder
builder
,
String
index
,
String
nestedFiled
,
String
filterFiled
)
{
public
Long
getNestedQueryStatisticCount
(
BoolQueryBuilder
builder
,
String
index
,
String
nestedFiled
,
String
filterFiled
,
String
type
)
{
SearchRequest
searchRequest
=
new
SearchRequest
(
index
);
SearchSourceBuilder
sourceBuilder
=
new
SearchSourceBuilder
();
// 构建嵌套聚合
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
tzsCommonService
.
getNotLicencesBuilderWithPerson
();
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
nestedFiled
,
existsQuery
(
nestedFiled
+
"."
+
"certNo"
),
ScoreMode
.
None
);
builder
.
must
(
notNeedLicensesQueryBuilder
);
builder
.
must
(
nestedQuery
);
// 根据类型动态获取日期范围查询
QueryBuilder
dateRangeQuery
=
getRangeDateByType
(
nestedFiled
,
filterFiled
,
type
);
NestedAggregationBuilder
nestedAgg
=
AggregationBuilders
.
nested
(
nestedFiled
,
nestedFiled
)
.
subAggregation
(
AggregationBuilders
.
filter
(
filterFiled
+
"_count"
,
builder
)
AggregationBuilders
.
filter
(
filterFiled
+
"_count"
,
dateRangeQuery
)
);
sourceBuilder
.
aggregation
(
nestedAgg
);
sourceBuilder
.
size
(
0
);
// 只要聚合结果,不要文档
sourceBuilder
.
query
(
builder
);
searchRequest
.
source
(
sourceBuilder
);
long
count
=
0
;
try
{
...
...
@@ -362,6 +391,19 @@ public class StCommonServiceImpl {
return
count
;
}
private
QueryBuilder
getRangeDateByType
(
String
nestedFiled
,
String
filterFiled
,
String
type
)
{
QueryBuilder
dateRangeQuery
=
null
;
if
(
tzsCommonService
.
near
.
equals
(
type
))
{
dateRangeQuery
=
QueryBuilders
.
rangeQuery
(
nestedFiled
+
"."
+
filterFiled
)
.
lt
(
LocalDate
.
now
().
format
(
formatter
));
}
else
if
(
tzsCommonService
.
overdue
.
equals
(
type
))
{
dateRangeQuery
=
QueryBuilders
.
rangeQuery
(
nestedFiled
+
"."
+
filterFiled
)
.
gte
(
LocalDate
.
now
().
format
(
formatter
))
.
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
));
}
return
dateRangeQuery
;
}
/**
* 统计已赋码设备数量
* @param orgCode
...
...
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