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
0c6b73dd
Commit
0c6b73dd
authored
Aug 18, 2025
by
tianbo
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop_tzs_bugfix' into develop_tzs_register
parents
df96cf02
e290de6c
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
101 additions
and
161 deletions
+101
-161
EquipmentStaticsServiceImpl.java
...atistcs/biz/service/impl/EquipmentStaticsServiceImpl.java
+101
-161
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/EquipmentStaticsServiceImpl.java
View file @
0c6b73dd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.SafetyProblemTracingMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.SafetyProblemTracingMapper
;
import
com.yeejoin.amos.boot.module.
ymt.api.dto.EquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.
statistics.api.enums.StatisticalAnalysisEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -144,25 +143,15 @@ public class EquipmentStaticsServiceImpl {
...
@@ -144,25 +143,15 @@ public class EquipmentStaticsServiceImpl {
private
Long
getFMEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
private
Long
getFMEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
long
num
=
0
;
long
num
=
0
;
CountRequest
request
=
new
CountRequest
();
CountRequest
request
=
new
CountRequest
();
request
.
indices
(
"idx_biz_view_jg_all"
);
request
.
indices
(
StatisticalAnalysisEnum
.
equip
.
getKey
()
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 按照管辖机构区域信息模糊查询
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getOrgCode
())
+
"*"
));
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
createBoolQueryBuilder
(
boolMust
,
dpFilterParamForDetailDto
,
dpFilterParamForDetailDto
.
getOrgCode
());
if
(
"2300"
.
equals
(
dpFilterParamForDetailDto
.
getTreeValue
())){
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_CATEGORY_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
else
{
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_LIST_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
}
// 且8大类,目的去掉脏数据
// 且8大类,目的去掉脏数据
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
StCommonServiceImpl
.
getEquipmentCategory
().
stream
().
map
(
EquipmentCategoryDto:
:
getCode
).
collect
(
Collectors
.
toList
())));
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
"SUPERVISORY_CODE"
));
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
"SUPERVISORY_CODE"
));
boolMust
.
mustNot
(
QueryBuilders
.
termQuery
(
"SUPERVISORY_CODE"
,
"null"
));
boolMust
.
mustNot
(
QueryBuilders
.
termQuery
(
"SUPERVISORY_CODE"
,
"null"
));
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
request
.
query
(
boolMust
);
request
.
query
(
boolMust
);
try
{
try
{
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
num
=
response
.
getCount
();
num
=
response
.
getCount
();
...
@@ -175,23 +164,9 @@ public class EquipmentStaticsServiceImpl {
...
@@ -175,23 +164,9 @@ public class EquipmentStaticsServiceImpl {
private
Long
getAllEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
private
Long
getAllEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
long
num
=
0
;
long
num
=
0
;
CountRequest
request
=
new
CountRequest
();
CountRequest
request
=
new
CountRequest
();
request
.
indices
(
"idx_biz_view_jg_all"
);
request
.
indices
(
StatisticalAnalysisEnum
.
equip
.
getKey
()
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 按照管辖机构区域信息模糊查询
createBoolQueryBuilder
(
boolMust
,
dpFilterParamForDetailDto
,
dpFilterParamForDetailDto
.
getOrgCode
());
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getOrgCode
()))
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getOrgCode
())
+
"*"
));
}
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
if
(
"2300"
.
equals
(
dpFilterParamForDetailDto
.
getTreeValue
())){
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_CATEGORY_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
else
{
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_LIST_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
}
// 且8大类,目的去掉脏数据
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
StCommonServiceImpl
.
getEquipmentCategory
().
stream
().
map
(
EquipmentCategoryDto:
:
getCode
).
collect
(
Collectors
.
toList
())));
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
request
.
query
(
boolMust
);
request
.
query
(
boolMust
);
try
{
try
{
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
...
@@ -205,22 +180,10 @@ public class EquipmentStaticsServiceImpl {
...
@@ -205,22 +180,10 @@ public class EquipmentStaticsServiceImpl {
private
Long
getNGEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
private
Long
getNGEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
long
num
=
0
;
long
num
=
0
;
CountRequest
request
=
new
CountRequest
();
CountRequest
request
=
new
CountRequest
();
request
.
indices
(
"idx_biz_view_jg_all"
);
request
.
indices
(
StatisticalAnalysisEnum
.
equip
.
getKey
()
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 按照管辖机构区域信息模糊查询
createBoolQueryBuilder
(
boolMust
,
dpFilterParamForDetailDto
,
dpFilterParamForDetailDto
.
getOrgCode
());
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getOrgCode
())
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"IS_INTO_MANAGEMENT"
,
true
));
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"IS_INTO_MANAGEMENT"
,
true
));
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
if
(
"2300"
.
equals
(
dpFilterParamForDetailDto
.
getTreeValue
())){
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_CATEGORY_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
else
{
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_LIST_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
}
// 且8大类,目的去掉脏数据
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
StCommonServiceImpl
.
getEquipmentCategory
().
stream
().
map
(
EquipmentCategoryDto:
:
getCode
).
collect
(
Collectors
.
toList
())));
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
request
.
query
(
boolMust
);
request
.
query
(
boolMust
);
try
{
try
{
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
...
@@ -234,25 +197,10 @@ public class EquipmentStaticsServiceImpl {
...
@@ -234,25 +197,10 @@ public class EquipmentStaticsServiceImpl {
private
Long
getLQEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
private
Long
getLQEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
long
num
=
0
;
long
num
=
0
;
CountRequest
request
=
new
CountRequest
();
CountRequest
request
=
new
CountRequest
();
request
.
indices
(
"idx_biz_view_jg_all"
);
request
.
indices
(
StatisticalAnalysisEnum
.
equip
.
getKey
()
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 按照管辖机构区域信息模糊查询
createBoolQueryBuilder
(
boolMust
,
dpFilterParamForDetailDto
,
dpFilterParamForDetailDto
.
getOrgCode
());
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getOrgCode
())
+
"*"
));
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
LocalDate
.
now
().
format
(
formatter
)).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)));
// 且下次检验日期大于等于当天 且查询 下次检验日期 <= 当前天+30天 即为临期
long
currentDayTime
=
DateUtil
.
parse
(
DateUtil
.
today
(),
"yyy-MM-dd"
).
getTime
();
long
currentDayAfter30DayTime
=
DateUtil
.
offsetDay
(
DateUtil
.
parse
(
DateUtil
.
today
(),
"yyy-MM-dd"
),
30
).
getTime
();
boolMust
.
must
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
currentDayTime
).
lte
(
currentDayAfter30DayTime
));
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
if
(
"2300"
.
equals
(
dpFilterParamForDetailDto
.
getTreeValue
())){
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_CATEGORY_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
else
{
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_LIST_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
}
// 且8大类,目的去掉脏数据
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
StCommonServiceImpl
.
getEquipmentCategory
().
stream
().
map
(
EquipmentCategoryDto:
:
getCode
).
collect
(
Collectors
.
toList
())));
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
request
.
query
(
boolMust
);
request
.
query
(
boolMust
);
try
{
try
{
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
...
@@ -266,26 +214,10 @@ public class EquipmentStaticsServiceImpl {
...
@@ -266,26 +214,10 @@ public class EquipmentStaticsServiceImpl {
private
Long
getCQEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
private
Long
getCQEquipmentCount
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
long
num
=
0
;
long
num
=
0
;
CountRequest
request
=
new
CountRequest
();
CountRequest
request
=
new
CountRequest
();
request
.
indices
(
"idx_biz_view_jg_all"
);
request
.
indices
(
StatisticalAnalysisEnum
.
equip
.
getKey
()
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 按照管辖机构区域信息模糊查询
createBoolQueryBuilder
(
boolMust
,
dpFilterParamForDetailDto
,
dpFilterParamForDetailDto
.
getOrgCode
());
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getOrgCode
())
+
"*"
));
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
lt
(
LocalDate
.
now
().
format
(
formatter
)));
// 查询下次检验日期小于当前天的设备,即为超期检验超期设备
long
currentDayTime
=
DateUtil
.
parse
(
DateUtil
.
now
(),
"yyy-MM-dd"
).
getTime
();
boolMust
.
must
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
lt
(
currentDayTime
));
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
if
(
"2300"
.
equals
(
dpFilterParamForDetailDto
.
getTreeValue
())){
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_CATEGORY_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
else
{
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_LIST_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
}
// 且8大类,目的去掉脏数据
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
StCommonServiceImpl
.
getEquipmentCategory
().
stream
().
map
(
EquipmentCategoryDto:
:
getCode
).
collect
(
Collectors
.
toList
())));
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
request
.
query
(
boolMust
);
request
.
query
(
boolMust
);
try
{
try
{
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
CountResponse
response
=
restHighLevelClient
.
count
(
request
,
RequestOptions
.
DEFAULT
);
...
@@ -296,37 +228,97 @@ public class EquipmentStaticsServiceImpl {
...
@@ -296,37 +228,97 @@ public class EquipmentStaticsServiceImpl {
return
num
;
return
num
;
}
}
public
Page
<
Map
<
String
,
Object
>>
normalPage
(
Integer
current
,
Integer
size
,
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
public
Page
<
Map
<
String
,
Object
>>
normalPage
(
Integer
current
,
Integer
size
,
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
dpFilterParamForDetailDto
.
getCityCode
());
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
dpFilterParamForDetailDto
.
getCityCode
());
if
(
dpFilterParamForDetailDto
.
getOrgBranchCode
()
!=
null
){
if
(
dpFilterParamForDetailDto
.
getOrgBranchCode
().
contains
(
"_"
)){
if
(
StringUtils
.
isEmpty
(
orgCode
))
{
String
code
=
dpFilterParamForDetailDto
.
getOrgBranchCode
().
split
(
"_"
)[
0
];
return
new
Page
<>(
current
,
size
);
orgCode
=
stCommonService
.
getAndSetOrgCode
(
code
);
}
}
if
(
StringUtils
.
isEmpty
(
orgCode
)){
return
new
Page
<>(
current
,
size
);
}
}
SearchRequest
request
=
new
SearchRequest
();
SearchRequest
request
=
new
SearchRequest
();
request
.
indices
(
"idx_biz_equipment_info"
);
request
.
indices
(
StatisticalAnalysisEnum
.
equip
.
getKey
()
);
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
createBoolQueryBuilder
(
boolMust
,
dpFilterParamForDetailDto
,
orgCode
);
//监管码状态0已赋码1未赋码
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getSupervisionCodeStatus
()))
{
if
(
StringUtils
.
equals
(
"0"
,
dpFilterParamForDetailDto
.
getSupervisionCodeStatus
()))
{
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
"SUPERVISORY_CODE"
));
boolMust
.
mustNot
(
QueryBuilders
.
termQuery
(
"SUPERVISORY_CODE"
,
"null"
));
}
else
{
boolMust
.
mustNot
(
QueryBuilders
.
existsQuery
(
"SUPERVISORY_CODE"
));
}
}
searchSourceBuilder
.
query
(
boolMust
);
searchSourceBuilder
.
from
(
current
-
1
);
searchSourceBuilder
.
size
(
size
);
searchSourceBuilder
.
trackTotalHits
(
true
);
request
.
source
(
searchSourceBuilder
);
// 创建查询构造器
NativeSearchQuery
query
=
new
NativeSearchQueryBuilder
()
// 分页
.
withPageable
(
PageRequest
.
of
(
current
-
1
,
size
))
//过滤条件
.
withQuery
(
boolMust
).
build
();
query
.
setTrackTotalHits
(
true
);
query
.
setMaxResults
(
size
);
List
<
Map
<
String
,
Object
>>
list
=
new
LinkedList
<>();
long
total
=
0
;
Page
<
Map
<
String
,
Object
>>
result
=
new
Page
<>(
current
,
size
);
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
for
(
org
.
elasticsearch
.
search
.
SearchHit
hit
:
response
.
getHits
().
getHits
())
{
System
.
out
.
println
(
hit
);
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
hit
);
JSONObject
dto2
=
jsonObject
.
getJSONObject
(
"sourceAsMap"
);
if
(!
ValidationUtil
.
isEmpty
(
dto2
.
get
(
EQUSTATE
)))
{
Integer
integer
=
Integer
.
valueOf
(
dto2
.
get
(
EQUSTATE
).
toString
());
String
equStatus
=
EquimentEnum
.
getName
.
get
(
integer
);
dto2
.
put
(
EQUSTATE
,
equStatus
);
}
if
(!
ValidationUtil
.
isEmpty
(
dto2
.
get
(
SUPERVISORYCODE
))
&&
dto2
.
get
(
SUPERVISORYCODE
)
!=
"null"
)
{
dto2
.
put
(
"IS_SUPERVISORY_CODE"
,
"已赋码"
);
}
else
{
dto2
.
put
(
"IS_SUPERVISORY_CODE"
,
"未赋码"
);
}
list
.
add
(
dto2
);
}
total
=
response
.
getInternalResponse
().
hits
().
getTotalHits
().
value
;
result
.
setRecords
(
list
);
result
.
setTotal
(
total
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
result
;
}
private
void
createBoolQueryBuilder
(
BoolQueryBuilder
boolMust
,
DPFilterParamForDetailDto
dpFilterParamForDetailDto
,
String
orgCode
)
{
String
orgBranchCode
=
null
;
if
(
dpFilterParamForDetailDto
.
getOrgBranchCode
()
!=
null
)
{
if
(
dpFilterParamForDetailDto
.
getOrgBranchCode
().
contains
(
"_"
))
{
String
code
=
dpFilterParamForDetailDto
.
getOrgBranchCode
().
split
(
"_"
)[
0
];
orgBranchCode
=
stCommonService
.
getAndSetOrgCode
(
code
);
}
}
// 按照管辖机构区域信息模糊查询
// 按照管辖机构区域信息模糊查询
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
if
(
orgBranchCode
!=
null
)
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgBranchCode
));
}
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
if
(
"2300"
.
equals
(
dpFilterParamForDetailDto
.
getTreeValue
())){
if
(
"2300"
.
equals
(
dpFilterParamForDetailDto
.
getTreeValue
()))
{
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_CATEGORY_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_CATEGORY_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
else
{
}
else
{
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_LIST_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
boolMust
.
must
(
QueryBuilders
.
termQuery
(
"EQU_LIST_CODE"
,
QueryParser
.
escape
(
dpFilterParamForDetailDto
.
getTreeValue
().
toLowerCase
())));
}
}
}
}
// 且8大类,目的去掉脏数据
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
// boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
// 检验状态: 0:临期,1:超期
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
//检验状态0临期1超期
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getInspectionStatus
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getInspectionStatus
()))
{
if
(
StringUtils
.
equals
(
"0"
,
dpFilterParamForDetailDto
.
getInspectionStatus
()))
{
if
(
StringUtils
.
equals
(
"0"
,
dpFilterParamForDetailDto
.
getInspectionStatus
()))
{
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
LocalDate
.
now
().
format
(
formatter
)).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)));
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
LocalDate
.
now
().
format
(
formatter
)).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)));
...
@@ -337,107 +329,55 @@ public class EquipmentStaticsServiceImpl {
...
@@ -337,107 +329,55 @@ public class EquipmentStaticsServiceImpl {
/**
/**
* 使用单位
* 使用单位
*/
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUseUnitName
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUseUnitName
()))
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_UNIT_NAME"
,
"*"
+
dpFilterParamForDetailDto
.
getUseUnitName
()
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_UNIT_NAME"
,
"*"
+
dpFilterParamForDetailDto
.
getUseUnitName
()
+
"*"
));
}
}
/**
/**
* 使用登记编号
* 使用登记编号
*/
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUseOrgCode
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUseOrgCode
()))
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_ORG_CODE"
,
"*"
+
dpFilterParamForDetailDto
.
getUseOrgCode
()
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_ORG_CODE"
,
"*"
+
dpFilterParamForDetailDto
.
getUseOrgCode
()
+
"*"
));
}
}
/**
/**
* 96333
* 96333
*/
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getCode96333
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getCode96333
()))
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"CODE96333"
,
"*"
+
dpFilterParamForDetailDto
.
getCode96333
()
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"CODE96333"
,
"*"
+
dpFilterParamForDetailDto
.
getCode96333
()
+
"*"
));
}
}
/**
/**
* 监管码
* 监管码
*/
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getSupervisoryCode
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getSupervisoryCode
()))
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"SUPERVISORY_CODE"
,
"*"
+
dpFilterParamForDetailDto
.
getSupervisoryCode
()
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"SUPERVISORY_CODE"
,
"*"
+
dpFilterParamForDetailDto
.
getSupervisoryCode
()
+
"*"
));
}
}
/**
/**
* 所属地区
* 所属地区
*/
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUsePlace
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUsePlace
()))
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_PLACE"
,
"*"
+
dpFilterParamForDetailDto
.
getUsePlace
()
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_PLACE"
,
"*"
+
dpFilterParamForDetailDto
.
getUsePlace
()
+
"*"
));
}
}
/**
/**
* 设备状态
* 设备状态
*/
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getEquState
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getEquState
()))
{
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_STATE"
,
EquimentEnum
.
getCode
.
get
(
dpFilterParamForDetailDto
.
getEquState
())));
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_STATE"
,
EquimentEnum
.
getCode
.
get
(
dpFilterParamForDetailDto
.
getEquState
())));
}
}
/**
/**
* 信息化
* 信息化
*/
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getInformationSituation
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getInformationSituation
()))
{
boolMust
.
must
(
QueryBuilders
.
matchQuery
(
"INFORMATION_SITUATION"
,
dpFilterParamForDetailDto
.
getInformationSituation
()));
boolMust
.
must
(
QueryBuilders
.
matchQuery
(
"INFORMATION_SITUATION"
,
dpFilterParamForDetailDto
.
getInformationSituation
()));
}
}
/**
/**
* 设备类别
* 设备类别
*/
*/
if
(
StrUtil
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getEquCategory
()))
{
if
(
StrUtil
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getEquCategory
()))
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"EQU_CATEGORY"
,
"*"
+
dpFilterParamForDetailDto
.
getEquCategory
()
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"EQU_CATEGORY"
,
"*"
+
dpFilterParamForDetailDto
.
getEquCategory
()
+
"*"
));
}
}
//监管码状态0已赋码1未赋码
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getSupervisionCodeStatus
()))
{
if
(
StringUtils
.
equals
(
"0"
,
dpFilterParamForDetailDto
.
getSupervisionCodeStatus
()))
{
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
"SUPERVISORY_CODE"
));
boolMust
.
mustNot
(
QueryBuilders
.
termQuery
(
"SUPERVISORY_CODE"
,
"null"
));
}
else
{
boolMust
.
mustNot
(
QueryBuilders
.
existsQuery
(
"SUPERVISORY_CODE"
));
}
}
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getNextInspectionDate
()))
{
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getNextInspectionDate
()))
{
String
[]
timeArray
=
dpFilterParamForDetailDto
.
getNextInspectionDate
().
split
(
","
);
String
[]
timeArray
=
dpFilterParamForDetailDto
.
getNextInspectionDate
().
split
(
","
);
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
timeArray
[
0
]).
lte
(
timeArray
[
1
]));
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
timeArray
[
0
]).
lte
(
timeArray
[
1
]));
}
}
searchSourceBuilder
.
query
(
boolMust
);
searchSourceBuilder
.
from
(
current
-
1
);
searchSourceBuilder
.
size
(
size
);
searchSourceBuilder
.
trackTotalHits
(
true
);
request
.
source
(
searchSourceBuilder
);
// 创建查询构造器
NativeSearchQuery
query
=
new
NativeSearchQueryBuilder
()
// 分页
.
withPageable
(
PageRequest
.
of
(
current
-
1
,
size
))
//过滤条件
.
withQuery
(
boolMust
).
build
();
query
.
setTrackTotalHits
(
true
);
query
.
setMaxResults
(
size
);
List
<
Map
<
String
,
Object
>>
list
=
new
LinkedList
<>();
long
total
=
0
;
Page
<
Map
<
String
,
Object
>>
result
=
new
Page
<>(
current
,
size
);
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
for
(
org
.
elasticsearch
.
search
.
SearchHit
hit
:
response
.
getHits
().
getHits
())
{
System
.
out
.
println
(
hit
);
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
hit
);
JSONObject
dto2
=
jsonObject
.
getJSONObject
(
"sourceAsMap"
);
if
(!
ValidationUtil
.
isEmpty
(
dto2
.
get
(
EQUSTATE
)))
{
Integer
integer
=
Integer
.
valueOf
(
dto2
.
get
(
EQUSTATE
).
toString
());
String
equStatus
=
EquimentEnum
.
getName
.
get
(
integer
);
dto2
.
put
(
EQUSTATE
,
equStatus
);
}
if
(!
ValidationUtil
.
isEmpty
(
dto2
.
get
(
SUPERVISORYCODE
))
&&
dto2
.
get
(
SUPERVISORYCODE
)
!=
"null"
){
dto2
.
put
(
"IS_SUPERVISORY_CODE"
,
"已赋码"
);
}
else
{
dto2
.
put
(
"IS_SUPERVISORY_CODE"
,
"未赋码"
);
}
list
.
add
(
dto2
);
}
total
=
response
.
getInternalResponse
().
hits
().
getTotalHits
().
value
;
result
.
setRecords
(
list
);
result
.
setTotal
(
total
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
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