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
591a4d3f
Commit
591a4d3f
authored
Jul 24, 2024
by
刘凡
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*)增加应急卡片接口
parent
aa6eccaf
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
461 additions
and
0 deletions
+461
-0
AlertCalledMapper.java
...os/boot/module/elevator/api/mapper/AlertCalledMapper.java
+17
-0
ElevatorMapper.java
.../amos/boot/module/elevator/api/mapper/ElevatorMapper.java
+2
-0
YjBaseMapper.java
...in/amos/boot/module/elevator/api/mapper/YjBaseMapper.java
+18
-0
AlertCalledMapper.xml
...96333-api/src/main/resources/mapper/AlertCalledMapper.xml
+34
-0
ElevatorMapper.xml
...le-96333-api/src/main/resources/mapper/ElevatorMapper.xml
+16
-0
YjBaseMapper.xml
...dule-96333-api/src/main/resources/mapper/YjBaseMapper.xml
+9
-0
DPStatisticsController.java
...odule/elevator/biz/controller/DPStatisticsController.java
+108
-0
DPStatisticsServiceImpl.java
...le/elevator/biz/service/impl/DPStatisticsServiceImpl.java
+257
-0
No files found.
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/mapper/AlertCalledMapper.java
View file @
591a4d3f
...
...
@@ -43,6 +43,23 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
* @param endDate
* @return
*/
List
<
Map
<
String
,
Object
>>
queryNearlyList
(
@Param
(
"beginDate"
)
String
beginDate
,
@Param
(
"endDate"
)
String
endDate
,
@Param
(
"regionCode"
)
String
regionCode
);
/**
* 接警情况统计(按场所)
*
* @return
*/
List
<
Map
<
String
,
Object
>>
queryListByLocation
(
@Param
(
"regionCode"
)
String
regionCode
);
/**
* 接警情况统计
*
* @param beginDate
* @param endDate
* @return
*/
Map
<
String
,
Long
>
queryAlertStatusCount
(
@Param
(
"beginDate"
)
String
beginDate
,
@Param
(
"endDate"
)
String
endDate
,
@Param
(
"groupCode"
)
String
groupCode
,
...
...
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/mapper/ElevatorMapper.java
View file @
591a4d3f
...
...
@@ -70,4 +70,6 @@ public interface ElevatorMapper extends BaseMapper<Elevator> {
Map
<
String
,
Object
>
selectMainUnitMessage
(
String
sequenceNbr
);
Map
<
String
,
Object
>
selectUseUnitByAlertId
(
String
sequenceNbr
);
List
<
Map
<
String
,
Object
>>
elevatorCountStat
(
@Param
(
"regionCodes"
)
List
<
String
>
regionCodes
);
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/mapper/YjBaseMapper.java
0 → 100644
View file @
591a4d3f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
mapper
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2023-12-13
*/
@Mapper
public
interface
YjBaseMapper
{
CompanyModel
selectOneCompanyByCode
(
String
companyCode
);
String
getOrgCodeByCompanyCode
(
String
companyCode
);
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/resources/mapper/AlertCalledMapper.xml
View file @
591a4d3f
...
...
@@ -122,6 +122,40 @@
</if>
</select>
<select
id=
"queryNearlyList"
resultType=
"java.util.Map"
>
SELECT
date_format (call_time, '%Y-%m-%d') AS day,
alarm_type as alarmType,
ifnull ( SUM ( CASE WHEN father_alert IS NULL THEN 1 ELSE 0 END ), 0) AS majorAlertCount
FROM
tz_alert_called
WHERE
biz_org_code like concat(#{regionCode}, '%')
AND day BETWEEN #{beginDate} AND #{endDate}
GROUP BY
day, alarm_type
ORDER BY
day ASC
</select>
<select
id=
"queryListByLocation"
resultType=
"java.util.Map"
>
SELECT
ifnull ( SUM ( CASE WHEN father_alert IS NULL THEN 1 ELSE 0 END ), 0 ) AS majorAlertCount,
cdd.NAME as name
FROM
tz_alert_called tac
LEFT JOIN idx_biz_jg_use_info ibjuj ON tac.equipment_id = ibjuj.RECORD
LEFT JOIN cb_data_dictionary cdd ON ibjuj.USE_PLACE = cdd.sequence_nbr
WHERE
biz_org_code LIKE concat(#{regionCode}, '%')
AND
ibjuj.USE_PLACE is NOT NULL
AND cdd.NAME is NOT NULL
GROUP BY
cdd.NAME
ORDER BY ibjuj.USE_PLACE ASC
</select>
<select
id=
"queryAlertListByQueryDto"
resultType=
"java.util.Map"
>
SELECT
a.sequence_nbr AS sequenceNbr,
...
...
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/resources/mapper/ElevatorMapper.xml
View file @
591a4d3f
...
...
@@ -581,4 +581,20 @@
ibjmri.SEQUENCE_NBR = #{sequenceNbr}
</select>
<select
id=
"elevatorCountStat"
resultType=
"java.util.Map"
>
SELECT
district,
region_code as regionCode,
count(region_code) as total
FROM
tcb_elevator
WHERE
<if
test=
"regionCodes != null"
>
<foreach
collection=
"regionCodes"
index=
"index"
item=
"item"
open=
"("
separator=
" OR "
close=
")"
>
tcb_elevator.region_code LIKE CONCAT('%', #{item}, '%')
</foreach>
</if>
GROUP BY region_code
</select>
</mapper>
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/resources/mapper/YjBaseMapper.xml
0 → 100644
View file @
591a4d3f
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.elevator.api.mapper.YjBaseMapper"
>
<select
id=
"getOrgCodeByCompanyCode"
resultType=
"java.lang.String"
>
select org_code from privilege_company where company_code = #{companyCode} limit 1
</select>
</mapper>
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/controller/DPStatisticsController.java
0 → 100644
View file @
591a4d3f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.AlertMaintenanceUnitStatisticsDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.AlertUseUnitStatisticsDto
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.DPStatisticsServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.FieldError
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.List
;
import
java.util.Map
;
/**
* 大屏统计controller
*
* @author Administrator
*/
@RestController
@RequestMapping
(
"/db/statistics"
)
@Api
(
tags
=
"大屏统计"
)
public
class
DPStatisticsController
{
private
DPStatisticsServiceImpl
statisticsService
;
public
DPStatisticsController
(
DPStatisticsServiceImpl
statisticsService
)
{
this
.
statisticsService
=
statisticsService
;
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"大屏-应急-办理量 (近7日)"
,
notes
=
"大屏-应急-办理量 (近7日)"
)
@PostMapping
(
value
=
"/yj/eventStatByDay"
)
public
ResponseModel
<
JSONObject
>
eventStatByDay
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
throws
Exception
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
eventStatByDay
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"大屏-应急-电梯数量统计 (按区域)"
,
notes
=
"大屏-应急-电梯数量统计 (按区域)"
)
@PostMapping
(
value
=
"/yj/elevatorCountStat"
)
public
ResponseModel
<
JSONObject
>
elevatorCountStat
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
throws
Exception
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
elevatorCountStat
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"大屏-应急-事件分布 (按场所)"
,
notes
=
"大屏-应急-事件分布 (按场所)"
)
@PostMapping
(
value
=
"/yj/eventStatByLocation"
)
public
ResponseModel
<
JSONObject
>
eventStatByLocation
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
throws
Exception
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
eventStatByLocation
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"大屏-应急-困人救援月度情况"
,
notes
=
"大屏-应急-困人救援月度情况"
)
@PostMapping
(
value
=
"/yj/trappedUserCount"
)
public
ResponseModel
<
JSONObject
>
trappedUserCount
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
throws
Exception
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
trappedUserCount
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"大屏-应急-月度困人故障高发使用单位"
,
notes
=
"大屏-应急-月度困人故障高发使用单位"
)
@PostMapping
(
value
=
"/yj/trappedUserHighCompanyCount"
)
public
ResponseModel
<
List
<
AlertUseUnitStatisticsDto
>>
trappedUserHighCompanyCount
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
throws
Exception
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
trappedUserHighCompanyCount
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"大屏-应急-维保单位平均救援时间排名"
,
notes
=
"大屏-应急-维保单位平均救援时间排名"
)
@PostMapping
(
value
=
"/yj/rankUnitByRescueTime"
)
public
ResponseModel
<
List
<
AlertMaintenanceUnitStatisticsDto
>>
rankUnitByRescueTime
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
throws
Exception
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
rankUnitByRescueTime
(
dpFilterParamDto
));
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/service/impl/DPStatisticsServiceImpl.java
0 → 100644
View file @
591a4d3f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.common.api.constant.TZSCommonConstant
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto
;
import
com.yeejoin.amos.boot.module.common.api.enums.ReginStepEnum
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.AlertMaintenanceUnitStatisticsDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.AlertUseUnitStatisticsDto
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertMaintenanceUnitStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertRescueStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertUseUnitStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.mapper.*
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IAlertRescueStatisticsService
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.foundation.utils.DateTimeUtil
;
import
org.typroject.tyboot.core.foundation.utils.DateUtil
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.ChronoUnit
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.stream.Collectors
;
/**
* 大屏统计实现类
*
* @author Administrator
*/
@Service
@Slf4j
public
class
DPStatisticsServiceImpl
{
private
YjBaseMapper
yjBaseMapper
;
private
AlertCalledMapper
alertCalledMapper
;
private
ElevatorMapper
elevatorMapper
;
private
AlertRescueStatisticsMapper
alertRescueStatisticsMapper
;
private
AlertUseUnitStatisticsMapper
alertUseUnitStatisticsMapper
;
private
AlertMaintenanceUnitStatisticsMapper
alertMaintenanceUnitStatisticsMapper
;
private
static
Map
<
String
,
String
>
regionCodeOrgCodeMap
=
new
ConcurrentHashMap
<>();
private
static
Map
<
String
,
List
<
RegionModel
>>
regionChildRegionMap
=
new
ConcurrentHashMap
<>();
public
DPStatisticsServiceImpl
(
YjBaseMapper
yjBaseMapper
,
AlertCalledMapper
alertCalledMapper
,
ElevatorMapper
elevatorMapper
,
AlertRescueStatisticsMapper
alertRescueStatisticsMapper
,
AlertUseUnitStatisticsMapper
alertUseUnitStatisticsMapper
,
AlertMaintenanceUnitStatisticsMapper
alertMaintenanceUnitStatisticsMapper
)
{
this
.
yjBaseMapper
=
yjBaseMapper
;
this
.
alertCalledMapper
=
alertCalledMapper
;
this
.
elevatorMapper
=
elevatorMapper
;
this
.
alertRescueStatisticsMapper
=
alertRescueStatisticsMapper
;
this
.
alertUseUnitStatisticsMapper
=
alertUseUnitStatisticsMapper
;
this
.
alertMaintenanceUnitStatisticsMapper
=
alertMaintenanceUnitStatisticsMapper
;
}
public
JSONObject
eventStatByDay
(
DPFilterParamDto
dpFilterParamDto
)
throws
Exception
{
String
beginDate
=
DateUtil
.
formatDate
(
DateTimeUtil
.
addDays
(
new
Date
(),
-
6
),
DateUtil
.
Y_M_D
);
String
endDate
=
DateUtil
.
getNow
(
DateUtil
.
Y_M_D
);
String
orgCode
=
this
.
getAndSetOrgCode
(
dpFilterParamDto
);
List
<
String
>
everyDay
=
this
.
getEveryDay
(
beginDate
,
endDate
);
JSONObject
jsonObject
=
this
.
buildLegendData
(
null
,
"trapped"
,
"困人"
);
this
.
buildLegendData
(
jsonObject
,
"complaint"
,
"投诉"
);
this
.
buildLegendData
(
jsonObject
,
"fault"
,
"故障"
);
List
<
String
>
xdata
=
new
ArrayList
<>();
List
<
Object
>
trapped
=
new
ArrayList
<>();
List
<
Object
>
complaint
=
new
ArrayList
<>();
List
<
Object
>
fault
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
maps
=
alertCalledMapper
.
queryNearlyList
(
beginDate
,
endDate
,
orgCode
);
everyDay
.
stream
().
forEach
(
day
->
{
try
{
xdata
.
add
(
DateUtil
.
formatDate
(
DateUtil
.
formatStringToDate
(
day
,
DateUtil
.
Y_M_D
),
"MM.dd"
));
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
Map
<
String
,
Object
>
map
=
maps
.
stream
().
filter
(
x
->
day
.
equals
(
x
.
get
(
"day"
))).
collect
(
Collectors
.
toMap
(
item
->
(
String
)
item
.
get
(
"alarmType"
),
item
->
item
.
get
(
"majorAlertCount"
)));
trapped
.
add
(!
ValidationUtil
.
isEmpty
(
map
.
get
(
"困人救援"
))
?
Integer
.
valueOf
(
map
.
get
(
"困人救援"
).
toString
())
:
0
);
complaint
.
add
(!
ValidationUtil
.
isEmpty
(
map
.
get
(
"投诉咨询"
))
?
Integer
.
valueOf
(
map
.
get
(
"投诉咨询"
).
toString
())
:
0
);
fault
.
add
(!
ValidationUtil
.
isEmpty
(
map
.
get
(
"故障维修"
))
?
Integer
.
valueOf
(
map
.
get
(
"故障维修"
).
toString
())
:
0
);
});
jsonObject
.
put
(
"xdata"
,
xdata
);
jsonObject
.
put
(
"trapped"
,
trapped
);
jsonObject
.
put
(
"complaint"
,
complaint
);
jsonObject
.
put
(
"fault"
,
fault
);
return
jsonObject
;
}
public
JSONObject
elevatorCountStat
(
DPFilterParamDto
dpFilterParamDto
)
throws
Exception
{
List
<
RegionModel
>
regionList
=
this
.
getRegionList
(
dpFilterParamDto
);
List
<
String
>
regionCodes
=
regionList
.
stream
().
map
(
r
->
r
.
getRegionCode
().
toString
()).
collect
(
Collectors
.
toList
());
List
<
CompanyModel
>
companyList
=
Privilege
.
companyClient
.
queryListByCompanyCode
(
String
.
join
(
","
,
regionCodes
)).
getResult
();
companyList
=
companyList
.
stream
().
sorted
(
Comparator
.
comparing
(
CompanyModel:
:
getRegionSeq
,
Comparator
.
naturalOrder
())).
collect
(
Collectors
.
toList
());
Map
<
String
,
RegionModel
>
regionMap
=
regionList
.
stream
().
collect
(
Collectors
.
toMap
(
r
->
r
.
getRegionCode
().
toString
(),
r
->
r
));
List
<
Map
<
String
,
Object
>>
maps
=
elevatorMapper
.
elevatorCountStat
(
regionCodes
);
Map
<
String
,
Object
>
map
=
maps
.
stream
().
collect
(
Collectors
.
toMap
(
item
->
(
String
)
item
.
get
(
"regionCode"
),
item
->
item
.
get
(
"total"
)));
List
<
String
>
xdata
=
new
ArrayList
<>();
List
<
String
>
ydata
=
new
ArrayList
<>();
JSONObject
jsonObject
=
new
JSONObject
();
companyList
.
stream
().
forEach
(
x
->
{
xdata
.
add
(
x
.
getCompanyName
());
});
jsonObject
.
put
(
"xdata"
,
xdata
);
jsonObject
.
put
(
"ydata"
,
ydata
);
return
jsonObject
;
}
public
JSONObject
eventStatByLocation
(
DPFilterParamDto
dpFilterParamDto
)
throws
Exception
{
String
orgCode
=
this
.
getAndSetOrgCode
(
dpFilterParamDto
);
List
<
Map
<
String
,
Object
>>
maps
=
alertCalledMapper
.
queryListByLocation
(
orgCode
);
List
<
Object
>
xdata
=
maps
.
stream
().
map
(
item
->
item
.
get
(
"name"
)).
collect
(
Collectors
.
toList
());
List
<
Object
>
ydata
=
maps
.
stream
().
map
(
item
->
item
.
get
(
"majorAlertCount"
)).
collect
(
Collectors
.
toList
());
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"xdata"
,
xdata
);
jsonObject
.
put
(
"ydata"
,
ydata
);
return
jsonObject
;
}
public
JSONObject
trappedUserCount
(
DPFilterParamDto
dpFilterParamDto
)
throws
Exception
{
String
date
=
DateUtil
.
formatDate
(
new
Date
(),
"yyyy-MM"
);
String
orgCode
=
this
.
getAndSetOrgCode
(
dpFilterParamDto
);
LambdaQueryWrapper
<
AlertRescueStatistics
>
lambda
=
new
QueryWrapper
<
AlertRescueStatistics
>().
lambda
();
lambda
.
likeLeft
(
AlertRescueStatistics:
:
getSupervisoryUnitOrgCode
,
orgCode
);
lambda
.
eq
(
AlertRescueStatistics:
:
getStatisticsDate
,
date
);
List
<
AlertRescueStatistics
>
alertRescueStatistics
=
alertRescueStatisticsMapper
.
selectList
(
lambda
);
List
<
Long
>
ydata
=
new
ArrayList
<>();
ydata
.
add
(
alertRescueStatistics
.
stream
().
collect
(
Collectors
.
summingLong
(
AlertRescueStatistics:
:
getLessNum
)));
ydata
.
add
(
alertRescueStatistics
.
stream
().
collect
(
Collectors
.
summingLong
(
AlertRescueStatistics:
:
getGreaterNum
)));
ydata
.
add
(
alertRescueStatistics
.
stream
().
collect
(
Collectors
.
summingLong
(
AlertRescueStatistics:
:
getLevelOne
)));
ydata
.
add
(
alertRescueStatistics
.
stream
().
collect
(
Collectors
.
summingLong
(
AlertRescueStatistics:
:
getLevelTwo
)));
ydata
.
add
(
alertRescueStatistics
.
stream
().
collect
(
Collectors
.
summingLong
(
AlertRescueStatistics:
:
getLevelThree
)));
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"xdata"
,
Arrays
.
asList
(
"30分钟内到达次数"
,
"超过30分钟到次数"
,
"一级救援次数"
,
"二级救援次数"
,
"三级救援次数"
));
jsonObject
.
put
(
"ydata"
,
ydata
);
return
jsonObject
;
}
public
List
<
AlertUseUnitStatisticsDto
>
trappedUserHighCompanyCount
(
DPFilterParamDto
dpFilterParamDto
)
throws
Exception
{
String
date
=
DateUtil
.
formatDate
(
new
Date
(),
"yyyy-MM"
);
String
orgCode
=
this
.
getAndSetOrgCode
(
dpFilterParamDto
);
LambdaQueryWrapper
<
AlertUseUnitStatistics
>
lambda
=
new
QueryWrapper
<
AlertUseUnitStatistics
>().
lambda
();
lambda
.
likeLeft
(
AlertUseUnitStatistics:
:
getSupervisoryUnitOrgCode
,
orgCode
);
lambda
.
eq
(
AlertUseUnitStatistics
::
getStatisticsDate
,
date
);
List
<
AlertUseUnitStatistics
>
alertUseUnitStatistics
=
alertUseUnitStatisticsMapper
.
selectList
(
lambda
);
return
Bean
.
toModels
(
alertUseUnitStatistics
,
AlertUseUnitStatisticsDto
.
class
);
}
public
List
<
AlertMaintenanceUnitStatisticsDto
>
rankUnitByRescueTime
(
DPFilterParamDto
dpFilterParamDto
)
throws
Exception
{
String
date
=
DateUtil
.
formatDate
(
new
Date
(),
"yyyy-MM"
);
String
orgCode
=
this
.
getAndSetOrgCode
(
dpFilterParamDto
);
LambdaQueryWrapper
<
AlertMaintenanceUnitStatistics
>
lambda
=
new
QueryWrapper
<
AlertMaintenanceUnitStatistics
>().
lambda
();
lambda
.
likeLeft
(
AlertMaintenanceUnitStatistics:
:
getSupervisoryUnitOrgCode
,
orgCode
);
lambda
.
eq
(
AlertMaintenanceUnitStatistics
::
getStatisticsDate
,
"2023-12"
);
List
<
AlertMaintenanceUnitStatistics
>
alertMaintenanceUnitStatistics
=
alertMaintenanceUnitStatisticsMapper
.
selectList
(
lambda
);
List
<
AlertMaintenanceUnitStatisticsDto
>
models
=
Bean
.
toModels
(
alertMaintenanceUnitStatistics
,
AlertMaintenanceUnitStatisticsDto
.
class
);
return
models
;
}
private
List
<
RegionModel
>
getRegionList
(
DPFilterParamDto
dpFilterParamDto
)
{
try
{
if
(
regionChildRegionMap
.
get
(
dpFilterParamDto
.
getCityCode
())
==
null
)
{
List
<
RegionModel
>
regionModels
=
this
.
setRegionIfRootParent
(
dpFilterParamDto
.
getCityCode
());
regionChildRegionMap
.
put
(
dpFilterParamDto
.
getCityCode
(),
regionModels
);
return
regionModels
;
}
else
{
return
regionChildRegionMap
.
get
(
dpFilterParamDto
.
getCityCode
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
"查询行政区域失败:{}"
,
e
.
getMessage
());
}
return
new
ArrayList
<>();
}
private
List
<
RegionModel
>
setRegionIfRootParent
(
String
regionCode
)
throws
Exception
{
List
<
RegionModel
>
regionList
=
Systemctl
.
regionClient
.
queryByParentRegionCode
(
Integer
.
parseInt
(
regionCode
)).
getResult
();
// 陕西省时需要在地图返回独立的地级市:韩城、杨凌、西咸
if
(
regionCode
.
equals
(
TZSCommonConstant
.
SHAN_XI_REGION_CODE
))
{
List
<
RegionModel
>
independentRegions
=
ReginStepEnum
.
enum2RegionList
(
"map"
);
regionList
.
addAll
(
independentRegions
);
}
return
regionList
;
}
private
String
getAndSetOrgCode
(
DPFilterParamDto
dpFilterParamDto
)
{
this
.
getRegionList
(
dpFilterParamDto
);
String
orgCode
=
regionCodeOrgCodeMap
.
get
(
dpFilterParamDto
.
getCityCode
());
if
(
orgCode
==
null
)
{
orgCode
=
yjBaseMapper
.
getOrgCodeByCompanyCode
(
dpFilterParamDto
.
getCityCode
());
if
(
orgCode
==
null
)
{
return
""
;
}
regionCodeOrgCodeMap
.
put
(
dpFilterParamDto
.
getCityCode
(),
orgCode
);
}
return
orgCode
;
}
/**
* 获取两个时间段之间的每一天
* @param startTime 开始时间
* @param endTime 结束时间
* @return 结果
*/
public
List
<
String
>
getEveryDay
(
String
startTime
,
String
endTime
)
{
List
<
String
>
dateList
=
new
ArrayList
<>();
LocalDate
startDate
=
LocalDate
.
parse
(
startTime
);
LocalDate
endDate
=
LocalDate
.
parse
(
endTime
);
long
numOfDays
=
ChronoUnit
.
DAYS
.
between
(
startDate
,
endDate
);
for
(
int
i
=
0
;
i
<=
numOfDays
;
i
++)
{
LocalDate
currentDate
=
startDate
.
plusDays
(
i
);
String
format
=
currentDate
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
dateList
.
add
(
format
);
}
return
dateList
;
}
private
JSONObject
buildLegendData
(
JSONObject
jsonObject
,
String
dataKey
,
String
value
)
{
if
(
ValidationUtil
.
isEmpty
(
jsonObject
)){
jsonObject
=
new
JSONObject
();
}
JSONObject
legendData
=
jsonObject
.
getJSONObject
(
"legendData"
);
if
(
ValidationUtil
.
isEmpty
(
legendData
)){
legendData
=
new
JSONObject
();
jsonObject
.
put
(
"legendData"
,
legendData
);
}
legendData
.
put
(
dataKey
,
value
);
return
jsonObject
;
};
}
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