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.
363 lines
22 KiB
XML
363 lines
22 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.business.mapper.HwDeviceMapper">
|
|
|
|
<resultMap type="HwDevice" id="HwDeviceResult">
|
|
<result property="deviceId" column="device_id" />
|
|
<result property="deviceCode" column="device_code" />
|
|
<result property="deviceName" column="device_name" />
|
|
<result property="sceneId" column="scene_id" />
|
|
<result property="monitorUnitId" column="monitor_unit_id" />
|
|
<result property="deviceType" column="device_type" />
|
|
<result property="networkingMode" column="networking_mode" />
|
|
<result property="accessProtocol" column="access_protocol" />
|
|
<result property="dataFormat" column="data_format" />
|
|
<result property="releatedDeviceId" column="releated_device_id" />
|
|
<result property="deviceModeId" column="device_mode_id" />
|
|
<result property="accessGwProtocol" column="access_gw_protocol" />
|
|
<result property="activeStatus" column="active_status" />
|
|
<result property="deviceStatus" column="device_status" />
|
|
<result property="activeTime" column="active_time" />
|
|
<result property="publishTime" column="publish_time" />
|
|
<result property="devicePic" column="device_pic" />
|
|
<result property="ipAddress" column="ip_address" />
|
|
<result property="areaId" column="area_id" />
|
|
<result property="deviceLocation" column="device_location" />
|
|
<result property="currentModuleVersion" column="current_module_version" />
|
|
<result property="currentSinglechipVersion" column="current_singlechip_version" />
|
|
<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="deviceField" column="device_field" />
|
|
<result property="tenantId" column="tenant_id" />
|
|
<result property="onlineStatus" column="online_status" />
|
|
<result property="sceneName" column="scene_name" />
|
|
<result property="tenantName" column="tenant_name" />
|
|
<result property="deviceModeName" column="device_mode_name" />
|
|
<result property="monitorUnitName" column="monitor_unit_name" />
|
|
</resultMap>
|
|
|
|
<!--以下为监控平台接口所用-->
|
|
<resultMap id="DeviceModeVoResult" type="com.ruoyi.business.domain.VO.DeviceModeVo" >
|
|
<result property="deviceModeName" column="device_mode_name"/>
|
|
<result property="sum" column="sum"/>
|
|
<result property="err" column="err"/>
|
|
</resultMap>
|
|
<select id="selectDeviceModeNameVo" resultMap="DeviceModeVoResult">
|
|
SELECT b.device_mode_name ,a.sum FROM hw_device_mode b
|
|
LEFT JOIN (SELECT device_mode_id,count(*) as sum FROM hw_device GROUP BY device_mode_id order by sum desc
|
|
) a on a.device_mode_id = b.device_mode_id
|
|
|
|
</select>
|
|
<select id="selectDeviceByDeviceModeByDeviceModeFunction" parameterType="Long" resultType="String">
|
|
select count(*) from hw_device_mode_function where device_mode_id =
|
|
(SELECT device_mode_id from hw_device where device_id = #{deviceId}) and function_type = '1'
|
|
</select>
|
|
<select id="selectDeviceModeFunctionByFunctionType" parameterType="Long" resultType="String">
|
|
|
|
</select>
|
|
<select id="selectDeviceNum" parameterType="Long" resultMap="HwDeviceResult" >
|
|
<include refid="selectHwDeviceVo"/>
|
|
where scene_id = #{sceneId}
|
|
</select>
|
|
<select id="selectDeviceByMonitorId" parameterType="Long" resultMap="HwDeviceResult">
|
|
<include refid="selectHwDeviceVo"/>
|
|
where monitor_unit_id = #{monitorUnitId}
|
|
</select>
|
|
<select id="selectDeviceByDeviceModeBySceneId" parameterType="Long" resultMap="HwDeviceResult">
|
|
select * from hw_device where device_mode_id = (
|
|
SELECT device_mode_id from hw_device_mode where scene_id = #{sceneId} )
|
|
</select>
|
|
<select id="selectDeviceByDeviceModeByMonitorUnitId" parameterType="Long" resultMap="HwDeviceResult">
|
|
select * from hw_device where device_mode_id = (
|
|
SELECT device_mode_id from hw_device_mode where monitor_unit_id = #{monitorUnitId} )
|
|
</select>
|
|
<!--以上为监控平台接口所用-->
|
|
|
|
<sql id="selectHwDeviceVo">
|
|
select device_id, device_code, device_name, scene_id, monitor_unit_id, device_type, networking_mode, access_protocol, data_format, releated_device_id, device_mode_id, access_gw_protocol, active_status, device_status, active_time, device_pic, ip_address, area_id, device_location, current_module_version, current_singlechip_version, remark, create_by, create_time, update_by, update_time, device_field, tenant_id, online_status from hw_device hd
|
|
</sql>
|
|
|
|
<select id="selectHwDeviceList" parameterType="HwDevice" resultMap="HwDeviceResult">
|
|
<include refid="selectHwDeviceVo"/>
|
|
<where>
|
|
and device_status !='9'
|
|
<if test="deviceCode != null and deviceCode != ''"> and device_code like concat('%', #{deviceCode}, '%')</if>
|
|
<if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
|
|
<if test="sceneId != null "> and scene_id = #{sceneId}</if>
|
|
<if test="monitorUnitId != null "> and monitor_unit_id = #{monitorUnitId}</if>
|
|
<if test="deviceType != null and deviceType != ''"> and device_type = #{deviceType}</if>
|
|
<if test="networkingMode != null and networkingMode != ''"> and networking_mode = #{networkingMode}</if>
|
|
<if test="accessProtocol != null "> and access_protocol = #{accessProtocol}</if>
|
|
<if test="dataFormat != null "> and data_format = #{dataFormat}</if>
|
|
<if test="releatedDeviceId != null "> and releated_device_id = #{releatedDeviceId}</if>
|
|
<if test="deviceModeId != null "> and device_mode_id = #{deviceModeId}</if>
|
|
<if test="accessGwProtocol != null "> and access_gw_protocol = #{accessGwProtocol}</if>
|
|
<if test="activeStatus != null and activeStatus != ''"> and active_status = #{activeStatus}</if>
|
|
<if test="deviceStatus != null and deviceStatus != ''"> and device_status = #{deviceStatus}</if>
|
|
<if test="activeTime != null "> and active_time = #{activeTime}</if>
|
|
<if test="devicePic != null and devicePic != ''"> and device_pic = #{devicePic}</if>
|
|
<if test="ipAddress != null and ipAddress != ''"> and ip_address = #{ipAddress}</if>
|
|
<if test="areaId != null "> and area_id = #{areaId}</if>
|
|
<if test="deviceLocation != null and deviceLocation != ''"> and device_location = #{deviceLocation}</if>
|
|
<if test="currentModuleVersion != null and currentModuleVersion != ''"> and current_module_version = #{currentModuleVersion}</if>
|
|
<if test="currentSinglechipVersion != null and currentSinglechipVersion != ''"> and current_singlechip_version = #{currentSinglechipVersion}</if>
|
|
<if test="deviceField != null and deviceField != ''"> and device_field = #{deviceField}</if>
|
|
<if test="tenantId != null "> and tenant_id = #{tenantId}</if>
|
|
<if test="onlineStatus != null and onlineStatus != ''"> and online_status = #{onlineStatus}</if>
|
|
<!-- 租户数据范围过滤 -->
|
|
${params.tenantDataScope}
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectHwDeviceByDeviceId" parameterType="Long" resultMap="HwDeviceResult">
|
|
<include refid="selectHwDeviceVo"/>
|
|
where device_id = #{deviceId}
|
|
</select>
|
|
|
|
<insert id="insertHwDevice" parameterType="HwDevice" useGeneratedKeys="true" keyProperty="deviceId">
|
|
insert into hw_device
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="deviceCode != null and deviceCode != ''">device_code,</if>
|
|
<if test="deviceName != null and deviceName != ''">device_name,</if>
|
|
<if test="sceneId != null">scene_id,</if>
|
|
<if test="monitorUnitId != null">monitor_unit_id,</if>
|
|
<if test="deviceType != null and deviceType != ''">device_type,</if>
|
|
<if test="networkingMode != null and networkingMode != ''">networking_mode,</if>
|
|
<if test="accessProtocol != null">access_protocol,</if>
|
|
<if test="dataFormat != null">data_format,</if>
|
|
<if test="releatedDeviceId != null">releated_device_id,</if>
|
|
<if test="deviceModeId != null">device_mode_id,</if>
|
|
<if test="accessGwProtocol != null">access_gw_protocol,</if>
|
|
<if test="activeStatus != null and activeStatus != ''">active_status,</if>
|
|
<if test="deviceStatus != null and deviceStatus != ''">device_status,</if>
|
|
<if test="activeTime != null">active_time,</if>
|
|
<if test="devicePic != null">device_pic,</if>
|
|
<if test="ipAddress != null">ip_address,</if>
|
|
<if test="areaId != null">area_id,</if>
|
|
<if test="deviceLocation != null">device_location,</if>
|
|
<if test="currentModuleVersion != null">current_module_version,</if>
|
|
<if test="currentSinglechipVersion != null">current_singlechip_version,</if>
|
|
<if test="remark != null">remark,</if>
|
|
<if test="createBy != null">create_by,</if>
|
|
<if test="createTime != null">create_time,</if>
|
|
<if test="updateBy != null">update_by,</if>
|
|
<if test="updateTime != null">update_time,</if>
|
|
<if test="deviceField != null">device_field,</if>
|
|
<if test="tenantId != null">tenant_id,</if>
|
|
<if test="onlineStatus != null and onlineStatus != ''">online_status,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="deviceCode != null and deviceCode != ''">#{deviceCode},</if>
|
|
<if test="deviceName != null and deviceName != ''">#{deviceName},</if>
|
|
<if test="sceneId != null">#{sceneId},</if>
|
|
<if test="monitorUnitId != null">#{monitorUnitId},</if>
|
|
<if test="deviceType != null and deviceType != ''">#{deviceType},</if>
|
|
<if test="networkingMode != null and networkingMode != ''">#{networkingMode},</if>
|
|
<if test="accessProtocol != null">#{accessProtocol},</if>
|
|
<if test="dataFormat != null">#{dataFormat},</if>
|
|
<if test="releatedDeviceId != null">#{releatedDeviceId},</if>
|
|
<if test="deviceModeId != null">#{deviceModeId},</if>
|
|
<if test="accessGwProtocol != null">#{accessGwProtocol},</if>
|
|
<if test="activeStatus != null and activeStatus != ''">#{activeStatus},</if>
|
|
<if test="deviceStatus != null and deviceStatus != ''">#{deviceStatus},</if>
|
|
<if test="activeTime != null">#{activeTime},</if>
|
|
<if test="devicePic != null">#{devicePic},</if>
|
|
<if test="ipAddress != null">#{ipAddress},</if>
|
|
<if test="areaId != null">#{areaId},</if>
|
|
<if test="deviceLocation != null">#{deviceLocation},</if>
|
|
<if test="currentModuleVersion != null">#{currentModuleVersion},</if>
|
|
<if test="currentSinglechipVersion != null">#{currentSinglechipVersion},</if>
|
|
<if test="remark != null">#{remark},</if>
|
|
<if test="createBy != null">#{createBy},</if>
|
|
<if test="createTime != null">#{createTime},</if>
|
|
<if test="updateBy != null">#{updateBy},</if>
|
|
<if test="updateTime != null">#{updateTime},</if>
|
|
<if test="deviceField != null">#{deviceField},</if>
|
|
<if test="tenantId != null">#{tenantId},</if>
|
|
<if test="onlineStatus != null and onlineStatus != ''">#{onlineStatus},</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateHwDevice" parameterType="HwDevice">
|
|
update hw_device
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="deviceCode != null and deviceCode != ''">device_code = #{deviceCode},</if>
|
|
<if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if>
|
|
<if test="sceneId != null">scene_id = #{sceneId},</if>
|
|
<if test="monitorUnitId != null">monitor_unit_id = #{monitorUnitId},</if>
|
|
<if test="deviceType != null and deviceType != ''">device_type = #{deviceType},</if>
|
|
<if test="networkingMode != null and networkingMode != ''">networking_mode = #{networkingMode},</if>
|
|
<if test="accessProtocol != null">access_protocol = #{accessProtocol},</if>
|
|
<if test="dataFormat != null">data_format = #{dataFormat},</if>
|
|
<if test="releatedDeviceId != null">releated_device_id = #{releatedDeviceId},</if>
|
|
<if test="deviceModeId != null">device_mode_id = #{deviceModeId},</if>
|
|
<if test="accessGwProtocol != null">access_gw_protocol = #{accessGwProtocol},</if>
|
|
<if test="activeStatus != null and activeStatus != ''">active_status = #{activeStatus},</if>
|
|
<if test="deviceStatus != null and deviceStatus != ''">device_status = #{deviceStatus},</if>
|
|
<if test="activeTime != null">active_time = #{activeTime},</if>
|
|
<if test="publishTime != null">publish_time = #{publishTime},</if>
|
|
<if test="devicePic != null">device_pic = #{devicePic},</if>
|
|
<if test="ipAddress != null">ip_address = #{ipAddress},</if>
|
|
<if test="areaId != null">area_id = #{areaId},</if>
|
|
<if test="deviceLocation != null">device_location = #{deviceLocation},</if>
|
|
<if test="currentModuleVersion != null">current_module_version = #{currentModuleVersion},</if>
|
|
<if test="currentSinglechipVersion != null">current_singlechip_version = #{currentSinglechipVersion},</if>
|
|
<if test="remark != null">remark = #{remark},</if>
|
|
<if test="createBy != null">create_by = #{createBy},</if>
|
|
<if test="createTime != null">create_time = #{createTime},</if>
|
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
|
<if test="deviceField != null">device_field = #{deviceField},</if>
|
|
<if test="tenantId != null">tenant_id = #{tenantId},</if>
|
|
<if test="onlineStatus != null and onlineStatus != ''">online_status = #{onlineStatus},</if>
|
|
</trim>
|
|
where device_id = #{deviceId}
|
|
</update>
|
|
|
|
<delete id="deleteHwDeviceByDeviceId" parameterType="Long">
|
|
update hw_device set device_status = '9',device_code=null where device_id = #{deviceId}
|
|
</delete>
|
|
|
|
<delete id="deleteHwDeviceByDeviceIds" parameterType="String">
|
|
delete from hw_device where device_id in
|
|
<foreach item="deviceId" collection="array" open="(" separator="," close=")">
|
|
#{deviceId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<select id="getOnlineDeviceNum" parameterType="Long">
|
|
SELECT count(1) as count FROM hw_device hd
|
|
where hd.device_status=1 and ((hd.device_type=2
|
|
and exists (select 1 from hw_device hdd where hd.releated_device_id=hdd.device_id and hdd.online_status=1 and hdd.device_status=1)) or (hd.device_type=3 and hd.online_status=1))
|
|
<if test="sceneId != null and sceneId!=0">and hd.scene_id=#{sceneId}</if>
|
|
</select>
|
|
|
|
<sql id="selectHwDeviceJoinVo">
|
|
select hd.device_code,hd.device_name, hd.device_status,hd.online_status, hd.device_pic,hd.active_time,hd.device_mode_id,
|
|
hmu.monitor_unit_name
|
|
from hw_device hd left join hw_monitor_unit hmu on hd.monitor_unit_id = hmu.monitor_unit_id </sql>
|
|
|
|
<select id="selectHwDeviceJoinByDeviceId" parameterType="Long" resultMap="HwDeviceResult">
|
|
<include refid="selectHwDeviceJoinVo"/>
|
|
where hd.device_id = #{deviceId}
|
|
</select>
|
|
|
|
<select id="selectLinkedDevices" parameterType="Long" resultMap="HwDeviceResult">
|
|
<include refid="selectHwDeviceJoinVo"/>
|
|
where exists (select 1 from hw_alarm_rule_link harl where hd.device_id=harl.link_device_id
|
|
and hd.device_id = #{deviceId})
|
|
</select>
|
|
|
|
|
|
<select id="selectHwDeviceJoinList" parameterType="HwDevice" resultMap="HwDeviceResult">
|
|
select hd.device_id,hd.device_code,hd.device_name,hd.device_type,
|
|
hd.tenant_id,hd.scene_id,hd.monitor_unit_id,hd.device_mode_id,hd.active_status,
|
|
hd.active_time,hd.device_status,hd.online_status,hd.releated_device_id,hd.device_pic,
|
|
hd.publish_time,hd.access_gw_protocol,hd.access_protocol,hd.data_format,hd.networking_mode,
|
|
hs.scene_name,hmu.monitor_unit_name,hdmf.device_mode_name,ht.tenant_name
|
|
from hw_device hd
|
|
left join hw_scene hs on hd.scene_id = hs.scene_id
|
|
left join hw_monitor_unit hmu on hd.monitor_unit_id = hmu.monitor_unit_id
|
|
left join hw_device_mode hdmf on hd.device_mode_id = hdmf.device_mode_id
|
|
left join hw_tenant ht on hd.tenant_id=ht.tenant_id
|
|
<where>
|
|
and hd.device_status != '9'
|
|
<if test="deviceCode != null and deviceCode != ''"> and hd.device_code like concat('%', #{deviceCode}, '%')</if>
|
|
<if test="deviceName != null and deviceName != ''"> and hd.device_name like concat('%', #{deviceName}, '%')</if>
|
|
<if test="sceneId != null "> and hd.scene_id = #{sceneId}</if>
|
|
<if test="monitorUnitId != null "> and hd.monitor_unit_id = #{monitorUnitId}</if>
|
|
<if test="deviceType != null and deviceType != ''"> and hd.device_type = #{deviceType}</if>
|
|
<if test="deviceModeId != null "> and hd.device_mode_id = #{deviceModeId}</if>
|
|
<if test="activeStatus != null and activeStatus != ''"> and hd.active_status = #{activeStatus}</if>
|
|
<if test="deviceStatus != null and deviceStatus != ''"> and hd.device_status = #{deviceStatus}</if>
|
|
<if test="tenantId != null "> and hd.tenant_id = #{tenantId}</if>
|
|
<if test="releatedDeviceId != null "> and hd.releated_device_id = #{releatedDeviceId}</if>
|
|
<if test="onlineStatus != null and onlineStatus != ''"> and hd.online_status = #{onlineStatus}</if>
|
|
<!-- 租户数据范围过滤 -->
|
|
${params.tenantDataScope}
|
|
</where>
|
|
order by hd.device_id desc
|
|
</select>
|
|
|
|
<select id="checkExistSubDevice" parameterType="Long" resultType="int">
|
|
select count(1) from hw_device where releated_device_id = #{releatedDeviceId} and device_status != '9'
|
|
</select>
|
|
|
|
<select id="selectHwDeviceByDeviceCode" parameterType="String" resultMap="HwDeviceResult">
|
|
<include refid="selectHwDeviceVo"/>
|
|
where device_code = #{deviceCode} limit 1
|
|
</select>
|
|
|
|
|
|
<select id="selectDeviceNumCount" parameterType="HwDevice">
|
|
select count(1) as sum from hw_device
|
|
where device_status = '1' and (device_type='2' or device_type='3')
|
|
<if test="sceneId != null and sceneId!=0"> and scene_id = #{sceneId}</if>
|
|
<if test="monitorUnitId != null and monitorUnitId!=0"> and monitor_unit_id = #{monitorUnitId}</if>
|
|
</select>
|
|
|
|
<select id="selectAbnormalDeviceNumCount" parameterType="HwDevice">
|
|
select count(1) as sum from hw_device hd
|
|
where hd.device_status = '1' and (hd.device_type='2' or hd.device_type='3')
|
|
and exists (select 1 from hw_alarm_info hai where hd.device_id=hai.device_id and hai.handle_status='0')
|
|
<if test="sceneId != null and sceneId!=0"> and hd.scene_id = #{sceneId}</if>
|
|
<if test="monitorUnitId != null and monitorUnitId!=0"> and hd.monitor_unit_id = #{monitorUnitId}</if>
|
|
</select>
|
|
|
|
|
|
<select id="selectHwDeviceListByMonitor" parameterType="HwDevice" resultMap="HwDeviceResult">
|
|
<include refid="selectHwDeviceVo"/>
|
|
<where>
|
|
<if test="sceneId != null "> and scene_id = #{sceneId}</if>
|
|
<if test="monitorUnitId != null "> and monitor_unit_id = #{monitorUnitId}</if>
|
|
|
|
and device_status !='9' and (device_type='2' or device_type='3')
|
|
<!-- 租户数据范围过滤 -->
|
|
${params.tenantDataScope}
|
|
</where>
|
|
order by hd.device_id desc
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectAllocatedList" parameterType="HwDevice" resultMap="HwDeviceResult">
|
|
select distinct hd.device_id,hd.device_code,hd.device_name,hd.device_type,hd.publish_time,hmu.monitor_unit_name
|
|
from hw_device hd left join hw_monitor_unit hmu on hd.monitor_unit_id = hmu.monitor_unit_id
|
|
where hd.device_status != '9' and
|
|
exists (select 1 from hw_offline_target hot where hot.target_id=hd.device_id and hot.offline_rule_id = #{offlineRuleId})
|
|
<if test="deviceCode != null and deviceCode != ''">
|
|
AND hd.device_code like concat('%', #{deviceCode}, '%')
|
|
</if>
|
|
<if test="deviceName != null and deviceName != ''">
|
|
AND hd.device_name like concat('%', #{deviceName}, '%')
|
|
</if>
|
|
<if test="monitorUnitId != null "> and hd.monitor_unit_id = #{monitorUnitId}</if>
|
|
<if test="deviceType != null and deviceType != ''"> and hd.device_type = #{deviceType}</if>
|
|
<!-- 数据范围过滤 -->
|
|
${params.tenantDataScope}
|
|
</select>
|
|
|
|
<select id="selectUnallocatedList" parameterType="HwDevice" resultMap="HwDeviceResult">
|
|
select distinct hd.device_id,hd.device_code,hd.device_name,hd.device_type,hd.publish_time,hmu.monitor_unit_name
|
|
from hw_device hd left join hw_monitor_unit hmu on hd.monitor_unit_id = hmu.monitor_unit_id
|
|
where hd.device_status != '9' and hd.scene_id=#{sceneId}
|
|
and not exists (select 1 from hw_offline_target hot where hot.target_id=hd.device_id and hot.target_type = 1)
|
|
<if test="deviceCode != null and deviceCode != ''">
|
|
AND hd.device_code like concat('%', #{deviceCode}, '%')
|
|
</if>
|
|
<if test="deviceName != null and deviceName != ''">
|
|
AND hd.device_name like concat('%', #{deviceName}, '%')
|
|
</if>
|
|
<if test="monitorUnitId != null "> and hd.monitor_unit_id = #{monitorUnitId}</if>
|
|
<if test="deviceType != null and deviceType != ''"> and hd.device_type = #{deviceType}</if>
|
|
<!-- 租户数据范围过滤 -->
|
|
${params.tenantDataScope}
|
|
</select>
|
|
|
|
</mapper>
|