<?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="org.springblade.modules.dp.mapper.ComprehensiveStatisticsMapper">
|
|
|
<select id="getDataOverview" resultType="java.util.HashMap">
|
SELECT a.deptNumber,b.policeCarNumber,c.deviceNumber
|
FROM(
|
( SELECT COUNT(*) AS deptNumber FROM blade_dept dept WHERE dept.is_deleted = 0 ) a,
|
( SELECT COUNT(*) AS policeCarNumber FROM sys_vehicle vehicle WHERE vehicle.is_deleted = 0 ) b,
|
( SELECT COUNT(*) AS deviceNumber FROM sys_device device WHERE device.is_deleted = 0 ) c
|
);
|
</select>
|
|
<select id="getDeptStatistics" resultType="java.util.HashMap">
|
SELECT DISTINCT a.city cityCode,a.cityNumber,region.city_name cityName
|
FROM
|
(
|
SELECT dept.city,COUNT(*) AS cityNumber
|
FROM blade_dept dept WHERE dept.is_deleted = 0
|
GROUP BY dept.city
|
) a LEFT JOIN blade_region region ON region.city_code = a.city
|
</select>
|
<select id="getFireCallSource" resultType="java.util.HashMap">
|
SELECT
|
CONVERT(COUNT(*),CHAR) AS number,
|
fire.find_way findWay,
|
biz.dict_value findWayName
|
FROM
|
sys_fire fire
|
LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.find_way AND biz.`code` = 'fire_find_way'
|
WHERE
|
fire.is_deleted = 0
|
GROUP BY
|
fire.find_way
|
</select>
|
<select id="getFireReportingTrend" resultType="java.util.HashMap">
|
SELECT
|
m.id month,IFNULL(b.number,0) number
|
FROM
|
(
|
SELECT 1 AS id UNION
|
SELECT 2 UNION
|
SELECT 3 UNION
|
SELECT 4 UNION
|
SELECT 5 UNION
|
SELECT 6 UNION
|
SELECT 7 UNION
|
SELECT 8 UNION
|
SELECT 9 UNION
|
SELECT 10 UNION
|
SELECT 11 UNION
|
SELECT 12
|
) m
|
LEFT JOIN
|
(
|
SELECT MONTH(fire.alarm_time) month,COUNT(*) number
|
FROM sys_fire fire
|
WHERE fire.is_deleted = 0
|
GROUP BY MONTH ( fire.alarm_time )
|
) b ON b.`month` = m.id
|
ORDER BY month
|
</select>
|
|
<select id="getProneAreasStatistics" resultType="java.util.HashMap">
|
SELECT
|
address,COUNT(*) times
|
FROM
|
`sys_fire`
|
WHERE
|
is_deleted = 0
|
AND find_way = 1
|
AND FIND_IN_SET(#{regionCode},REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(location,'[',-1),']',1),'"',''))
|
GROUP BY
|
address
|
ORDER BY times DESC
|
LIMIT #{limit}
|
</select>
|
</mapper>
|