| 
					
				 | 
			
			
				@@ -0,0 +1,415 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<?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.pm.subsystem.mapper.IntrusionAlarmMapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- ==================== 报警点相关查询 ==================== --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <resultMap type="pd" id="AlarmPointResult"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="id"    column="id"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="deviceCode"    column="device_code"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="deviceName"    column="device_name"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="alarmType"    column="alarm_type"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="zoneCode"    column="zone_code"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="zoneName"    column="zone_name"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="building"    column="building"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="floor"    column="floor"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="locationDetail"    column="location_detail"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="brand"    column="brand"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="model"    column="model"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="deviceStatus"    column="device_status"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="armStatus"    column="arm_status"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="sensitivity"    column="sensitivity"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="delayTime"    column="delay_time"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="linkageCameras"    column="linkage_cameras"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="lastAlarmTime"    column="last_alarm_time"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="installTime"    column="install_time"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="lastMaintainTime"    column="last_maintain_time"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="createTime"    column="create_time"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <result property="updateTime"    column="update_time"    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </resultMap> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <sql id="selectAlarmPointVo"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, device_code, device_name, alarm_type, zone_code, zone_name, building, floor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               location_detail, brand, model, device_status, arm_status, sensitivity, delay_time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               linkage_cameras, last_alarm_time, install_time, last_maintain_time, create_time, update_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_point 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </sql> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectAlarmPointList" parameterType="pd" resultMap="AlarmPointResult"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <include refid="selectAlarmPointVo"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <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="alarmType != null and alarmType != ''"> and alarm_type = #{alarmType}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zone != null and zone != ''"> and zone_code = #{zone}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="building != null and building != ''"> and building = #{building}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="floor != null and floor != ''"> and floor = #{floor}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceStatus != null"> and device_status = #{deviceStatus}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="armStatus != null"> and arm_status = #{armStatus}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="beginTime != null and beginTime != ''"> and date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="endTime != null and endTime != ''"> and date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by create_time desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectAlarmPointById" parameterType="pd" resultMap="AlarmPointResult"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <include refid="selectAlarmPointVo"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <insert id="insertAlarmPoint" parameterType="pd" useGeneratedKeys="true" keyProperty="id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        insert into alarm_point 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <trim prefix="(" suffix=")" suffixOverrides=","> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceCode != null and deviceCode != ''">device_code,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceName != null and deviceName != ''">device_name,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="alarmType != null and alarmType != ''">alarm_type,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneCode != null and zoneCode != ''">zone_code,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneName != null and zoneName != ''">zone_name,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="building != null and building != ''">building,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="floor != null and floor != ''">floor,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="locationDetail != null and locationDetail != ''">location_detail,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="brand != null and brand != ''">brand,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="model != null and model != ''">model,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceStatus != null">device_status,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="armStatus != null">arm_status,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="sensitivity != null">sensitivity,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="delayTime != null">delay_time,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageCameras != null and linkageCameras != ''">linkage_cameras,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="lastAlarmTime != null">last_alarm_time,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="installTime != null">install_time,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="lastMaintainTime != null">last_maintain_time,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="createTime != null">create_time,</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="updateTime != null">update_time,</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="alarmType != null and alarmType != ''">#{alarmType},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneCode != null and zoneCode != ''">#{zoneCode},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneName != null and zoneName != ''">#{zoneName},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="building != null and building != ''">#{building},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="floor != null and floor != ''">#{floor},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="locationDetail != null and locationDetail != ''">#{locationDetail},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="brand != null and brand != ''">#{brand},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="model != null and model != ''">#{model},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceStatus != null">#{deviceStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="armStatus != null">#{armStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="sensitivity != null">#{sensitivity},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="delayTime != null">#{delayTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageCameras != null and linkageCameras != ''">#{linkageCameras},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="lastAlarmTime != null">#{lastAlarmTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="installTime != null">#{installTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="lastMaintainTime != null">#{lastMaintainTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="createTime != null">#{createTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="updateTime != null">#{updateTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </trim> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <update id="updateAlarmPoint" parameterType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        update alarm_point 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <trim prefix="SET" suffixOverrides=","> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="alarmType != null and alarmType != ''">alarm_type = #{alarmType},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneCode != null and zoneCode != ''">zone_code = #{zoneCode},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneName != null and zoneName != ''">zone_name = #{zoneName},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="building != null and building != ''">building = #{building},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="floor != null and floor != ''">floor = #{floor},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="locationDetail != null and locationDetail != ''">location_detail = #{locationDetail},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="brand != null and brand != ''">brand = #{brand},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="model != null and model != ''">model = #{model},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceStatus != null">device_status = #{deviceStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="armStatus != null">arm_status = #{armStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="sensitivity != null">sensitivity = #{sensitivity},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="delayTime != null">delay_time = #{delayTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageCameras != null">linkage_cameras = #{linkageCameras},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="lastAlarmTime != null">last_alarm_time = #{lastAlarmTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="installTime != null">install_time = #{installTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="lastMaintainTime != null">last_maintain_time = #{lastMaintainTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="updateTime != null">update_time = #{updateTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </trim> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="id != null">id = #{id}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceCode != null and deviceCode != ''">or device_code = #{deviceCode}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <delete id="deleteAlarmPointById" parameterType="Long"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delete from alarm_point where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </delete> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <delete id="deleteAlarmPointByIds" parameterType="String"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delete from alarm_point where id in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <foreach item="id" collection="array" open="(" separator="," close=")"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </delete> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- ==================== 报警记录相关查询 ==================== --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectAlarmList" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, device_code, device_name, alarm_type, alarm_level, alarm_message, building, floor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        zone_code, zone_name, alarm_time, handle_status, handle_user, handle_time, handle_remark, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        linkage_status, linkage_result, create_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <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="alarmType != null and alarmType != ''"> and alarm_type = #{alarmType}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="alarmLevel != null"> and alarm_level = #{alarmLevel}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="handleStatus != null"> and handle_status = #{handleStatus}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zone != null and zone != ''"> and zone_code = #{zone}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="building != null and building != ''"> and building = #{building}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageStatus != null"> and linkage_status = #{linkageStatus}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="beginTime != null and beginTime != ''"> and date_format(alarm_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="endTime != null and endTime != ''"> and date_format(alarm_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by alarm_time desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectAlarmById" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, device_code, device_name, alarm_type, alarm_level, alarm_message, building, floor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               zone_code, zone_name, alarm_time, handle_status, handle_user, handle_time, handle_remark, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               linkage_status, linkage_result, create_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <insert id="insertAlarm" parameterType="pd" useGeneratedKeys="true" keyProperty="id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        insert into alarm_record (device_code, device_name, alarm_type, alarm_level, alarm_message, building, floor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  zone_code, zone_name, alarm_time, handle_status, linkage_status, create_time) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        values (#{deviceCode}, #{deviceName}, #{alarmType}, #{alarmLevel}, #{alarmMessage}, #{building}, #{floor}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                #{zoneCode}, #{zoneName}, #{alarmTime}, #{handleStatus}, #{linkageStatus}, #{createTime}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <update id="updateAlarm" parameterType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        update alarm_record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <trim prefix="SET" suffixOverrides=","> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="handleStatus != null">handle_status = #{handleStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="handleUser != null and handleUser != ''">handle_user = #{handleUser},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="handleTime != null">handle_time = #{handleTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="handleRemark != null">handle_remark = #{handleRemark},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageStatus != null">linkage_status = #{linkageStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageResult != null">linkage_result = #{linkageResult},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </trim> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <delete id="deleteAlarmById" parameterType="Long"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delete from alarm_record where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </delete> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <delete id="deleteAlarmByIds" parameterType="String"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delete from alarm_record where id in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <foreach item="id" collection="array" open="(" separator="," close=")"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </delete> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- ==================== 防区相关查询 ==================== --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectZoneList" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, zone_code, zone_name, zone_description, zone_status, device_count, online_count, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        linkage_cameras, arm_mode, arm_schedule, create_time, update_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_zone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneCode != null and zoneCode != ''"> and zone_code like concat('%', #{zoneCode}, '%')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneName != null and zoneName != ''"> and zone_name like concat('%', #{zoneName}, '%')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneStatus != null"> and zone_status = #{zoneStatus}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by zone_code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectZoneById" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, zone_code, zone_name, zone_description, zone_status, device_count, online_count, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               linkage_cameras, arm_mode, arm_schedule, create_time, update_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_zone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <insert id="insertZone" parameterType="pd" useGeneratedKeys="true" keyProperty="id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        insert into alarm_zone (zone_code, zone_name, zone_description, zone_status, device_count, online_count, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                linkage_cameras, arm_mode, arm_schedule, create_time, update_time) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        values (#{zoneCode}, #{zoneName}, #{zoneDescription}, #{zoneStatus}, #{deviceCount}, #{onlineCount}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                #{linkageCameras}, #{armMode}, #{armSchedule}, #{createTime}, #{updateTime}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <update id="updateZone" parameterType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        update alarm_zone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <trim prefix="SET" suffixOverrides=","> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneName != null and zoneName != ''">zone_name = #{zoneName},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneDescription != null">zone_description = #{zoneDescription},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="zoneStatus != null">zone_status = #{zoneStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="deviceCount != null">device_count = #{deviceCount},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="onlineCount != null">online_count = #{onlineCount},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageCameras != null">linkage_cameras = #{linkageCameras},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="armMode != null and armMode != ''">arm_mode = #{armMode},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="armSchedule != null">arm_schedule = #{armSchedule},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="updateTime != null">update_time = #{updateTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </trim> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <delete id="deleteZoneById" parameterType="Long"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delete from alarm_zone where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </delete> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 查询防区设备列表 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectZoneDeviceList" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select device_code, device_name, alarm_type, device_status, arm_status, sensitivity, create_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_point 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where zone_code = #{zoneCode} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by device_code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- ==================== 联动规则相关查询 ==================== --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectLinkageRuleList" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, rule_name, trigger_device_code, trigger_condition, target_device, linkage_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delay_time, rule_status, priority, create_time, update_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from intrusion_linkage_rule 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="ruleName != null and ruleName != ''"> and rule_name like concat('%', #{ruleName}, '%')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="triggerDeviceCode != null and triggerDeviceCode != ''"> and trigger_device_code = #{triggerDeviceCode}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="targetDevice != null and targetDevice != ''"> and target_device = #{targetDevice}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="ruleStatus != null"> and rule_status = #{ruleStatus}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by priority desc, create_time desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectLinkageRuleById" parameterType="Long" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, rule_name, trigger_device_code, trigger_condition, target_device, linkage_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               delay_time, rule_status, priority, create_time, update_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from intrusion_linkage_rule 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <insert id="insertLinkageRule" parameterType="pd" useGeneratedKeys="true" keyProperty="id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        insert into intrusion_linkage_rule (rule_name, trigger_device_code, trigger_condition, target_device, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            linkage_action, delay_time, rule_status, priority, create_time, update_time) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        values (#{ruleName}, #{triggerDeviceCode}, #{triggerCondition}, #{targetDevice}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                #{linkageAction}, #{delayTime}, #{ruleStatus}, #{priority}, #{createTime}, #{updateTime}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <update id="updateLinkageRule" parameterType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        update intrusion_linkage_rule 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <trim prefix="SET" suffixOverrides=","> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="ruleName != null and ruleName != ''">rule_name = #{ruleName},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="triggerDeviceCode != null and triggerDeviceCode != ''">trigger_device_code = #{triggerDeviceCode},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="triggerCondition != null and triggerCondition != ''">trigger_condition = #{triggerCondition},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="targetDevice != null and targetDevice != ''">target_device = #{targetDevice},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="linkageAction != null and linkageAction != ''">linkage_action = #{linkageAction},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="delayTime != null">delay_time = #{delayTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="ruleStatus != null">rule_status = #{ruleStatus},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="priority != null">priority = #{priority},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="updateTime != null">update_time = #{updateTime},</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </trim> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <delete id="deleteLinkageRuleById" parameterType="Long"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        delete from intrusion_linkage_rule where id = #{id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </delete> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 联动执行记录查询 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectLinkageRecordList" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select r.id, r.rule_id, r.trigger_device, r.target_device, r.linkage_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        r.execute_time, r.execute_result, r.execute_detail, r.create_time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        l.rule_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from intrusion_linkage_record r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        left join intrusion_linkage_rule l on r.rule_id = l.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="triggerDevice != null and triggerDevice != ''"> and r.trigger_device = #{triggerDevice}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="targetDevice != null and targetDevice != ''"> and r.target_device = #{targetDevice}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="executeResult != null and executeResult != ''"> and r.execute_result = #{executeResult}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="beginTime != null and beginTime != ''"> and date_format(r.execute_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="endTime != null and endTime != ''"> and date_format(r.execute_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by r.execute_time desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <insert id="insertLinkageRecord" parameterType="pd" useGeneratedKeys="true" keyProperty="id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        insert into intrusion_linkage_record (rule_id, trigger_device, target_device, linkage_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                              execute_time, execute_result, execute_detail, create_time) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        values (#{ruleId}, #{triggerDevice}, #{targetDevice}, #{linkageAction}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                #{executeTime}, #{executeResult}, #{executeDetail}, #{createTime}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- ==================== 统计查询 ==================== --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectAlarmStatistics" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 今日报警数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coalesce(sum(case when date(alarm_time) = curdate() then 1 else 0 end), 0) as todayAlarms, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 未处理报警数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coalesce(sum(case when handle_status = 0 then 1 else 0 end), 0) as unhandledAlarms, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 在线设备数(从报警点表查询) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (select count(*) from alarm_point where device_status = 1) as onlineDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 总设备数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (select count(*) from alarm_point) as totalDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 布防防区数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (select count(*) from alarm_zone where zone_status = 1) as armedZones, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 总防区数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (select count(*) from alarm_zone) as totalZones 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectRealTimeStatus" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 在线设备统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when device_status = 1 then 1 end) as onlineDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when device_status = 0 then 1 end) as offlineDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when device_status = 2 then 1 end) as alarmDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when device_status = 3 then 1 end) as faultDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 布防状态统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when arm_status = 1 then 1 end) as armedDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when arm_status = 0 then 1 end) as disarmedDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            -- 各类型设备统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when alarm_type = 'infrared' then 1 end) as infraredDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when alarm_type = 'door_magnetic' then 1 end) as doorMagneticDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when alarm_type = 'glass_break' then 1 end) as glassBreakDevices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count(case when alarm_type = 'vibration' then 1 end) as vibrationDevices 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_point 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectAlarmTrend" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        date_format(alarm_time, '%Y-%m-%d') as alarmDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        count(*) as alarmCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        count(case when alarm_level = 1 then 1 end) as lowLevelCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        count(case when alarm_level = 2 then 1 end) as mediumLevelCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        count(case when alarm_level = 3 then 1 end) as highLevelCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        count(case when alarm_level = 4 then 1 end) as emergencyLevelCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        count(case when handle_status = 2 then 1 end) as handledCount 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from alarm_record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="beginTime != null and beginTime != ''"> and date_format(alarm_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="endTime != null and endTime != ''"> and date_format(alarm_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        group by date_format(alarm_time, '%Y-%m-%d') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by alarmDate desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        limit 30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- ==================== 维护记录相关查询 ==================== --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="selectMaintenanceRecordList" parameterType="pd" resultType="pd"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        select id, device_code, device_name, maintenance_type, maintenance_content, maintenance_user, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        maintenance_time, maintenance_result, next_maintenance_time, create_user, create_time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from maintenance_record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <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="maintenanceType != null and maintenanceType != ''"> and maintenance_type = #{maintenanceType}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="maintenanceUser != null and maintenanceUser != ''"> and maintenance_user = #{maintenanceUser}</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="beginTime != null and beginTime != ''"> and date_format(maintenance_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="endTime != null and endTime != ''"> and date_format(maintenance_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order by maintenance_time desc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <insert id="insertMaintenanceRecord" parameterType="pd" useGeneratedKeys="true" keyProperty="id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        insert into maintenance_record (device_code, device_name, maintenance_type, maintenance_content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        maintenance_user, maintenance_time, maintenance_result, next_maintenance_time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        create_user, create_time) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        values (#{deviceCode}, #{deviceName}, #{maintenanceType}, #{maintenanceContent}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                #{maintenanceUser}, #{maintenanceTime}, #{maintenanceResult}, #{nextMaintenanceTime}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                #{createUser}, #{createTime}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</mapper> 
			 |