zcloud_gbs_iotalarm/web-infrastructure/src/main/resources/mapper/DeviceRegionMapper.xml

45 lines
1.7 KiB
XML
Raw Normal View History

<?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.zcloud.persistence.mapper.DeviceRegionMapper">
<select id="listPage" resultType="com.zcloud.persistence.dataobject.DeviceRegionDO">
SELECT
rc.*,
d.name AS departmentName,
COALESCE(u.name, rc.manager_name) AS managerName,
(
SELECT COUNT(1)
FROM iot_alarm_region_sensor_rel rel
WHERE rel.region_config_id = rc.id
AND rel.delete_enum = 'FALSE'
) AS bindSensorCount
FROM iot_alarm_region_config rc
LEFT JOIN department d ON rc.department_id = d.id
LEFT JOIN user u ON rc.manager_id = u.id
<where>
rc.delete_enum = 'FALSE'
<if test="params.tenantId != null">
AND rc.tenant_id = #{params.tenantId}
</if>
<if test="params.orgId != null">
AND rc.org_id = #{params.orgId}
</if>
<if test="params.fireRegionCode != null and params.fireRegionCode != ''">
AND rc.fire_region_code LIKE CONCAT('%', #{params.fireRegionCode}, '%')
</if>
<if test="params.departmentId != null">
AND rc.department_id = #{params.departmentId}
</if>
<if test="params.managerId != null">
AND rc.manager_id = #{params.managerId}
</if>
<if test="params.status != null">
AND rc.status = #{params.status}
</if>
</where>
ORDER BY rc.create_time DESC
</select>
</mapper>