AlarmCountMapper.xml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.gyee.wisdom.alarm.sharding.mapper.AlarmCountMapper">
  4. <insert id="singleInsert" >
  5. insert into alarmcount (id, alarmdate, snapid, count)
  6. values
  7. (#{item.id}, #{item.alarmdate}, #{item.snapId}, #{item.count})
  8. </insert>
  9. <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="false">
  10. insert into alarmcount ( ID, alarmdate, snapid, count,time )
  11. <foreach collection="list" item="item" index="index" separator="union all" >
  12. ( select
  13. #{item.id}, #{item.alarmDate}, #{item.snapId}, #{item.count} ,#{item.time}
  14. from dual )
  15. </foreach>
  16. </insert>
  17. <select id="selectAlarmHistoryBySnapid" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmHistory" >
  18. select * from ${alarmhistory} where snapid = #{snapid}
  19. and alerttime &gt;= #{startdate,jdbcType=DATE} and alerttime &lt; #{enddate,jdbcType=DATE} order by alerttime asc
  20. </select>
  21. <select id="statAlarmCount1" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat1" >
  22. select t.*, s.stationid, s.windturbineid, s.alerttext from (
  23. select snapid, sum(count) as count,sum(time) time from alarmcount a
  24. left join alarmsnap ss on a.snapid = ss.id
  25. where ss.stationid = #{stationid} and ss.windturbineid is not null
  26. and alarmdate &gt;= #{startdate,jdbcType=DATE} and alarmdate &lt; #{enddate,jdbcType=DATE}
  27. group by snapid ) t
  28. left join alarmsnap s on t.snapid = s.id
  29. order by s.windturbineid
  30. </select>
  31. <select id="statAlarmCount" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat" >
  32. select t.snapid, t.count as sum, t.times as times, s.windturbineid as wtnum, s.alerttext as text from (
  33. select snapid, sum(count) as count, sum(time) as times from alarmcount a
  34. left join alarmsnap ss on a.snapid = ss.id
  35. where ss.stationid = #{stationid} and ss.windturbineid is not null
  36. and alarmdate >= #{startdate,jdbcType=DATE} and alarmdate &lt;= #{enddate,jdbcType=DATE}
  37. group by snapid ) t
  38. left join alarmsnap s on t.snapid = s.id
  39. order by s.windturbineid
  40. </select>
  41. <select id="statAlarmCount3" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat" >
  42. select t.snapid, t.count as sum, t.times as times, s.windturbineid as wtnum, s.alerttext as text from (
  43. select snapid, sum(count) as count, sum(time) as times from alarmcount a
  44. left join alarmsnap ss on a.snapid = ss.id
  45. <where>
  46. 1=1
  47. <if test="startdate !=null and enddate !=null">
  48. and a.alarmdate &gt;= #{startdate,jdbcType=DATE} and a.alarmdate &lt;= #{enddate,jdbcType=DATE}
  49. </if>
  50. <if test="stationid !=null and stationid !=''">
  51. and ss.stationid=#{stationid}
  52. </if>
  53. <if test="windturbineid !=null and windturbineid !=''">
  54. and ss.windturbineid=#{windturbineid}
  55. </if>
  56. </where>
  57. group by snapid ) t
  58. left join alarmsnap s on t.snapid = s.id
  59. order by s.windturbineid
  60. </select>
  61. <select id="statAlarmCountByName" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat" >
  62. select t.count as sum, s.windturbineid as wtnum, s.alerttext as text from (
  63. select snapid, sum(count) as count from alarmcount a
  64. left join alarmsnap ss on a.snapid = ss.id
  65. where ss.alerttext=#{name} and ss.stationid = #{stationid} and ss.windturbineid is not null
  66. and alarmdate >= #{startdate,jdbcType=DATE} and alarmdate &lt;= #{enddate,jdbcType=DATE}
  67. group by snapid ) t
  68. left join alarmsnap s on t.snapid = s.id
  69. order by s.windturbineid
  70. </select>
  71. <select id="selectAlertRuleNames" resultType="com.gyee.wisdom.alarm.sharding.model.CodeValue" >
  72. select name as code, description as value from alertrule2 group by name, description
  73. </select>
  74. <select id="statAlarmCount2" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat1">
  75. select t.*, s.stationid, s.windturbineid, s.alerttext from (
  76. select snapid, sum(count) as count,sum(time) time from alarmcount a
  77. left join alarmsnap ss on a.snapid = ss.id
  78. where
  79. ss.windturbineid is not null
  80. and a.alarmdate &gt;= #{currentDate,jdbcType=DATE}
  81. <if test="stationid !=null and stationid !=''">
  82. and ss.stationid = #{stationid}
  83. </if>
  84. group by snapid ) t
  85. left join alarmsnap s on t.snapid = s.id
  86. order by s.windturbineid
  87. </select>
  88. </mapper>