123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- <?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.zhili.dashboard.mapper.AlarmMsgMapper">
- <resultMap type="com.zhili.dashboard.entity.AlarmMsg" id="HzCarModel">
- <result property="faultLevel" column="fault_level"/>
- <result property="quantity" column="quantity"/>
- </resultMap>
- <resultMap type="com.zhili.dashboard.entity.AlarmMsg" id="CommonModel">
- <result property="item" column="item"/>
- <result property="quantity" column="quantity"/>
- </resultMap>
- <select id="getAlarmLevelPie" resultMap="HzCarModel">
- SELECT fault_level, count(1) as quantity
- from t_alarm_msg
- WHERE is_delete = 0
- AND fault_status = 0
- <if test="dateStr != null and dateStr!=''">
- and fault_time > #{dateStr}
- </if>
- AND fault_level in (1,2,3,4,5)
- GROUP BY fault_level
- </select>
- <select id="getAlarmHistoryDay" resultType="Map">
- SELECT
- TIMESTAMPDIFF( HOUR, am.fault_time, NOW() ) AS num,
- count(1) as quantity
- FROM
- t_alarm_msg am
- WHERE am.is_delete = 0
- <if test="dateStr != null and dateStr!=''">
- AND am.fault_time > #{dateStr}
- </if>
- and am.fault_time <= now()
- group by num
- </select>
- <select id="getAlarmHistoryDayOverRate" resultType="Map">
- SELECT
- TIMESTAMPDIFF( HOUR, am.fault_time, NOW() ) AS num,
- count(1) as quantity
- FROM
- t_alarm_msg am
- WHERE am.is_delete = 0 and am.fault_status=1
- <if test="dateStr != null and dateStr!=''">
- AND am.fault_time > #{dateStr}
- </if>
- and am.fault_time <= now()
- group by num
- </select>
- <select id="getAlarmHistoryMonth" resultType="Map">
- SELECT
- date_format(fault_time,'%Y-%m-%d') as item,
- count(1) as quantity
- FROM
- t_alarm_msg am
- WHERE am.is_delete = 0
- <if test="dateStr != null and dateStr!=''">
- AND am.fault_time > #{dateStr}
- </if>
- and am.fault_time <= now()
- group by item
- </select>
- <select id="getAlarmHistoryOveMonthRate" resultType="Map">
- SELECT
- date_format(fault_time,'%Y-%m-%d') as item,
- count(1) as quantity
- FROM
- t_alarm_msg am
- WHERE am.is_delete = 0 and fault_status=1
- <if test="dateStr != null and dateStr!=''">
- AND am.fault_time > #{dateStr}
- </if>
- and am.fault_time <= now()
- group by item
- </select>
- <select id="getDeviceStatusGroup" resultType="Map">
- SELECT count(1)
- FROM t_alarm_msg t
- WHERE t.is_delete = 0
- AND t.fault_status = 0
- </select>
- <select id="getOnLine" resultType="Map">
- SELECT count(1) as quantity,
- t.online_flag as item
- FROM t_device t
- WHERE t.is_delete = 0
- group by item
- </select>
- <select id="getDeviceStatusList" resultType="Map">
- SELECT count(1) as quantity,
- TIMESTAMPDIFF( HOUR, t.update_time, NOW() ) AS num,
- t.status as item
- FROM t_device t
- WHERE t.is_delete = 0
- <if test="dateStr != null and dateStr!=''">
- AND t.update_time > #{dateStr}
- </if>
- group by item,num
- </select>
- <select id="getDistrictFaultOrder" resultType="Map">
- SELECT count(e.id) AS quantity,
- e.province AS item
- FROM (
- SELECT b.id,
- a.province
- FROM (SELECT sn, id FROM t_alarm_msg t WHERE is_delete = 0 AND t.fault_status = 0) b
- INNER JOIN (SELECT sn, province FROM t_device d WHERE is_delete=0 and province is not null
- <if test="province != null and province!=''">
- AND d.province = #{province}
- </if>
- ) a ON b.sn = a.sn
- ) e
- GROUP BY item
- order by quantity desc
- </select>
- <select id="getDistrictDeviceOrder" resultType="Map">
- SELECT count(1) AS quantity,
- province AS item
- FROM t_device
- WHERE is_delete = 0 and province is not null
- <if test="province != null and province!=''">
- AND province = #{province}
- </if>
- GROUP BY item
- order by quantity desc
- </select>
- <select id="getDistrictDeviceOrderSix" resultType="Map">
- SELECT count(1) AS quantity,
- province AS item
- FROM t_device
- WHERE is_delete = 0
- <if test="province != null and province!=''">
- AND province = #{province}
- </if>
- GROUP BY item
- order by quantity desc limit 6
- </select>
- <select id="getSceneFaultGroup" resultType="Map">
- SELECT count(1) AS quantity,
- d.scene AS item
- FROM t_alarm_msg t
- left join t_device d on t.sn = d.sn
- WHERE t.is_delete = 0
- AND t.fault_status = 0 and d.scene is not null
- <if test="province != null and province!=''">
- AND d.province = #{province}
- </if>
- GROUP BY item
- </select>
- <select id="getSceneDeviceGroup" resultType="Map">
- SELECT count(1) AS quantity,
- scene AS item
- FROM t_device
- WHERE is_delete = 0 and scene is not null
- <if test="province != null and province!=''">
- AND province = #{province}
- </if>
- GROUP BY item
- </select>
- <select id="getInterval" resultType="Long">
- SELECT TIMESTAMPDIFF(DAY , max(fault_time), NOW()) AS num
- FROM t_alarm_msg
- where fault_level = 5
- and is_delete = 0 limit 1
- </select>
- <select id="getCumulativeInfo" resultType="Map">
- SELECT data_info, info_json
- FROM t_statistics
- WHERE is_delete = 0
- ORDER BY id desc LIMIT 1
- </select>
- <select id="getDetail" resultType="Map">
- SELECT
- am.sn,d.organ_id,d.scene,am.fault_time,d.city,d.province,d.district,am.fault_advice,am.fault_info,am.update_by,o.fault_influence
- FROM t_alarm_msg am
- left join t_device d on am.sn=d.sn
- left join algo_list o on am.fault_code=o.fault_code
- WHERE am.is_delete = 0
- <if test="id != null">
- AND d.id = #{id}
- </if>
- </select>
- <!-- 电芯过压-C401 电芯过流-C305 内短路-C490-->
- <select id="getRadarItems" resultType="Map">
- SELECT count(1) as quantity,
- fault_code as item
- FROM t_alarm_msg
- WHERE is_delete = 0
- <if test="sn != null and sn != ''">
- AND sn = #{sn}
- </if>
- and fault_code in ('C490','C305','C401')
- group by item
- </select>
- <!-- and am.fault_time >= DATE_ADD(now(), INTERVAL -1 DAY )-->
- <select id="getBatteryMap" resultType="Map">
- SELECT am.fault_level, d.longitude, d.latitude
- FROM t_device d
- INNER JOIN t_alarm_msg am on d.sn = am.sn
- WHERE d.is_delete = 0
- <if test="province != null and province != ''">
- and d.province = #{province}
- </if>
- and am.fault_status = 0
- </select>
- </mapper>
|