AlarmCountMapper.xml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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="statAlarmCount5" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat1" >
  32. select * from alarmcount a
  33. LEFT JOIN alarmsnap s on a.snapid = s.id
  34. <where>
  35. 1=1
  36. <if test="startdate !=null and enddate !=null">
  37. and a.alarmdate &gt;= #{startdate,jdbcType=DATE} and a.alarmdate &lt;= #{enddate,jdbcType=DATE}
  38. </if>
  39. <if test="stationid !=null and stationid !=''">
  40. and s.stationid=#{stationid}
  41. </if>
  42. <if test="windturbineid !=null and windturbineid !=''">
  43. and s.windturbineid=#{windturbineid}
  44. </if>
  45. </where>
  46. </select>
  47. <select id="statAlarmCount" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat" >
  48. select t.snapid, t.count as sum, t.times as times, s.windturbineid as wtnum, s.alerttext as text from (
  49. select snapid, sum(count) as count, sum(time) as times from alarmcount a
  50. left join alarmsnap ss on a.snapid = ss.id
  51. where ss.stationid = #{stationid} and ss.windturbineid is not null
  52. and alarmdate >= #{startdate,jdbcType=DATE} and alarmdate &lt;= #{enddate,jdbcType=DATE}
  53. group by snapid ) t
  54. left join alarmsnap s on t.snapid = s.id
  55. order by s.windturbineid
  56. </select>
  57. <select id="statAlarmCount3" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat" >
  58. select t.snapid, t.count as sum, t.times as times, s.windturbineid as wtnum, s.alerttext as text from (
  59. select snapid, sum(count) as count, sum(time) as times from alarmcount a
  60. left join alarmsnap ss on a.snapid = ss.id
  61. <where>
  62. 1=1
  63. <if test="startdate !=null and enddate !=null">
  64. and a.alarmdate &gt;= #{startdate,jdbcType=DATE} and a.alarmdate &lt;= #{enddate,jdbcType=DATE}
  65. </if>
  66. <if test="stationid !=null and stationid !=''">
  67. and ss.stationid=#{stationid}
  68. </if>
  69. <if test="windturbineid !=null and windturbineid !=''">
  70. and ss.windturbineid=#{windturbineid}
  71. </if>
  72. </where>
  73. group by snapid ) t
  74. left join alarmsnap s on t.snapid = s.id
  75. order by s.windturbineid
  76. </select>
  77. <select id="statAlarmCountByName" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat" >
  78. select t.count as sum,t.times as times, s.windturbineid as wtnum, s.alerttext as text from (
  79. select snapid, sum(count) as count, sum(time) as times from alarmcount a
  80. left join alarmsnap ss on a.snapid = ss.id
  81. where ss.alerttext=#{name} and ss.stationid = #{stationid} and ss.windturbineid is not null
  82. and alarmdate >= #{startdate,jdbcType=DATE} and alarmdate &lt;= #{enddate,jdbcType=DATE}
  83. group by snapid ) t
  84. left join alarmsnap s on t.snapid = s.id
  85. order by s.windturbineid
  86. </select>
  87. <select id="selectAlertRuleNames" resultType="com.gyee.wisdom.alarm.sharding.model.CodeValue" >
  88. select name as code, description as value from alertrule2 group by name, description
  89. </select>
  90. <select id="statAlarmCount2" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmStat1">
  91. select t.*, s.stationid, s.windturbineid, s.alerttext from (
  92. select snapid, sum(count) as count,sum(time) time from alarmcount a
  93. left join alarmsnap ss on a.snapid = ss.id
  94. where
  95. ss.windturbineid is not null
  96. and a.alarmdate &gt;= #{currentDate,jdbcType=DATE}
  97. <if test="stationid !=null and stationid !=''">
  98. and ss.stationid = #{stationid}
  99. </if>
  100. group by snapid ) t
  101. left join alarmsnap s on t.snapid = s.id
  102. order by s.windturbineid
  103. </select>
  104. <select id="getAlarmCountInfo" parameterType="java.util.Map" resultType="com.gyee.wisdom.alarm.sharding.entity.AlarmCountInfo">
  105. SELECT
  106. a.id, a.alarmdate,a.snapid,a.count, a.time,
  107. s.ALERTTEXT, s.WINDTURBINEID, s.RANK,
  108. r.id as alertruleid, r.relatedParts, r.PROJECT
  109. FROM
  110. alarmcount a
  111. LEFT JOIN alarmsnap s ON a.snapid = s.id
  112. LEFT JOIN alertrule2 r ON s.ALERTVALUE = r.ednaValue
  113. WHERE
  114. a.alarmdate = #{currentDate}
  115. AND s.windturbineid = #{windturbineid}
  116. </select>
  117. </mapper>