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
6b333737
Commit
6b333737
authored
Mar 28, 2025
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
大屏应急统计调整电梯数量
parent
a40bcdc2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
66 additions
and
30 deletions
+66
-30
YJDPStatisticsServiceImpl.java
...statistcs/biz/service/impl/YJDPStatisticsServiceImpl.java
+66
-30
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/YJDPStatisticsServiceImpl.java
View file @
6b333737
...
@@ -93,9 +93,9 @@ public class YJDPStatisticsServiceImpl {
...
@@ -93,9 +93,9 @@ public class YJDPStatisticsServiceImpl {
}
}
/**
/**
* 电梯设备
品种
* 电梯设备
类别
*/
*/
private
final
static
String
E
LEVATOR_EQU_DEFINE_CODES
=
"3410,3420,3430,3310,3320,3210,3220,3120,3130,311
0"
;
private
final
static
String
E
QU_CATEGORY_CODE_CODES
=
"3100,3200,3300,340
0"
;
/**
/**
* 电梯种类
* 电梯种类
*/
*/
...
@@ -464,39 +464,53 @@ public class YJDPStatisticsServiceImpl {
...
@@ -464,39 +464,53 @@ public class YJDPStatisticsServiceImpl {
// 统计完成的事件包括困人、故障、投诉咨询
// 统计完成的事件包括困人、故障、投诉咨询
List
<
CountDto
>
countDtos
=
alertStatisticsMapper
.
countEmergencyEventsByOrgCodeAndDate2
(
orgCode
,
filterParamDto
);
List
<
CountDto
>
countDtos
=
alertStatisticsMapper
.
countEmergencyEventsByOrgCodeAndDate2
(
orgCode
,
filterParamDto
);
Map
<
String
,
Long
>
alertTypeNumMap
=
countDtos
.
stream
().
collect
(
Collectors
.
toMap
(
CountDto:
:
getKeyStr
,
CountDto:
:
getLongValue
));
Map
<
String
,
Long
>
alertTypeNumMap
=
countDtos
.
stream
().
collect
(
Collectors
.
toMap
(
CountDto:
:
getKeyStr
,
CountDto:
:
getLongValue
));
Map
<
String
,
Long
>
equDefineNumMap
=
staticsElevatorByEquDefine
(
filterParamDto
.
getCityCode
());
Map
<
String
,
Long
>
countMap
=
new
HashMap
<>();
this
.
staticsElevatorByEquCategory
(
filterParamDto
.
getCityCode
(),
countMap
);
this
.
staticsElevatorByEquList
(
filterParamDto
.
getCityCode
(),
countMap
);
// 电梯总量(台)
// 电梯总量(台)
Long
dtCount
=
equDefineNum
Map
.
getOrDefault
(
ELEVATOR_EQU_LIST_CODE
,
0L
);
Long
dtCount
=
count
Map
.
getOrDefault
(
ELEVATOR_EQU_LIST_CODE
,
0L
);
result
.
put
(
"dtCount"
,
dtCount
);
result
.
put
(
"dtCount"
,
dtCount
);
// 无设备品种的电梯数量(台)
// 曳引与强制驱动电梯(台)
long
dtEquDefineCount
=
equDefineNumMap
.
entrySet
()
result
.
put
(
"yyyqzqddtCount"
,
countMap
.
getOrDefault
(
"3100"
,
0L
));
// 液压驱动电梯(台)
result
.
put
(
"yyqddtCount"
,
countMap
.
getOrDefault
(
"3200"
,
0L
));
// 自动扶梯与自动人行道(台)
result
.
put
(
"zdftyzdrxddtCount"
,
countMap
.
getOrDefault
(
"3300"
,
0L
));
// 其它类型电梯(台)
result
.
put
(
"qtlxdtCount"
,
countMap
.
getOrDefault
(
"3400"
,
0L
));
// 无设备类别的电梯数量(台)
long
dtEquCategoryCount
=
countMap
.
entrySet
()
.
stream
()
.
stream
()
.
filter
(
entry
->
!
ELEVATOR_EQU_LIST_CODE
.
equals
(
entry
.
getKey
()))
.
filter
(
entry
->
!
ELEVATOR_EQU_LIST_CODE
.
equals
(
entry
.
getKey
()))
.
collect
(
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
Map
.
Entry
::
getValue
))
.
collect
(
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
Map
.
Entry
::
getValue
))
.
values
()
.
values
()
.
stream
()
.
stream
()
.
mapToLong
(
e
->
e
).
sum
();
.
mapToLong
(
e
->
e
)
result
.
put
(
"dtCountNotEquDefine"
,
dtCount
-
dtEquDefineCount
);
.
sum
();
result
.
put
(
"dtCountNotEquCategory"
,
dtCount
-
dtEquCategoryCount
);
// 电梯总量(台)
// result.put("dtCount", equDefineNumMap.values().stream().mapToLong(e -> e).sum());
// 曳引驱动乘客电梯(台)
// 曳引驱动乘客电梯(台)
result
.
put
(
"zyqdcjdtCount"
,
equDefineNumMap
.
getOrDefault
(
"3110"
,
0L
));
//
result.put("zyqdcjdtCount", equDefineNumMap.getOrDefault("3110", 0L));
// 曳引驱动载货电梯(台)
// 曳引驱动载货电梯(台)
result
.
put
(
"zyqdzhdtCount"
,
equDefineNumMap
.
getOrDefault
(
"3120"
,
0L
));
//
result.put("zyqdzhdtCount", equDefineNumMap.getOrDefault("3120", 0L));
// 强制驱动载货电梯(台)
// 强制驱动载货电梯(台)
result
.
put
(
"qzqdzgdtCount"
,
equDefineNumMap
.
getOrDefault
(
"3130"
,
0L
));
//
result.put("qzqdzgdtCount", equDefineNumMap.getOrDefault("3130", 0L));
// 液压乘客电梯(台)
// 液压乘客电梯(台)
result
.
put
(
"yackdtount"
,
equDefineNumMap
.
getOrDefault
(
"3210"
,
0L
));
//
result.put("yackdtount", equDefineNumMap.getOrDefault("3210", 0L));
// 液压载货电梯(台)
// 液压载货电梯(台)
result
.
put
(
"yyzhdtCount"
,
equDefineNumMap
.
getOrDefault
(
"3220"
,
0L
));
//
result.put("yyzhdtCount", equDefineNumMap.getOrDefault("3220", 0L));
// 自动扶梯(台)
// 自动扶梯(台)
result
.
put
(
"zdftCount"
,
equDefineNumMap
.
getOrDefault
(
"3310"
,
0L
));
//
result.put("zdftCount", equDefineNumMap.getOrDefault("3310", 0L));
// 自动人行道(台)
// 自动人行道(台)
result
.
put
(
"zdrxdCount"
,
equDefineNumMap
.
getOrDefault
(
"3320"
,
0L
));
//
result.put("zdrxdCount", equDefineNumMap.getOrDefault("3320", 0L));
// 防爆电梯(台)
// 防爆电梯(台)
result
.
put
(
"fbdtCount"
,
equDefineNumMap
.
getOrDefault
(
"3410"
,
0L
));
//
result.put("fbdtCount", equDefineNumMap.getOrDefault("3410", 0L));
// 消防员电梯(台)
// 消防员电梯(台)
result
.
put
(
"xfydtCount"
,
equDefineNumMap
.
getOrDefault
(
"3420"
,
0L
));
//
result.put("xfydtCount", equDefineNumMap.getOrDefault("3420", 0L));
// 杂物电梯(台)
// 杂物电梯(台)
result
.
put
(
"zhdtCount"
,
equDefineNumMap
.
getOrDefault
(
"3430"
,
0L
));
//
result.put("zhdtCount", equDefineNumMap.getOrDefault("3430", 0L));
// 应急事件(起) = 困人救援事件(起) + 故障维修(起) + 投诉咨询(起)
// 应急事件(起) = 困人救援事件(起) + 故障维修(起) + 投诉咨询(起)
result
.
put
(
"alarmCount"
,
alertTypeNumMap
.
getOrDefault
(
DispatchPaperEnums
.
KRJY
.
getId
(),
0L
)
+
result
.
put
(
"alarmCount"
,
alertTypeNumMap
.
getOrDefault
(
DispatchPaperEnums
.
KRJY
.
getId
(),
0L
)
+
alertTypeNumMap
.
getOrDefault
(
DispatchPaperEnums
.
GZWX
.
getId
(),
0L
)
+
alertTypeNumMap
.
getOrDefault
(
DispatchPaperEnums
.
GZWX
.
getId
(),
0L
)
+
...
@@ -556,12 +570,11 @@ public class YJDPStatisticsServiceImpl {
...
@@ -556,12 +570,11 @@ public class YJDPStatisticsServiceImpl {
return
num
;
return
num
;
}
}
private
Map
<
String
,
Long
>
staticsElevatorByEquDefine
(
String
regionCode
)
{
private
void
staticsElevatorByEquCategory
(
String
regionCode
,
Map
<
String
,
Long
>
countMap
)
{
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
regionCode
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
Map
<
String
,
Long
>
countMap
=
new
HashMap
<>();
SearchRequest
request
=
new
SearchRequest
();
SearchRequest
request
=
new
SearchRequest
();
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
regionCode
);
request
.
indices
(
"idx_biz_view_jg_all"
);
request
.
indices
(
"idx_biz_view_jg_all"
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 按照管辖机构区域信息模糊查询
// 按照管辖机构区域信息模糊查询
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
orgCode
)
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
orgCode
)
+
"*"
));
//已赋码
//已赋码
...
@@ -570,25 +583,49 @@ public class YJDPStatisticsServiceImpl {
...
@@ -570,25 +583,49 @@ public class YJDPStatisticsServiceImpl {
//状态为已认领
//状态为已认领
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
// 且设备品种3级,按照真实的过滤,防止有脏数据
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_DEFINE_CODE.keyword"
,
ELEVATOR_EQU_DEFINE_CODES
.
split
(
","
)));
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
ELEVATOR_EQU_LIST_CODE
));
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
ELEVATOR_EQU_LIST_CODE
));
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_CATEGORY_CODE"
,
EQU_CATEGORY_CODE_CODES
.
split
(
","
)));
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
query
(
boolMust
);
builder
.
query
(
boolMust
);
builder
.
size
(
0
);
builder
.
size
(
0
);
// 原因默认10个,由于业务最多有10个,担心有脏数据,故多查询
// 原因默认10个,由于业务最多有10个,担心有脏数据,故多查询
TermsAggregationBuilder
aggregationBuilder
=
AggregationBuilders
.
terms
(
"count_by_equ_
define_code"
).
field
(
"EQU_DEFINE_CODE.keyword
"
).
size
(
20
);
TermsAggregationBuilder
aggregationBuilder
=
AggregationBuilders
.
terms
(
"count_by_equ_
category_code"
).
field
(
"EQU_CATEGORY_CODE
"
).
size
(
20
);
builder
.
aggregation
(
aggregationBuilder
);
builder
.
aggregation
(
aggregationBuilder
);
TermsAggregationBuilder
aggregationBuilder1
=
AggregationBuilders
.
terms
(
"count_by_equ_list_code"
).
field
(
"EQU_LIST_CODE"
).
size
(
20
);
builder
.
aggregation
(
aggregationBuilder1
);
request
.
source
(
builder
);
request
.
source
(
builder
);
try
{
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
Terms
equDefineTerms
=
response
.
getAggregations
().
get
(
"count_by_equ_
define
_code"
);
Terms
equDefineTerms
=
response
.
getAggregations
().
get
(
"count_by_equ_
category
_code"
);
for
(
Terms
.
Bucket
bucket
:
equDefineTerms
.
getBuckets
())
{
for
(
Terms
.
Bucket
bucket
:
equDefineTerms
.
getBuckets
())
{
countMap
.
put
(
bucket
.
getKeyAsString
(),
bucket
.
getDocCount
());
countMap
.
put
(
bucket
.
getKeyAsString
(),
bucket
.
getDocCount
());
}
}
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
private
void
staticsElevatorByEquList
(
String
regionCode
,
Map
<
String
,
Long
>
countMap
)
{
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
SearchRequest
request
=
new
SearchRequest
();
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
regionCode
);
request
.
indices
(
"idx_biz_view_jg_all"
);
// 按照管辖机构区域信息模糊查询
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"ORG_BRANCH_CODE.keyword"
,
QueryParser
.
escape
(
orgCode
)
+
"*"
));
//已赋码
boolMust
.
must
(
QueryBuilders
.
existsQuery
(
"SUPERVISORY_CODE"
));
boolMust
.
mustNot
(
QueryBuilders
.
termQuery
(
"SUPERVISORY_CODE"
,
"null"
));
//状态为已认领
String
[]
status
=
{
"草稿"
,
"已拒领"
,
"待认领"
};
boolMust
.
mustNot
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Arrays
.
asList
(
status
)));
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"EQU_LIST_CODE"
,
ELEVATOR_EQU_LIST_CODE
));
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
query
(
boolMust
);
builder
.
size
(
0
);
// 原因默认10个,由于业务最多有10个,担心有脏数据,故多查询
TermsAggregationBuilder
aggregationBuilder
=
AggregationBuilders
.
terms
(
"count_by_equ_list_code"
).
field
(
"EQU_LIST_CODE"
).
size
(
20
);
builder
.
aggregation
(
aggregationBuilder
);
request
.
source
(
builder
);
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
Terms
equListTerms
=
response
.
getAggregations
().
get
(
"count_by_equ_list_code"
);
Terms
equListTerms
=
response
.
getAggregations
().
get
(
"count_by_equ_list_code"
);
for
(
Terms
.
Bucket
bucket
:
equListTerms
.
getBuckets
())
{
for
(
Terms
.
Bucket
bucket
:
equListTerms
.
getBuckets
())
{
countMap
.
put
(
bucket
.
getKeyAsString
(),
bucket
.
getDocCount
());
countMap
.
put
(
bucket
.
getKeyAsString
(),
bucket
.
getDocCount
());
...
@@ -596,7 +633,6 @@ public class YJDPStatisticsServiceImpl {
...
@@ -596,7 +633,6 @@ public class YJDPStatisticsServiceImpl {
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
return
countMap
;
}
}
public
JSONObject
alertRecordBarChartForDP
(
DPFilterParamForDetailDto
recordFilterVo
)
{
public
JSONObject
alertRecordBarChartForDP
(
DPFilterParamForDetailDto
recordFilterVo
)
{
...
...
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