AlarmDetailMapper.xml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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.huaxu.dao.AlarmDetailMapper">
  4. <sql id="Base_Column_List">
  5. a.ID as "id"
  6. ,a.TENANT_ID as "tenantId"
  7. ,a.DEVICE_ID as "deviceId"
  8. ,a.COMPANY_ORG_ID as "companyOrgId"
  9. ,a.DEPT_ORG_ID as "deptOrgId"
  10. ,a.ALARM_TYPE as "alarmType"
  11. ,a.ATTRIBUTE_ID as "attributeId"
  12. ,a.ALARM_VALUE as "alarmValue"
  13. ,a.ALARM_CONTENT as "alarmContent"
  14. ,a.ALARM_START_TIME as "alarmStartTime"
  15. ,a.ALARM_END_TIME as "alarmEndTime"
  16. ,a.STATE as "state"
  17. ,a.OP_STATE as "opState"
  18. ,a.REMARK as "remark"
  19. ,a.STATUS as "status"
  20. ,a.DATE_CREATE as "dateCreate"
  21. ,a.CREATE_BY as "createBy"
  22. ,a.DATE_UPDATE as "dateUpdate"
  23. ,a.UPDATE_BY as "updateBy"
  24. ,s.SCENE_NAME as "sceneName"
  25. ,d.DEVICE_NAME as "deviceName"
  26. ,t.DEVICE_TYPE as "devcieType"
  27. ,d.ADDRESS as "address"
  28. ,d.POINT_X as "pointX"
  29. ,d.POINT_Y as "pointY"
  30. </sql>
  31. <sql id="alarmDetailJoins">
  32. left join sms_device d on a.DEVICE_ID =d.id and d.`STATUS` = 1
  33. left join sms_scene s on d.SCENE_ID =s.id and s.`STATUS` =1
  34. left join sms_device_type t on d.DEVICE_TYPE_ID =t.ID
  35. </sql>
  36. <select id="selectById" resultType="com.huaxu.dto.AlarmDetailsDto">
  37. select
  38. <include refid="Base_Column_List"/>
  39. from sms_alarm_details a
  40. <include refid="alarmDetailJoins"/>
  41. where a.`STATUS` = 1
  42. and a.id=#{id}
  43. </select>
  44. <!--通过实体作为筛选条件查询-->
  45. <select id="selectList" resultType="com.huaxu.dto.AlarmDetailsDto">
  46. select
  47. <include refid="Base_Column_List"/>
  48. from sms_alarm_details a
  49. <include refid="alarmDetailJoins"/>
  50. where a.`STATUS` = 1
  51. <if test="alarmDetailsDto.condition != null and alarmDetailsDto.condition != ''">
  52. and (s.SCENE_NAME like concat('%', #{alarmDetailsDto.condition},'%') or d.DEVICE_NAME like concat('%', #{alarmDetailsDto.condition},'%') )
  53. </if>
  54. <if test="alarmDetailsDto.alarmType != null">
  55. and a.ALARM_TYPE = #{alarmDetailsDto.alarmType}
  56. </if>
  57. <if test="alarmDetailsDto.opState != null">
  58. and a.OP_STATE =#{alarmDetailsDto.opState}
  59. </if>
  60. <if test="alarmDetailsDto.startTime != null">
  61. and a.ALARM_START_TIME >=#{alarmDetailsDto.startTime}
  62. </if>
  63. <if test="alarmDetailsDto.endTime != null">
  64. and a.ALARM_START_TIME &lt;=DATE_ADD(#{operateLogDto.endTime},INTERVAL 1 DAY)
  65. </if>
  66. </select>
  67. <!-- 新增所有列 -->
  68. <insert id="insert" keyProperty="id" useGeneratedKeys="true">
  69. INSERT INTO sms_alarm_details ( TENANT_ID , DEVICE_ID , COMPANY_ORG_ID , DEPT_ORG_ID , ALARM_TYPE , ATTRIBUTE_ID , ALARM_VALUE , ALARM_CONTENT , ALARM_START_TIME , ALARM_END_TIME , STATE , OP_STATE , REMARK , STATUS , DATE_CREATE , CREATE_BY , DATE_UPDATE , UPDATE_BY )
  70. VALUES ( #{tenantId} , #{deviceId} , #{companyOrgId} , #{deptOrgId} , #{alarmType} , #{attributeId} , #{alarmValue} , #{alarmContent} , #{alarmStartTime} , #{alarmEndTime} , #{state} , #{opState} , #{remark} , #{status} , #{dateCreate} , #{createBy} , #{dateUpdate} , #{updateBy} )
  71. </insert>
  72. <!-- 批量新增 -->
  73. <insert id="batchInsert">
  74. INSERT INTO sms_alarm_details ( TENANT_ID , DEVICE_ID , COMPANY_ORG_ID , DEPT_ORG_ID , ALARM_TYPE , ATTRIBUTE_ID , ALARM_VALUE , ALARM_CONTENT , ALARM_START_TIME , ALARM_END_TIME , STATE , OP_STATE , REMARK , STATUS , DATE_CREATE , CREATE_BY , DATE_UPDATE , UPDATE_BY )
  75. values
  76. <foreach collection="alarmDetails" item="item" index="index" separator=",">
  77. ( #{item.tenantId} , #{item.deviceId} , #{item.companyOrgId} , #{item.deptOrgId} , #{item.alarmType} , #{item.attributeId} , #{item.alarmValue} , #{item.alarmContent} , #{item.alarmStartTime} , #{item.alarmEndTime} , #{item.state} , #{item.opState} , #{item.remark} , #{item.status} , #{item.dateCreate} , #{item.createBy} , #{item.dateUpdate} , #{item.updateBy} )
  78. </foreach>
  79. </insert>
  80. <!-- 通过主键修改数据 -->
  81. <update id="update">
  82. UPDATE sms_alarm_details
  83. <set>
  84. <if test="tenantId != null and tenantId != '' ">
  85. TENANT_ID = #{tenantId},
  86. </if>
  87. <if test="deviceId != null ">
  88. DEVICE_ID = #{deviceId},
  89. </if>
  90. <if test="companyOrgId != null ">
  91. COMPANY_ORG_ID = #{companyOrgId},
  92. </if>
  93. <if test="deptOrgId != null ">
  94. DEPT_ORG_ID = #{deptOrgId},
  95. </if>
  96. <if test="alarmType != null ">
  97. ALARM_TYPE = #{alarmType},
  98. </if>
  99. <if test="attributeId != null ">
  100. ATTRIBUTE_ID = #{attributeId},
  101. </if>
  102. <if test="alarmValue != null ">
  103. ALARM_VALUE = #{alarmValue},
  104. </if>
  105. <if test="alarmContent != null and alarmContent != '' ">
  106. ALARM_CONTENT = #{alarmContent},
  107. </if>
  108. <if test="alarmStartTime != null ">
  109. ALARM_START_TIME = #{alarmStartTime},
  110. </if>
  111. <if test="alarmStartTime != null ">
  112. ALARM_START_TIME = #{alarmStartTime},
  113. </if>
  114. <if test="alarmEndTime != null ">
  115. ALARM_END_TIME = #{alarmEndTime},
  116. </if>
  117. <if test="state != null ">
  118. STATE = #{state},
  119. </if>
  120. <if test="opState != null ">
  121. OP_STATE = #{opState},
  122. </if>
  123. <if test="remark != null and remark != '' ">
  124. REMARK = #{remark},
  125. </if>
  126. <if test="status != null ">
  127. STATUS = #{status},
  128. </if>
  129. <if test="dateUpdate != null ">
  130. DATE_UPDATE = #{dateUpdate},
  131. </if>
  132. <if test="updateBy != null and updateBy != ''">
  133. UPDATE_BY = #{updateBy}
  134. </if>
  135. </set>
  136. WHERE ID = #{id};
  137. </update>
  138. <!--通过主键删除-->
  139. <delete id="deleteById">
  140. UPDATE sms_alarm_details set STATUS = 0 where id = #{id}
  141. </delete>
  142. <!-- 报警挂起、恢复 -->
  143. <delete id="suspendedById">
  144. UPDATE sms_alarm_details set STATE = #{state} where id = #{id}
  145. </delete>
  146. <!-- 分页查询 -->
  147. <select id="selectPage" resultType="com.huaxu.dto.AlarmDetailsDto">
  148. select
  149. <include refid="Base_Column_List"/>
  150. from sms_alarm_details a
  151. <include refid="alarmDetailJoins"/>
  152. where a.`STATUS` = 1
  153. <if test="alarmDetailsDto.condition != null and alarmDetailsDto.condition != ''">
  154. and (s.SCENE_NAME like concat('%', #{alarmDetailsDto.condition},'%') or d.DEVICE_NAME like concat('%', #{alarmDetailsDto.condition},'%') )
  155. </if>
  156. <if test="alarmDetailsDto.alarmType != null">
  157. and a.ALARM_TYPE = #{alarmDetailsDto.alarmType}
  158. </if>
  159. <if test="alarmDetailsDto.opState != null">
  160. and a.OP_STATE =#{alarmDetailsDto.opState}
  161. </if>
  162. <if test="alarmDetailsDto.startTime != null">
  163. and a.ALARM_START_TIME >=#{alarmDetailsDto.startTime}
  164. </if>
  165. <if test="alarmDetailsDto.endTime != null">
  166. and a.ALARM_START_TIME &lt;=DATE_ADD(#{operateLogDto.endTime},INTERVAL 1 DAY)
  167. </if>
  168. </select>
  169. </mapper>