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
cb77f23c
Commit
cb77f23c
authored
Nov 08, 2023
by
lisong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
月度困人故障高发使用单位相关接口
parent
edb21db1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
296 additions
and
0 deletions
+296
-0
AlertUseUnitStatisticsDto.java
...ot/module/elevator/api/dto/AlertUseUnitStatisticsDto.java
+59
-0
AlertUseUnitStatisticsMapper.java
...ule/elevator/api/mapper/AlertUseUnitStatisticsMapper.java
+21
-0
IAlertUseUnitStatisticsService.java
.../elevator/api/service/IAlertUseUnitStatisticsService.java
+19
-0
AlertUseUnitStatisticsVo.java
...boot/module/elevator/api/vo/AlertUseUnitStatisticsVo.java
+34
-0
AlertUseUnitStatisticsMapper.xml
...rc/main/resources/mapper/AlertUseUnitStatisticsMapper.xml
+45
-0
StatisticsController.java
.../module/elevator/biz/controller/StatisticsController.java
+54
-0
AlertUseUnitStatisticsServiceImpl.java
...r/biz/service/impl/AlertUseUnitStatisticsServiceImpl.java
+64
-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/dto/AlertUseUnitStatisticsDto.java
0 → 100644
View file @
cb77f23c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
*
*
* @author system_generator
* @date 2023-11-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"AlertUseUnitStatisticsDto"
,
description
=
""
)
public
class
AlertUseUnitStatisticsDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"监管单位ID"
)
private
String
supervisoryUnitId
;
@ApiModelProperty
(
value
=
"监管单位名称"
)
private
String
supervisoryUnitName
;
@ApiModelProperty
(
value
=
"监管单位编码"
)
private
String
supervisoryUnitOrgCode
;
@ApiModelProperty
(
value
=
"统计月份"
)
private
String
statisticsDate
;
@ApiModelProperty
(
value
=
"开始日期"
)
private
String
startDate
;
@ApiModelProperty
(
value
=
"结束日期"
)
private
String
endDate
;
@ApiModelProperty
(
value
=
"困人救援"
)
private
Integer
trappedNum
;
@ApiModelProperty
(
value
=
"故障救援"
)
private
Integer
faultNum
;
@ApiModelProperty
(
value
=
"电梯总量"
)
private
Integer
equipNum
;
@ApiModelProperty
(
value
=
"使用单位"
)
private
String
useUnit
;
@ApiModelProperty
(
value
=
"维保单位"
)
private
String
maintenanceUnit
;
@ApiModelProperty
(
value
=
"电梯地址"
)
private
String
address
;
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/mapper/AlertUseUnitStatisticsMapper.java
0 → 100644
View file @
cb77f23c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertUseUnitStatistics
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Map
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2023-11-08
*/
public
interface
AlertUseUnitStatisticsMapper
extends
BaseMapper
<
AlertUseUnitStatistics
>
{
List
<
Map
<
String
,
String
>>
getStatisticsMessage
(
@Param
(
"startDate"
)
String
startDate
,
@Param
(
"endDate"
)
String
endDate
);
AlertUseUnitStatistics
getUseUnitMessage
(
@Param
(
"unitCode"
)
String
unitCode
,
@Param
(
"equipmentId"
)
String
equipmentId
,
@Param
(
"startDate"
)
String
startDate
,
@Param
(
"endDate"
)
String
endDate
);
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/service/IAlertUseUnitStatisticsService.java
0 → 100644
View file @
cb77f23c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
service
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertUseUnitStatistics
;
import
java.util.List
;
/**
* 接口类
*
* @author system_generator
* @date 2023-11-08
*/
public
interface
IAlertUseUnitStatisticsService
{
void
statisticalGeneration
();
List
<
AlertUseUnitStatistics
>
getList
(
String
date
);
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/vo/AlertUseUnitStatisticsVo.java
0 → 100644
View file @
cb77f23c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
lombok.Data
;
@Data
public
class
AlertUseUnitStatisticsVo
{
@ColumnWidth
(
10
)
@ExcelProperty
(
value
=
"序号"
,
index
=
0
)
private
Integer
number
;
@ExcelProperty
(
value
=
"困人(起)"
,
index
=
4
)
private
Integer
trappedNum
;
@ExcelProperty
(
value
=
"故障(起)"
,
index
=
5
)
private
Integer
faultNum
;
@ExcelProperty
(
value
=
"电梯总量(台)"
,
index
=
3
)
private
Integer
equipNum
;
@ColumnWidth
(
30
)
@ExcelProperty
(
value
=
"高发事件单位"
,
index
=
1
)
private
String
useUnit
;
@ColumnWidth
(
30
)
@ExcelProperty
(
value
=
"维保单位"
,
index
=
6
)
private
String
maintenanceUnit
;
@ColumnWidth
(
30
)
@ExcelProperty
(
value
=
"电梯地址"
,
index
=
2
)
private
String
address
;
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/resources/mapper/AlertUseUnitStatisticsMapper.xml
0 → 100644
View file @
cb77f23c
<?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.AlertUseUnitStatisticsMapper"
>
<select
id=
"getStatisticsMessage"
resultType=
"java.util.Map"
>
SELECT mainName as maintenanceUnit, useName as useUnit, ADDRESS as address, unitCode as unitCode, equipmentId
from (
SELECT use.ADDRESS as address,
tac.equipment_id as equipmentId,
(
SELECT ME_UNIT_NAME
from idx_biz_jg_maintenance_record_info
WHERE RECORD = equipment_id
ORDER BY INFORM_START LIMIT 1
) as mainName,
use.USE_UNIT_NAME as useName,
use.USE_UNIT_CREDIT_CODE as unitCode from tz_alert_called tac
LEFT JOIN idx_biz_jg_use_info use on tac.equipment_id = use.RECORD
WHERE tac.alarm_type_code != '962'
and tac.equipment_id is not null
and use.ADDRESS is not null
and tac.call_time between #{startDate} and #{endDate}
)
GROUP BY mainName, useName, address
ORDER BY address
</select>
<select
id=
"getUseUnitMessage"
resultType=
"com.yeejoin.amos.boot.module.elevator.api.entity.AlertUseUnitStatistics"
>
SELECT
(
SELECT count(1) from idx_biz_jg_use_info WHERE USE_UNIT_CREDIT_CODE = #{unitCode}
) as equipNum,
(
SELECT count(1) from tz_alert_called where alarm_type_code = '960' and equipment_id = #{equipmentId} and call_time between #{startDate} and #{endDate}
) as trappedNum,
(
SELECT count(1) from tz_alert_called where alarm_type_code = '961' and equipment_id = #{equipmentId} and call_time between #{startDate} and #{endDate}
) as faultNum
</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/StatisticsController.java
View file @
cb77f23c
...
...
@@ -7,12 +7,15 @@ import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertPlaceStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertRescueStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertUseUnitStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IAlertPlaceStatisticsService
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IAlertRescueStatisticsService
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IAlertStatisticsService
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IAlertUseUnitStatisticsService
;
import
com.yeejoin.amos.boot.module.elevator.api.vo.AlertPlaceStatisticsExportVo
;
import
com.yeejoin.amos.boot.module.elevator.api.vo.AlertRescueStatisticsExportVo
;
import
com.yeejoin.amos.boot.module.elevator.api.vo.AlertStatisticsExportVo
;
import
com.yeejoin.amos.boot.module.elevator.api.vo.AlertUseUnitStatisticsVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -49,6 +52,8 @@ public class StatisticsController extends BaseController {
@Autowired
private
IAlertPlaceStatisticsService
alertPlaceStatisticsService
;
@Autowired
private
IAlertUseUnitStatisticsService
alertUseUnitStatisticsService
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/statisticalGeneration"
)
...
...
@@ -199,4 +204,53 @@ public class StatisticsController extends BaseController {
ExcelUtil
.
createTemplate
(
response
,
"月度电梯困人故障高发区域统计"
,
"月度电梯困人故障高发区域统计"
,
exportVos
,
AlertPlaceStatisticsExportVo
.
class
,
null
,
false
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/statisticalUseUnitGeneration"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"生成统计数据"
,
notes
=
"生成统计数据"
)
public
ResponseModel
<
Object
>
statisticalUseUnitGeneration
()
{
alertUseUnitStatisticsService
.
statisticalGeneration
();
return
ResponseHelper
.
buildResponse
(
"success"
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/useUnitList"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询列表"
,
notes
=
"查询列表"
)
public
ResponseModel
<
Object
>
useUnitList
(
@RequestParam
(
value
=
"date"
,
required
=
false
)
String
date
)
{
if
(
ObjectUtils
.
isEmpty
(
date
))
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM"
);
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
new
Date
());
Date
nowDate
=
cal
.
getTime
();
date
=
format
.
format
(
nowDate
);
}
Page
<
AlertUseUnitStatistics
>
alertRescueStatisticsPage
=
new
Page
<>();
alertRescueStatisticsPage
.
setRecords
(
alertUseUnitStatisticsService
.
getList
(
date
));
return
ResponseHelper
.
buildResponse
(
alertRescueStatisticsPage
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/exportUseUnitData"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"月度困人故障高发使用单位导出"
,
notes
=
"月度困人故障高发使用单位导出"
)
public
void
exportUseUnitData
(
HttpServletResponse
response
,
@RequestParam
(
value
=
"date"
,
required
=
false
)
String
date
)
throws
ParseException
{
if
(
ObjectUtils
.
isEmpty
(
date
))
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM"
);
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
new
Date
());
Date
nowDate
=
cal
.
getTime
();
date
=
format
.
format
(
nowDate
);
}
ArrayList
<
AlertUseUnitStatisticsVo
>
exportVos
=
new
ArrayList
<>();
List
<
AlertUseUnitStatistics
>
list
=
alertUseUnitStatisticsService
.
getList
(
date
);
int
number
=
1
;
for
(
AlertUseUnitStatistics
item
:
list
)
{
AlertUseUnitStatisticsVo
vo
=
new
AlertUseUnitStatisticsVo
();
BeanUtil
.
copyProperties
(
item
,
vo
);
vo
.
setNumber
(
number
);
number
=
number
+
1
;
exportVos
.
add
(
vo
);
}
ExcelUtil
.
createTemplate
(
response
,
"月度困人故障高发使用单位"
,
"月度困人故障高发使用单位"
,
exportVos
,
AlertUseUnitStatisticsVo
.
class
,
null
,
false
);
}
}
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/AlertUseUnitStatisticsServiceImpl.java
0 → 100644
View file @
cb77f23c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
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.elevator.api.dto.AlertUseUnitStatisticsDto
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertUseUnitStatistics
;
import
com.yeejoin.amos.boot.module.elevator.api.mapper.AlertUseUnitStatisticsMapper
;
import
com.yeejoin.amos.boot.module.elevator.api.service.IAlertUseUnitStatisticsService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.text.DecimalFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
* 服务实现类
*
* @author system_generator
* @date 2023-11-08
*/
@Service
public
class
AlertUseUnitStatisticsServiceImpl
extends
BaseService
<
AlertUseUnitStatisticsDto
,
AlertUseUnitStatistics
,
AlertUseUnitStatisticsMapper
>
implements
IAlertUseUnitStatisticsService
{
@Override
public
void
statisticalGeneration
()
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
DecimalFormat
decimalFormat
=
new
DecimalFormat
(
"0.00"
);
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
new
Date
());
cal
.
add
(
Calendar
.
MONTH
,
-
1
);
cal
.
set
(
Calendar
.
DAY_OF_MONTH
,
cal
.
getActualMinimum
(
Calendar
.
DAY_OF_MONTH
));
Date
firstDayOfMonth
=
cal
.
getTime
();
cal
.
set
(
Calendar
.
DAY_OF_MONTH
,
cal
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
Date
lastDayOfMonth
=
cal
.
getTime
();
ArrayList
<
AlertUseUnitStatistics
>
list
=
new
ArrayList
<>();
List
<
Map
<
String
,
String
>>
statisticsMessage
=
this
.
baseMapper
.
getStatisticsMessage
(
format
.
format
(
firstDayOfMonth
)
+
" 00:00:00"
,
format
.
format
(
lastDayOfMonth
)
+
" 23:59:59"
);
if
(!
ObjectUtils
.
isEmpty
(
statisticsMessage
)){
statisticsMessage
.
forEach
(
item
->
{
if
(!
ObjectUtils
.
isEmpty
(
item
.
get
(
"equipmentId"
))
&&
!
ObjectUtils
.
isEmpty
(
item
.
get
(
"unitCode"
))){
AlertUseUnitStatistics
useUnitMessage
=
this
.
baseMapper
.
getUseUnitMessage
(
item
.
get
(
"unitCode"
),
item
.
get
(
"equipmentId"
),
format
.
format
(
firstDayOfMonth
)
+
" 00:00:00"
,
format
.
format
(
lastDayOfMonth
)
+
" 23:59:59"
);
BeanUtil
.
copyProperties
(
item
,
useUnitMessage
);
useUnitMessage
.
setStartDate
(
format
.
format
(
firstDayOfMonth
));
useUnitMessage
.
setEndDate
(
format
.
format
(
lastDayOfMonth
));
useUnitMessage
.
setStatisticsDate
(
format
.
format
(
lastDayOfMonth
).
substring
(
0
,
7
));
list
.
add
(
useUnitMessage
);
}
});
this
.
saveBatch
(
list
);
}
}
@Override
public
List
<
AlertUseUnitStatistics
>
getList
(
String
date
)
{
LambdaQueryWrapper
<
AlertUseUnitStatistics
>
lambda
=
new
QueryWrapper
<
AlertUseUnitStatistics
>().
lambda
();
lambda
.
eq
(
AlertUseUnitStatistics
::
getStatisticsDate
,
date
);
return
this
.
baseMapper
.
selectList
(
lambda
);
}
}
\ No newline at end of file
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