xiangpei
2024-09-10 96ca0ff98704ac35546a120fea0224ac4373a7ed
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -36,6 +36,7 @@
        <result property="cameraDept" column="camera_dept"/>
        <result property="hybm" column="hybm"/>
        <result property="lxbm" column="lxbm"/>
        <result property="deviceType" column="device_type"/>
    </resultMap>
    <sql id="selectTMonitorVo">
@@ -69,7 +70,8 @@
               encoded_format,
               camera_dept,
               hybm,
               lxbm
               lxbm,
               device_type
        from t_monitor
    </sql>
@@ -84,6 +86,13 @@
        where m.serial_number in
        <foreach collection="list" separator="," item="id" open="(" close=")">
            #{id}
        </foreach>
    </select>
    <select id="selectByNumbers" resultType="com.ycl.platform.domain.entity.TMonitor">
        select * from t_monitor where serial_number in
        <foreach collection="numbers" separator="," open="(" close=")" item="number">
            #{number}
        </foreach>
    </select>
@@ -140,7 +149,7 @@
        camera_capture_area, on_state, civil_code, integrated_device, camera_brand, address, net_working,
        public_security, installed_time, management_unit, mu_contact_info, storage_days
        , monitor_azimuth, scene_photo_addr, model, site_vulgo, camera_type, camera_light_type, encoded_format,
        camera_dept, hybm, lxbm,d.dept_id, d.dept_name from t_monitor m
        camera_dept, hybm, lxbm,d.dept_id, d.dept_name,p.province_tag from t_monitor m
        left join t_yw_point p on m.serial_number = p.serial_number
        left join sys_dept d on p.dept_id = d.dept_id
    </select>
@@ -184,6 +193,7 @@
            <if test="cameraDept != null">camera_dept,</if>
            <if test="hybm != null">hybm,</if>
            <if test="lxbm != null">lxbm,</if>
            <if test="deviceType != null">device_type,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if>
@@ -216,8 +226,16 @@
            <if test="cameraDept != null">#{cameraDept},</if>
            <if test="hybm != null">#{hybm},</if>
            <if test="lxbm != null">#{lxbm},</if>
            <if test="deviceType != null">#{deviceType},</if>
        </trim>
    </insert>
    <update id="batchUpdateDeviceType">
        update t_monitor set device_type = #{deviceType} where serial_number in
        <foreach collection="numbers" separator="," open="(" close=")" item="number">
            #{number}
        </foreach>
    </update>
    <update id="updateTMonitor" parameterType="com.ycl.platform.domain.entity.TMonitor">
        update t_monitor
@@ -254,6 +272,7 @@
            <if test="cameraDept != null">camera_dept = #{cameraDept},</if>
            <if test="hybm != null">hybm = #{hybm},</if>
            <if test="lxbm != null">lxbm = #{lxbm},</if>
            <if test="deviceType != null">device_type = #{deviceType},</if>
        </trim>
        where id = #{id}
    </update>
@@ -281,12 +300,9 @@
        IFNULL(SUM(IF(on_state = 2, 1, 0)), 0) AS postsPercentage,
        IFNULL(ROUND(SUM(IF(on_state = 1, 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage
        FROM t_monitor m
        left join t_yw_point p on m.serial_number = p.serial_number
        left join sys_dept d on p.dept_id = d.dept_id
        <where>
            camera_fun_type like concat('%', #{cameraFunType}, '%')
        </where>
        ${params.dataScope}
    </select>
    <select id="recoveryException" resultType="java.util.Map">
@@ -489,9 +505,13 @@
               #{query.keyword} as keyword
        FROM
            t_monitor tm
                INNER JOIN t_yw_point yp ON yp.serial_number = tm.serial_number
        <where>
            <if test="query.keyword != null and query.keyword != ''">
                AND tm.name like concat('%', #{query.keyword}, '%')
            </if>
            <if test="query.startTIme != null and query.endTime != null">
                AND yp.create_time between #{query.startTime} and #{query.endTime}
            </if>
        </where>
    </select>
@@ -553,4 +573,32 @@
    <delete id="deleteAll">
        delete from t_monitor
    </delete>
    <select id="getGBbyGB" resultType="string">
        SELECT
            DISTINCT serial_number
        FROM
             t_monitor
        WHERE
              serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
    </select>
    <select id="getDistinctIP" resultType="com.ycl.platform.domain.entity.TMonitor">
        SELECT
            DISTINCT ip, serial_number
        FROM
            t_monitor
    </select>
    <update id="updateOnline">
        <foreach collection="onlineList" item="online" separator=";">
            UPDATE
                t_yw_point
            SET
                online = #{online.online},
                update_time = #{online.updateTime}
            WHERE
                EXISTS (SELECT 1 FROM t_monitor WHERE ip = #{online.ip} AND t_monitor.serial_number = t_yw_point.serial_number)
        </foreach>
    </update>
</mapper>