DataAlarmAnalysisMapper.xml 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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.alarm.DataAlarmAnalysisMapper">
  4. <insert id="saveDataAlarmAnalysis" useGeneratedKeys="true" keyProperty="id" parameterType="com.huaxu.entity.alarm.DataAlarmAnalysisEntity">
  5. insert sms_data_alarm_analysis (alarm_name,manage_id,company_org_id,dept_org_id,tenant_id,be_scene_id,be_device_id,be_attribute_id,be_alarm_value,
  6. be_type,compute_rules,to_scene_id,to_device_id,to_attribute_id,to_alarm_value,to_type,alarm_rules,alarm_value
  7. ,result_alarm_value,date_create,status)
  8. values
  9. (#{alarmName}, #{manageId},#{companyOrgId}, #{deptOrgId}, #{tenantId}, #{beSceneId},#{beDeviceId},
  10. #{beAttributeId}, #{beAlarmValue},#{beType}, #{computeRules}, #{toSceneId},
  11. #{toDeviceId}, #{toAttributeId},#{toAlarmValue}, #{toType}, #{alarmRules},
  12. #{alarmValue},#{resultAlarmValue},#{dateCreate},#{status})
  13. </insert>
  14. <select id="findPage" resultType="com.huaxu.vo.DataAlarmAnalysisVo">
  15. select
  16. a.id,a.alarm_name,a.compute_rules,a.alarm_rules,a.date_create,
  17. a.be_alarm_value,a.to_alarm_value,a.result_alarm_value,a.alarm_value,
  18. s.SCENE_NAME as be_scene_name, t1.DEVICE_NAME as "be_device_name", t2.name as be_attribute_name,
  19. s.ADDRESS as "beAddress",s.POINT_X as "bePointX",s.POINT_Y as "bePointY",t2.UNIT as beUnit,
  20. mm.to_scene_name,mm.to_device_name,mm.to_attribute_name,mm.toAddress,mm.toPointX,mm.toPointY,mm.toUnit
  21. from
  22. sms_data_alarm_detail a
  23. INNER JOIN sms_scene s on s.id = a.be_scene_id and s.status = 1
  24. INNER JOIN sms_device t1 on a.be_device_id = t1.id and t1.status = 1
  25. INNER JOIN sms_device_attribute t2 on a.be_attribute_id = t2.id and t2.status = 1
  26. LEFT JOIN (
  27. select m.id, s.SCENE_NAME as to_scene_name, t1.DEVICE_NAME as to_device_name, t2.name as to_attribute_name,
  28. s.ADDRESS as "toAddress",s.POINT_X as "toPointX",s.POINT_Y as "toPointY",t2.UNIT as toUnit
  29. from
  30. sms_data_alarm_detail m
  31. INNER JOIN sms_scene s on s.id = m.to_scene_id and s.status = 1
  32. INNER JOIN sms_device t1 on m.to_device_id = t1.id and t1.status = 1
  33. INNER JOIN sms_device_attribute t2 on m.to_attribute_id=t2.id and t2.status =1
  34. ) mm on mm.id = a.id
  35. <where>
  36. a.tenant_id = #{dto.tenantId}
  37. <if test="dto.userType != null and dto.userType != -999 and dto.userType!=-9999 and dto.programItems != null and dto.programItems.size() > 0">
  38. <if test="dto.permissonType == 5 or dto.permissonType == 2">
  39. and ( a.DEPT_ORG_ID in
  40. <foreach collection="dto.programItems" item="item" open="(" close=")" separator=",">
  41. #{item.orgId}
  42. </foreach>
  43. or
  44. a.COMPANY_ORG_ID in
  45. <foreach collection="dto.programItems" item="item" open="(" close=")" separator=",">
  46. #{item.orgId}
  47. </foreach>
  48. )
  49. </if>
  50. <if test="dto.permissonType == 4 or dto.permissonType == 3">
  51. and a.DEPT_ORG_ID in
  52. <foreach collection="dto.programItems" item="item" open="(" close=")" separator=",">
  53. #{item.orgId}
  54. </foreach>
  55. </if>
  56. <if test="dto.permissonType == 1">
  57. and a.COMPANY_ORG_ID in
  58. <foreach collection="dto.programItems" item="item" open="(" close=")" separator=",">
  59. #{item.orgId}
  60. </foreach>
  61. and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
  62. </if>
  63. </if>
  64. <if test="dto.alarmName != null and dto.alarmName != ''">
  65. and a.alarm_name like CONCAT('%',#{dto.alarmName,jdbcType=VARCHAR},'%')
  66. </if>
  67. and a.status = 1
  68. </where>
  69. order by id desc
  70. </select>
  71. </mapper>