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
b8ecf53d
Commit
b8ecf53d
authored
Nov 08, 2024
by
麻笑宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
指标管理 应急处置 / 困人救援月度情况 代码提交
parent
785ca6df
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
437 additions
and
13 deletions
+437
-13
DPFilterParamForDetailDto.java
...boot/module/common/api/dto/DPFilterParamForDetailDto.java
+30
-0
ZBGLEnum.java
...m/yeejoin/amos/boot/module/common/api/enums/ZBGLEnum.java
+2
-2
ZBGLStatisticsMapper.java
...ot/module/statistics/api/mapper/ZBGLStatisticsMapper.java
+8
-5
ZBGLStatisticsMapper.xml
...cs-api/src/main/resources/mapper/ZBGLStatisticsMapper.xml
+43
-1
EquipmentStaticsServiceImpl.java
...atistcs/biz/service/impl/EquipmentStaticsServiceImpl.java
+66
-2
DtgzyyzbfxServiceImpl.java
...stcs/biz/service/impl/ZBGLImpl/DtgzyyzbfxServiceImpl.java
+5
-3
DtkrsjcsfxServiceImpl.java
...stcs/biz/service/impl/ZBGLImpl/DtkrsjcsfxServiceImpl.java
+121
-0
KrjyydqkServiceImpl.java
...tistcs/biz/service/impl/ZBGLImpl/KrjyydqkServiceImpl.java
+162
-0
No files found.
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/dto/DPFilterParamForDetailDto.java
View file @
b8ecf53d
...
...
@@ -62,6 +62,7 @@ public class DPFilterParamForDetailDto {
* 设备类别
*/
private
String
equCategoryCode
;
private
String
equCategory
;
/**
* 监管单位名称(接收单位/管辖机构)
...
...
@@ -202,4 +203,33 @@ public class DPFilterParamForDetailDto {
* 证件号码
*/
private
String
certificateNum
;
/**
* 使用多个单位
*/
private
String
useUnitName
;
/**
* 使用登记证
*/
private
String
useOrgCode
;
/**
* 96333码
*/
private
String
code96333
;
/**
* 监管码
*/
private
String
supervisoryCode
;
/**
* 所属地区
*/
private
String
usePlace
;
/**
* 设备状态
*/
private
String
equState
;
/**
* 信息化
*/
private
String
informationSituation
;
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/enums/ZBGLEnum.java
View file @
b8ecf53d
...
...
@@ -10,8 +10,8 @@ import java.util.*;
public
enum
ZBGLEnum
{
YJCZ
(
"应急处置"
,
"yjcz"
,
true
,
null
,
""
),
DTGZYYZBFX
(
"电梯故障原因占比分析"
,
"dtgzyyzbfx"
,
false
,
"yjcz"
,
"dtgzyyzbfxServiceImpl"
),
DTKRSJCSFX
(
"电梯困人事件场所分布"
,
"dtkrsjcsfx"
,
false
,
"yjcz"
,
""
),
KRJYYDQK
(
"困人救援月度情况"
,
"krjyydqk"
,
false
,
"yjcz"
,
""
),
DTKRSJCSFX
(
"电梯困人事件场所分布"
,
"dtkrsjcsfx"
,
false
,
"yjcz"
,
"
dtkrsjcsfxServiceImpl
"
),
KRJYYDQK
(
"困人救援月度情况"
,
"krjyydqk"
,
false
,
"yjcz"
,
"
krjyydqkServiceImpl
"
),
JDGL
(
"监督管理"
,
"jdgl"
,
true
,
null
,
""
),
YWBLPJSXTJ
(
"业务办理平均时效统计"
,
"ywblpjsxtj"
,
false
,
"jdgl"
,
""
),
AQZS
(
"安全追溯"
,
"aqzs"
,
true
,
null
,
""
),
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/mapper/ZBGLStatisticsMapper.java
View file @
b8ecf53d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -22,5 +18,12 @@ public interface ZBGLStatisticsMapper {
List
<
Map
<
String
,
String
>>
getTypeList
(
@Param
(
"type"
)
String
type
);
Long
getDTGZYYZBFXChartData
(
@Param
(
"dpFilterParamForDetailDto"
)
DPFilterParamForDetailDto
dpFilterParamForDetailDto
);
List
<
Map
<
String
,
Object
>>
getPageData
(
@Param
(
"dpFilterParamForDetailDto"
)
DPFilterParamForDetailDto
dpFilterParamForDetailDto
);
List
<
Map
<
String
,
Object
>>
getDTGZYYZBFXPageData
(
@Param
(
"dpFilterParamForDetailDto"
)
DPFilterParamForDetailDto
dpFilterParamForDetailDto
);
Long
getDTKRSJCSFXChartData
(
@Param
(
"dpFilterParamForDetailDto"
)
DPFilterParamForDetailDto
dpFilterParamForDetailDto
);
List
<
Map
<
String
,
Object
>>
getDTKRSJCSFXPageData
(
@Param
(
"dpFilterParamForDetailDto"
)
DPFilterParamForDetailDto
dpFilterParamForDetailDto
);
Map
<
String
,
Long
>
getKRJYYDQKChartData
(
@Param
(
"dpFilterParamForDetailDto"
)
DPFilterParamForDetailDto
dpFilterParamForDetailDto
,
@Param
(
"time"
)
String
time
);
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/ZBGLStatisticsMapper.xml
View file @
b8ecf53d
...
...
@@ -25,7 +25,7 @@
AND tafv.field_code = 'error_result'
AND tafv.field_value IS NOT NULL
</select>
<select
id=
"getPageData"
resultType=
"java.util.Map"
>
<select
id=
"get
DTGZYYZBFX
PageData"
resultType=
"java.util.Map"
>
SELECT
tafv.field_value AS keyStr,
ifnull (SUM (CASE WHEN tac.father_alert IS NULL THEN 1 ELSE 0 END ), 0 ) AS longValue,
...
...
@@ -41,5 +41,47 @@
GROUP BY
tafv.field_value
</select>
<select
id=
"getDTKRSJCSFXChartData"
resultType=
"java.lang.Long"
>
SELECT
count(1)
FROM
tz_alert_called tac
LEFT JOIN idx_biz_jg_use_info ibjuj ON tac.equipment_id = ibjuj.RECORD
WHERE
tac.biz_org_code LIKE concat(#{dpFilterParamForDetailDto.orgCode}, '%')
AND (tac.alarm_type_code = '960' or tac.alarm_type_code = '961')
AND ibjuj.USE_PLACE is NOT NULL
</select>
<select
id=
"getDTKRSJCSFXPageData"
resultType=
"java.util.Map"
>
SELECT
ifnull ( SUM ( CASE WHEN father_alert IS NULL THEN 1 ELSE 0 END ), 0 ) AS longValue,
ibjuj."USE_PLACE" AS fieldValueCode
FROM
tz_alert_called tac
LEFT JOIN idx_biz_jg_use_info ibjuj ON tac.equipment_id = ibjuj.RECORD
WHERE
tac.biz_org_code LIKE concat ( #{dpFilterParamForDetailDto.orgCode}, '%' )
AND ( tac.alarm_type_code = '960' OR tac.alarm_type_code = '961' )
AND ibjuj.USE_PLACE IS NOT NULL
GROUP BY
ibjuj."USE_PLACE"
</select>
<select
id=
"getKRJYYDQKChartData"
resultType=
"java.util.Map"
>
SELECT
sum(less_num) AS lessNum,
sum(greater_num) AS greaterNum,
sum(level_one) AS levelOne,
sum(level_two) AS levelTwo,
sum(level_three) AS levelThree
FROM
tzs_alert_rescue_statistics
WHERE
statistics_date = #{time}
AND supervisory_unit_org_code LIKE concat ( #{dpFilterParamForDetailDto.orgCode}, '%' )
GROUP BY
supervisory_unit_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/EquipmentStaticsServiceImpl.java
View file @
b8ecf53d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -19,6 +21,7 @@ import org.elasticsearch.client.core.CountResponse;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.elasticsearch.core.query.NativeSearchQuery
;
...
...
@@ -43,11 +46,15 @@ public class EquipmentStaticsServiceImpl {
@Autowired
private
RestHighLevelClient
restHighLevelClient
;
private
static
final
String
EQUSTATE
=
"EQU_STATE"
;
private
static
final
String
SUPERVISORYCODE
=
"SUPERVISORY_CODE"
;
public
Map
<
String
,
Object
>
normalChart
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
List
<
RegionModel
>
regionModels
=
stCommonService
.
setRegionIfRootParent
(
dpFilterParamForDetailDto
.
getCityCode
());
List
<
Map
<
String
,
Object
>>
result
=
regionModels
.
parallelStream
().
map
(
r
->
{
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
r
.
getRegionCode
()+
""
);
DPFilterParamForDetailDto
dpFilterParamForDetailDtoForSearch
=
new
DPFilterParamForDetailDto
();
BeanUtils
.
copyProperties
(
dpFilterParamForDetailDto
,
dpFilterParamForDetailDtoForSearch
);
dpFilterParamForDetailDtoForSearch
.
setOrgCode
(
orgCode
);
dpFilterParamForDetailDtoForSearch
.
setCityCode
(
r
.
getRegionCode
()+
""
);
Map
<
String
,
Object
>
itemResult
=
new
HashMap
<>();
...
...
@@ -318,7 +325,54 @@ public class EquipmentStaticsServiceImpl {
boolMust
.
must
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
lt
(
currentDayTime
));
}
}
/**
* 使用单位
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUseUnitName
())){
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_UNIT_NAME"
,
"*"
+
dpFilterParamForDetailDto
.
getUseUnitName
()
+
"*"
));
}
/**
* 使用登记编号
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUseOrgCode
())){
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_ORG_CODE"
,
"*"
+
dpFilterParamForDetailDto
.
getUseOrgCode
()
+
"*"
));
}
/**
* 96333
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getCode96333
())){
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"CODE96333"
,
"*"
+
dpFilterParamForDetailDto
.
getCode96333
()
+
"*"
));
}
/**
* 监管码
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getSupervisoryCode
())){
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"SUPERVISORY_CODE"
,
"*"
+
dpFilterParamForDetailDto
.
getSupervisoryCode
()
+
"*"
));
}
/**
* 所属地区
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getUsePlace
())){
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"USE_PLACE"
,
"*"
+
dpFilterParamForDetailDto
.
getUsePlace
()
+
"*"
));
}
/**
* 设备状态
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getEquState
())){
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_STATE"
,
dpFilterParamForDetailDto
.
getEquState
()));
}
/**
* 信息化
*/
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getInformationSituation
())){
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"INFORMATION_SITUATION"
,
"*"
+
dpFilterParamForDetailDto
.
getInformationSituation
()
+
"*"
));
}
/**
* 设备类别
*/
if
(
StrUtil
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getEquCategory
())){
boolMust
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"EQU_CATEGORY"
,
"*"
+
dpFilterParamForDetailDto
.
getEquCategory
()
+
"*"
));
}
//监管码状态0已赋码1未赋码
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getSupervisionCodeStatus
())){
if
(
StringUtils
.
equals
(
"0"
,
dpFilterParamForDetailDto
.
getSupervisionCodeStatus
())){
...
...
@@ -330,7 +384,7 @@ public class EquipmentStaticsServiceImpl {
}
if
(
StringUtils
.
isNotEmpty
(
dpFilterParamForDetailDto
.
getNextInspectionDate
())){
boolMust
.
must
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
dpFilterParamForDetailDto
.
getNextInspectionDat
e
()));
boolMust
.
must
(
QueryBuilders
.
rangeQuery
(
"NEXT_INSPECT_DATE"
).
gte
(
DateUtil
.
parse
(
dpFilterParamForDetailDto
.
getNextInspectionDate
()).
getTim
e
()));
}
searchSourceBuilder
.
query
(
boolMust
);
...
...
@@ -356,6 +410,16 @@ public class EquipmentStaticsServiceImpl {
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
;
...
...
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/ZBGLImpl/DtgzyyzbfxServiceImpl.java
View file @
b8ecf53d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
.
ZBGLImpl
;
import
cn.hutool.core.lang.UUID
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.IZBGLService
;
...
...
@@ -40,7 +41,7 @@ public class DtgzyyzbfxServiceImpl implements IZBGLService {
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
legendData
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
1
;
i
++){
for
(
int
i
=
0
;
i
<
2
;
i
++){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
i
==
0
){
map
.
put
(
"dataKey"
,
"count"
);
...
...
@@ -67,7 +68,7 @@ public class DtgzyyzbfxServiceImpl implements IZBGLService {
xdata
.
add
(
result
.
get
(
i
).
get
(
"xdata"
));
count
.
add
(
result
.
get
(
i
).
get
(
"count"
)
==
null
?
"0"
:
result
.
get
(
i
).
get
(
"count"
)+
""
);
if
(
sum
!=
0
&&
(
Long
)
result
.
get
(
i
).
get
(
"count"
)
!=
0
){
rate
.
add
(
decimalFormat
.
format
(
new
BigDecimal
(
result
.
get
(
i
).
get
(
"count"
)+
""
).
divide
(
BigDecimal
.
valueOf
(
sum
))));
rate
.
add
(
decimalFormat
.
format
(
new
BigDecimal
(
result
.
get
(
i
).
get
(
"count"
)+
""
).
divide
(
BigDecimal
.
valueOf
(
sum
)
,
2
,
RoundingMode
.
HALF_UP
)));
}
else
{
rate
.
add
(
"0"
);
}
...
...
@@ -88,7 +89,7 @@ public class DtgzyyzbfxServiceImpl implements IZBGLService {
DPFilterParamForDetailDto
dpFilterParamForDetailDtoNew
=
new
DPFilterParamForDetailDto
();
dpFilterParamForDetailDtoNew
.
setOrgCode
(
orgCode
);
Map
<
String
,
Object
>
itemResult
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
list
=
zbglStatisticsMapper
.
getPageData
(
dpFilterParamForDetailDtoNew
);
List
<
Map
<
String
,
Object
>>
list
=
zbglStatisticsMapper
.
get
DTGZYYZBFX
PageData
(
dpFilterParamForDetailDtoNew
);
Long
sum
=
0L
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
sum
=
sum
+
(
Long
)
list
.
get
(
i
).
get
(
"longValue"
);
...
...
@@ -99,6 +100,7 @@ public class DtgzyyzbfxServiceImpl implements IZBGLService {
}
}
itemResult
.
put
(
"area"
,
r
.
getRegionName
());
itemResult
.
put
(
"sequenceNbr"
,
UUID
.
fastUUID
().
toString
());
return
itemResult
;
}).
collect
(
Collectors
.
toList
());
page
.
setRecords
(
result
);
...
...
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/ZBGLImpl/DtkrsjcsfxServiceImpl.java
0 → 100644
View file @
b8ecf53d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
.
ZBGLImpl
;
import
cn.hutool.core.lang.UUID
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.IZBGLService
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.impl.StCommonServiceImpl
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.ZBGLStatisticsMapper
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.text.DecimalFormat
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Component
public
class
DtkrsjcsfxServiceImpl
implements
IZBGLService
{
@Resource
private
StCommonServiceImpl
stCommonService
;
@Resource
private
ZBGLStatisticsMapper
zbglStatisticsMapper
;
@Override
public
Map
<
String
,
Object
>
getChart
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
List
<
RegionModel
>
regionModels
=
stCommonService
.
setRegionIfRootParent
(
dpFilterParamForDetailDto
.
getCityCode
());
List
<
Map
<
String
,
Object
>>
result
=
regionModels
.
parallelStream
().
map
(
r
->
{
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
r
.
getRegionCode
()+
""
);
DPFilterParamForDetailDto
dpFilterParamForDetailDtoNew
=
new
DPFilterParamForDetailDto
();
dpFilterParamForDetailDtoNew
.
setOrgCode
(
orgCode
);
Map
<
String
,
Object
>
itemResult
=
new
HashMap
<>();
Long
count
=
zbglStatisticsMapper
.
getDTKRSJCSFXChartData
(
dpFilterParamForDetailDtoNew
);
itemResult
.
put
(
"count"
,
count
);
itemResult
.
put
(
"xdata"
,
r
.
getRegionName
());
return
itemResult
;
}).
collect
(
Collectors
.
toList
());
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
legendData
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
2
;
i
++){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
i
==
0
){
map
.
put
(
"dataKey"
,
"count"
);
map
.
put
(
"value"
,
"事件总数"
);
map
.
put
(
"chartType"
,
"bar"
);
}
else
{
map
.
put
(
"dataKey"
,
"rate"
);
map
.
put
(
"value"
,
"占比"
);
map
.
put
(
"chartType"
,
"line"
);
}
legendData
.
add
(
map
);
}
returnMap
.
put
(
"legendData"
,
legendData
);
List
xdata
=
new
ArrayList
();
List
count
=
new
ArrayList
();
List
rate
=
new
ArrayList
();
Long
sum
=
0L
;
for
(
int
i
=
0
;
i
<
result
.
size
();
i
++){
sum
=
sum
+
(
Long
)
result
.
get
(
i
).
get
(
"count"
);
}
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
"0.00"
);
for
(
int
i
=
0
;
i
<
result
.
size
();
i
++){
xdata
.
add
(
result
.
get
(
i
).
get
(
"xdata"
));
count
.
add
(
result
.
get
(
i
).
get
(
"count"
)
==
null
?
"0"
:
result
.
get
(
i
).
get
(
"count"
)+
""
);
if
(
sum
!=
0
&&
(
Long
)
result
.
get
(
i
).
get
(
"count"
)
!=
0
){
rate
.
add
(
decimalFormat
.
format
(
new
BigDecimal
(
result
.
get
(
i
).
get
(
"count"
)+
""
).
divide
(
BigDecimal
.
valueOf
(
sum
),
2
,
RoundingMode
.
HALF_UP
)));
}
else
{
rate
.
add
(
"0"
);
}
}
returnMap
.
put
(
"xdata"
,
xdata
);
returnMap
.
put
(
"count"
,
count
);
returnMap
.
put
(
"rate"
,
rate
);
return
returnMap
;
}
@Override
public
Page
<
Map
<
String
,
Object
>>
getPage
(
Page
page
,
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
List
<
RegionModel
>
regionModels
=
stCommonService
.
setRegionIfRootParent
(
dpFilterParamForDetailDto
.
getCityCode
());
List
<
Map
<
String
,
Object
>>
result
=
regionModels
.
parallelStream
().
map
(
r
->
{
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
r
.
getRegionCode
()+
""
);
DPFilterParamForDetailDto
dpFilterParamForDetailDtoNew
=
new
DPFilterParamForDetailDto
();
dpFilterParamForDetailDtoNew
.
setOrgCode
(
orgCode
);
Map
<
String
,
Object
>
itemResult
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
list
=
zbglStatisticsMapper
.
getDTKRSJCSFXPageData
(
dpFilterParamForDetailDtoNew
);
Long
sum
=
0L
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
sum
=
sum
+
(
Long
)
list
.
get
(
i
).
get
(
"longValue"
);
}
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
if
(
sum
!=
0
&&
(
Long
)
list
.
get
(
i
).
get
(
"longValue"
)
!=
0
){
itemResult
.
put
(
list
.
get
(
i
).
get
(
"fieldValueCode"
)+
""
,
list
.
get
(
i
).
get
(
"longValue"
)+
" / "
+
new
BigDecimal
(
list
.
get
(
i
).
get
(
"longValue"
)+
""
).
divide
(
BigDecimal
.
valueOf
(
sum
),
2
,
RoundingMode
.
HALF_UP
).
multiply
(
BigDecimal
.
valueOf
(
100
)).
stripTrailingZeros
().
toPlainString
()+
"%"
);
}
}
itemResult
.
put
(
"area"
,
r
.
getRegionName
());
itemResult
.
put
(
"sequenceNbr"
,
UUID
.
fastUUID
().
toString
());
return
itemResult
;
}).
collect
(
Collectors
.
toList
());
page
.
setRecords
(
result
);
page
.
setTotal
(
result
.
size
());
return
page
;
}
@Override
public
List
<
Map
<
String
,
String
>>
getTitle
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
List
<
Map
<
String
,
String
>>
list
=
zbglStatisticsMapper
.
getTypeList
(
"ADDRESS"
);
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"dataIndex"
,
"area"
);
map
.
put
(
"title"
,
"区域"
);
list
.
add
(
0
,
map
);
return
list
;
}
}
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/ZBGLImpl/KrjyydqkServiceImpl.java
0 → 100644
View file @
b8ecf53d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
.
ZBGLImpl
;
import
cn.hutool.core.lang.UUID
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.IZBGLService
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.impl.StCommonServiceImpl
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.ZBGLStatisticsMapper
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
@Component
public
class
KrjyydqkServiceImpl
implements
IZBGLService
{
@Resource
private
StCommonServiceImpl
stCommonService
;
@Resource
private
ZBGLStatisticsMapper
zbglStatisticsMapper
;
@Override
public
Map
<
String
,
Object
>
getChart
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
List
<
RegionModel
>
regionModels
=
stCommonService
.
setRegionIfRootParent
(
dpFilterParamForDetailDto
.
getCityCode
());
String
time
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM"
));
List
<
Map
<
String
,
Object
>>
result
=
regionModels
.
parallelStream
().
map
(
r
->
{
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
r
.
getRegionCode
()+
""
);
DPFilterParamForDetailDto
dpFilterParamForDetailDtoNew
=
new
DPFilterParamForDetailDto
();
dpFilterParamForDetailDtoNew
.
setOrgCode
(
orgCode
);
Map
<
String
,
Object
>
itemResult
=
new
HashMap
<>();
Map
<
String
,
Long
>
countMap
=
zbglStatisticsMapper
.
getKRJYYDQKChartData
(
dpFilterParamForDetailDtoNew
,
time
);
itemResult
.
put
(
"count"
,
countMap
);
itemResult
.
put
(
"xdata"
,
r
.
getRegionName
());
return
itemResult
;
}).
collect
(
Collectors
.
toList
());
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
legendData
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
5
;
i
++){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
i
==
0
){
map
.
put
(
"dataIndex"
,
"lessNum"
);
map
.
put
(
"title"
,
"30分钟内到达次数"
);
}
else
if
(
i
==
1
)
{
map
.
put
(
"dataIndex"
,
"greaterNum"
);
map
.
put
(
"title"
,
"超过30分钟到次数"
);
}
else
if
(
i
==
2
){
map
.
put
(
"dataIndex"
,
"levelOne"
);
map
.
put
(
"title"
,
"一级救援次数"
);
}
else
if
(
i
==
3
){
map
.
put
(
"dataIndex"
,
"levelTwo"
);
map
.
put
(
"title"
,
"二级救援次数"
);
}
else
{
map
.
put
(
"dataIndex"
,
"levelThree"
);
map
.
put
(
"title"
,
"三级救援次数"
);
}
legendData
.
add
(
map
);
}
returnMap
.
put
(
"legendData"
,
legendData
);
List
xdata
=
new
ArrayList
();
List
lessNum
=
new
ArrayList
();
List
greaterNum
=
new
ArrayList
();
List
levelOne
=
new
ArrayList
();
List
levelTwo
=
new
ArrayList
();
List
levelThree
=
new
ArrayList
();
for
(
int
i
=
0
;
i
<
result
.
size
();
i
++){
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
result
.
get
(
i
).
get
(
"count"
);
if
(!
CollectionUtils
.
isEmpty
(
map
))
{
lessNum
.
add
(
map
.
get
(
"lessNum"
)
==
null
?
"0"
:
map
.
get
(
"lessNum"
)
+
""
);
greaterNum
.
add
(
map
.
get
(
"greaterNum"
)
==
null
?
"0"
:
map
.
get
(
"greaterNum"
)
+
""
);
levelOne
.
add
(
map
.
get
(
"levelOne"
)
==
null
?
"0"
:
map
.
get
(
"levelOne"
)
+
""
);
levelTwo
.
add
(
map
.
get
(
"levelTwo"
)
==
null
?
"0"
:
map
.
get
(
"levelTwo"
)
+
""
);
levelThree
.
add
(
map
.
get
(
"levelThree"
)
==
null
?
"0"
:
map
.
get
(
"levelThree"
)
+
""
);
}
else
{
lessNum
.
add
(
"0"
);
greaterNum
.
add
(
"0"
);
levelOne
.
add
(
"0"
);
levelTwo
.
add
(
"0"
);
levelThree
.
add
(
"0"
);
}
xdata
.
add
(
result
.
get
(
i
).
get
(
"xdata"
));
}
returnMap
.
put
(
"xdata"
,
xdata
);
returnMap
.
put
(
"lessNum"
,
lessNum
);
returnMap
.
put
(
"greaterNum"
,
greaterNum
);
returnMap
.
put
(
"levelOne"
,
levelOne
);
returnMap
.
put
(
"levelTwo"
,
levelTwo
);
returnMap
.
put
(
"levelThree"
,
levelThree
);
return
returnMap
;
}
@Override
public
Page
<
Map
<
String
,
Object
>>
getPage
(
Page
page
,
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
List
<
RegionModel
>
regionModels
=
stCommonService
.
setRegionIfRootParent
(
dpFilterParamForDetailDto
.
getCityCode
());
String
time
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM"
));
List
<
Map
<
String
,
Object
>>
result
=
regionModels
.
parallelStream
().
map
(
r
->
{
String
orgCode
=
stCommonService
.
getAndSetOrgCode
(
r
.
getRegionCode
()+
""
);
DPFilterParamForDetailDto
dpFilterParamForDetailDtoNew
=
new
DPFilterParamForDetailDto
();
dpFilterParamForDetailDtoNew
.
setOrgCode
(
orgCode
);
Map
<
String
,
Object
>
itemResult
=
new
HashMap
<>();
Map
<
String
,
Long
>
map
=
zbglStatisticsMapper
.
getKRJYYDQKChartData
(
dpFilterParamForDetailDtoNew
,
time
);
AtomicReference
<
Long
>
sum
=
new
AtomicReference
<>(
0L
);
if
(!
CollectionUtils
.
isEmpty
(
map
))
{
map
.
entrySet
().
forEach
(
key
->
{
sum
.
set
(
sum
.
get
()
+
key
.
getValue
());
});
map
.
entrySet
().
forEach
(
key
->
{
if
(
sum
.
get
()
!=
0
&&
key
.
getValue
()
!=
0
)
{
itemResult
.
put
(
key
.
getKey
(),
key
.
getValue
()
+
" / "
+
BigDecimal
.
valueOf
(
key
.
getValue
()).
divide
(
BigDecimal
.
valueOf
(
sum
.
get
()),
2
,
RoundingMode
.
HALF_UP
).
multiply
(
BigDecimal
.
valueOf
(
100
)).
stripTrailingZeros
().
toPlainString
()
+
"%"
);
}
});
}
itemResult
.
put
(
"area"
,
r
.
getRegionName
());
itemResult
.
put
(
"sequenceNbr"
,
UUID
.
fastUUID
().
toString
());
return
itemResult
;
}).
collect
(
Collectors
.
toList
());
page
.
setRecords
(
result
);
page
.
setTotal
(
result
.
size
());
return
page
;
}
@Override
public
List
<
Map
<
String
,
String
>>
getTitle
(
DPFilterParamForDetailDto
dpFilterParamForDetailDto
)
{
List
<
Map
<
String
,
String
>>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
6
;
i
++)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
if
(
i
==
0
)
{
map
.
put
(
"dataIndex"
,
"area"
);
map
.
put
(
"title"
,
"区域"
);
}
else
if
(
i
==
1
){
map
.
put
(
"dataIndex"
,
"lessNum"
);
map
.
put
(
"title"
,
"30分钟内到达次数"
);
}
else
if
(
i
==
2
)
{
map
.
put
(
"dataIndex"
,
"greaterNum"
);
map
.
put
(
"title"
,
"超过30分钟到次数"
);
}
else
if
(
i
==
3
){
map
.
put
(
"dataIndex"
,
"levelOne"
);
map
.
put
(
"title"
,
"一级救援次数"
);
}
else
if
(
i
==
4
){
map
.
put
(
"dataIndex"
,
"levelTwo"
);
map
.
put
(
"title"
,
"二级救援次数"
);
}
else
{
map
.
put
(
"dataIndex"
,
"levelThree"
);
map
.
put
(
"title"
,
"三级救援次数"
);
}
list
.
add
(
map
);
}
return
list
;
}
}
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