You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
6.0 KiB
XML

<?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.ruoyi.dataprocess.mapper.HwAlarmRuleMapper">
<resultMap type="HwAlarmRule" id="HwAlarmRuleResult">
<result property="alarmRuleId" column="alarm_rule_id" />
<result property="alarmRuleName" column="alarm_rule_name" />
<result property="tenantId" column="tenant_id" />
<result property="sceneId" column="scene_id" />
<result property="languageCode" column="language_code" />
<result property="alarmLevelId" column="alarm_level_id" />
<result property="alarmTypeId" column="alarm_type_id" />
<result property="ruleType" column="rule_type" />
<result property="ruleDeviceId" column="rule_device_id" />
<result property="ruleFunctionTotal" column="rule_function_total" />
<result property="triggerExpression" column="trigger_expression" />
<result property="linkFlag" column="link_flag" />
<result property="alarmRuleStatus" column="alarm_rule_status" />
<result property="alarmPushFlag" column="alarm_push_flag" />
<result property="alarmPushContent" column="alarm_push_content" />
<result property="alarmRecoverContent" column="alarm_recover_content" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="alarmRuleField" column="alarm_rule_field" />
<result property="tenantName" column="tenant_name" />
<result property="sceneName" column="scene_name" />
<result property="alarmTypeName" column="alarm_type_name" />
<result property="alarmLevelName" column="alarm_level_name" />
<result property="ruleDeviceName" column="device_name" />
<result property="triggerTimeFrame" column="trigger_time_frame" />
<result property="phoneNumbers" column="phone_numbers" />
</resultMap>
<resultMap id="HwAlarmRuleHwAlarmRuleLinkResult" type="HwAlarmRule" extends="HwAlarmRuleResult">
<collection property="hwAlarmRuleLinkList" notNullColumn="sub_rule_link_id" javaType="java.util.List" resultMap="HwAlarmRuleLinkResult" />
</resultMap>
<resultMap type="HwAlarmRuleLink" id="HwAlarmRuleLinkResult">
<result property="ruleLinkId" column="sub_rule_link_id" />
<result property="alarmRuleId" column="sub_alarm_rule_id" />
<result property="linkType" column="sub_link_type" />
<result property="linkDeviceId" column="sub_link_device_id" />
<result property="linkDeviceFunctionId" column="sub_link_device_function_id" />
<result property="linkDeviceFunctionIdentifier" column="sub_link_device_function_identifier" />
<result property="linkDeviceFunctionData" column="sub_link_device_function_data" />
<result property="linkDeviceName" column="sub_link_device_name" />
<result property="linkDeviceModeFunctionName" column="sub_link_device_mode_function_name" />
</resultMap>
<sql id="selectHwAlarmRuleVo">
select alarm_rule_id, alarm_rule_name, tenant_id, scene_id, language_code, alarm_level_id, alarm_type_id, rule_type, rule_device_id, rule_function_total, trigger_expression, link_flag, alarm_rule_status, alarm_push_flag, alarm_push_content, alarm_recover_content, remark, create_by, create_time, update_by, update_time, alarm_rule_field,trigger_time_frame,phone_numbers from hw_alarm_rule
</sql>
<select id="selectHwAlarmRulesWithLink" parameterType="HwAlarmRule" resultMap="HwAlarmRuleHwAlarmRuleLinkResult">
select a.alarm_rule_id, a.alarm_rule_name, a.tenant_id, a.scene_id, a.language_code, a.alarm_level_id, a.alarm_type_id, a.rule_type, a.rule_device_id, a.rule_function_total, a.trigger_expression, a.link_flag, a.alarm_rule_status, a.alarm_push_flag, a.alarm_push_content, a.alarm_recover_content, a.remark, a.create_by, a.create_time, a.update_by, a.update_time, a.alarm_rule_field,
b.rule_link_id as sub_rule_link_id, b.alarm_rule_id as sub_alarm_rule_id, b.link_type as sub_link_type, b.link_device_id as sub_link_device_id, b.link_device_function_id as sub_link_device_function_id, b.link_device_function_identifier as sub_link_device_function_identifier, b.link_device_function_data as sub_link_device_function_data,a.trigger_time_frame,a.phone_numbers
from hw_alarm_rule a
left join hw_alarm_rule_link b on b.alarm_rule_id = a.alarm_rule_id and b.alarm_rule_type=1
<where>
<if test="alarmRuleName != null and alarmRuleName != ''"> and a.alarm_rule_name like concat('%', #{alarmRuleName}, '%')</if>
<if test="tenantId != null "> and a.tenant_id = #{tenantId}</if>
<if test="sceneId != null "> and a.scene_id = #{sceneId}</if>
<if test="alarmLevelId != null "> and a.alarm_level_id = #{alarmLevelId}</if>
<if test="alarmTypeId != null "> and a.alarm_type_id = #{alarmTypeId}</if>
<if test="ruleType != null and ruleType != ''"> and a.rule_type = #{ruleType}</if>
<if test="ruleDeviceId != null "> and a.rule_device_id = #{ruleDeviceId}</if>
<if test="ruleFunctionTotal != null "> and a.rule_function_total = #{ruleFunctionTotal}</if>
<if test="linkFlag != null and linkFlag != ''"> and a.link_flag = #{linkFlag}</if>
<if test="alarmRuleStatus != null and alarmRuleStatus != ''"> and a.alarm_rule_status = #{alarmRuleStatus}</if>
<if test="alarmPushFlag != null and alarmPushFlag != ''"> and a.alarm_push_flag = #{alarmPushFlag}</if>
</where>
order by a.alarm_rule_id desc
</select>
</mapper>