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
508f1e88
Commit
508f1e88
authored
Oct 13, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
综合查询高级搜索增加officeRegion过滤
parent
1d8700d8
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
12 deletions
+32
-12
CommonBaseMapper.java
...s/boot/module/statistics/api/mapper/CommonBaseMapper.java
+2
-0
CommonBaseMapper.xml
...istics-api/src/main/resources/mapper/CommonBaseMapper.xml
+4
-0
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+26
-12
No files found.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/mapper/CommonBaseMapper.java
View file @
508f1e88
...
...
@@ -12,4 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
public
interface
CommonBaseMapper
{
String
getOrgCodeByCompanyCode
(
String
companyCode
);
String
getCompanyCodeByOrgCode
(
String
companyCode
);
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/CommonBaseMapper.xml
View file @
508f1e88
...
...
@@ -5,4 +5,8 @@
<select
id=
"getOrgCodeByCompanyCode"
resultType=
"java.lang.String"
>
select org_code from privilege_company where company_code = #{companyCode} limit 1
</select>
<select
id=
"getCompanyCodeByOrgCode"
resultType=
"java.lang.String"
>
select companyCode from privilege_company where org_code = #{org_code} limit 1
</select>
</mapper>
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 @
508f1e88
...
...
@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.statistcs.biz.utils.QueryBuilderUtils;
import
com.yeejoin.amos.boot.module.statistcs.factory.DynamicQueryBuilder
;
import
com.yeejoin.amos.boot.module.statistcs.factory.EnhancedDynamicQueryBuilder
;
import
com.yeejoin.amos.boot.module.statistics.api.enums.*
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.CommonBaseMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.TzsCustomFilterMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.vo.CompanyInfoVo
;
import
com.yeejoin.amos.boot.module.statistics.api.vo.EquipInfoVo
;
...
...
@@ -142,6 +143,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private
final
IdxBizJgUseInfoMapper
idxBizJgUseInfoMapper
;
private
final
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
private
final
TzsUserInfoMapper
tzsUserInfoMapper
;
private
final
CommonBaseMapper
commonMapper
;
private
final
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
Runtime
.
getRuntime
().
availableProcessors
());
...
...
@@ -301,10 +303,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
trackTotalHits
(
true
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
String
orgCode
=
filter
.
getString
(
"orgCode"
);
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
JSONObject
filterParams
=
null
;
String
licensesStatusStr
=
""
;
String
filterType
=
filter
.
getString
(
"filterType"
);
...
...
@@ -321,7 +319,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
// 组装人员过滤条件
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolMust
,
filterType
);
String
orgCode
=
filter
.
getString
(
"orgCode"
);
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolMust
,
filterType
,
orgCode
);
if
(
"custom"
.
equals
(
filterType
))
{
JSONArray
leftGroup
=
filterParams
.
getJSONArray
(
"group1"
);
JSONArray
rightGroup
=
filterParams
.
getJSONArray
(
"group2"
);
...
...
@@ -404,10 +403,25 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
/**
* 组装人员过滤条件
*/
private
void
getPersonBoolQueryBuilder
(
JSONObject
filterParams
,
BoolQueryBuilder
boolMust
,
String
filterType
)
{
private
void
getPersonBoolQueryBuilder
(
JSONObject
filterParams
,
BoolQueryBuilder
boolMust
,
String
filterType
,
String
orgCode
)
{
deleteUnitCategory
(
filterParams
);
// 快捷筛选和自定义筛选解析筛选规则不一致
if
(
filterType
.
equals
(
"advanced"
))
{
JSONArray
unitType
=
filterParams
.
getJSONArray
(
"unitType"
);
if
(!
ObjectUtils
.
isEmpty
(
unitType
))
{
if
(
unitType
.
contains
(
"检验机构"
)
||
unitType
.
contains
(
"检测机构"
))
{
String
officeRegion
=
commonMapper
.
getOrgCodeByCompanyCode
(
orgCode
);
BoolQueryBuilder
queryBuilder1
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
queryBuilder2
=
QueryBuilders
.
boolQuery
();
queryBuilder1
.
must
(
QueryBuilders
.
termQuery
(
"superviseOrgCode"
,
"50"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"officeRegion"
,
"*"
+
officeRegion
+
"*"
));
queryBuilder2
.
mustNot
(
QueryBuilders
.
termQuery
(
"superviseOrgCode"
,
"50"
))
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
boolMust
.
should
(
queryBuilder1
).
should
(
queryBuilder2
).
minimumShouldMatch
(
1
);
}
else
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
}
}
filterParams
.
forEach
((
k
,
v
)
->
{
if
(
v
instanceof
JSONArray
)
{
if
(!((
JSONArray
)
v
).
contains
(
"all"
)
&&
((
JSONArray
)
v
).
size
()
>
0
)
{
...
...
@@ -3067,13 +3081,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode.keyword"
,
orgCode
));
data
=
queryDpCompanyStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
else
if
(
StatisticalAnalysisEnum
.
person
.
getCode
().
equals
(
businessType
))
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
//
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
data
=
queryDpPersonStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
else
if
(
StatisticalAnalysisEnum
.
inspectionCompany
.
getCode
().
equals
(
businessType
))
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode.keyword"
,
orgCode
));
data
=
queryDpInspectionCompanyStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
else
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
//
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
data
=
queryDpInspectionPersonStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
...
...
@@ -3090,7 +3104,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONObject
filterParams
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
filter
.
get
(
"filterParams"
)));
String
filterType
=
"advanced"
;
// 组装人员过滤条件
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolMust
,
filterType
);
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolMust
,
filterType
,
filter
.
getString
(
"orgCode"
)
);
// 通过是否传参 unitType 单位类型 区分一二级查询
boolean
is2LeveFlag
=
Optional
.
of
(
filter
)
.
map
(
obj
->
obj
.
getJSONObject
(
"filterParams"
))
...
...
@@ -3274,7 +3288,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
filterType
=
"advanced"
;
String
unitCategory
=
filterParams
.
getString
(
"unitCategory"
);
// 组装人员过滤条件
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolMust
,
filterType
);
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolMust
,
filterType
,
filter
.
getString
(
"orgCode"
)
);
// 通过是否传参 unitType 单位类型 区分一二级查询
boolean
is2LeveFlag
=
Optional
.
of
(
filter
)
...
...
@@ -3951,12 +3965,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
String
orgCode
=
filter
.
getString
(
"orgCode"
);
boolQuery
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
//
boolQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
JSONObject
filterParams
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
filter
.
get
(
"filterParams"
)));
String
filterType
=
"advanced"
;
// 组装人员过滤条件
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolQuery
,
filterType
);
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolQuery
,
filterType
,
orgCode
);
// 查询
JSONObject
expiryDateStatus
=
this
.
getExpiryDateStatusGroupStatistics
(
boolQuery
);
...
...
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