xiangpei
2024-08-05 2a57a16c9b54e23050a4fa534abb5ebbb6e846a8
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -37,27 +37,27 @@
        <result property="hybm"    column="hybm"    />
        <result property="lxbm"    column="lxbm"    />
        <result property="reason"    column="reason"    />
        <result property="defaultOrder"    column="default_order"    />
        <result property="recovery"    column="recovery"    />
        <result property="recoveryTime"    column="recovery_time"    />
        <result property="deptId"    column="dept_id"    />
    </resultMap>
    <sql id="selectTMonitorVo">
        select id, serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, 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, reason, default_order,recovery,recovery_time,dept_id from t_monitor
        select id, serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, 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 from t_monitor
    </sql>
    <select id="selectTMonitorList" resultType="com.ycl.platform.domain.vo.TMonitorVO">
        select id, serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, 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, reason, default_order,recovery,recovery_time,sd.dept_name from t_monitor m
        left join sys_dept sd on m.dept_id = sd.dept_id
        select m.id, m.serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, 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_name 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>
            <if test="serialNumber != null  and serialNumber != ''"> and serial_number = #{serialNumber}</if>
            <if test="serialNumber != null  and serialNumber != ''"> and m.serial_number = #{serialNumber}</if>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
            <if test="siteType != null "> and site_type = #{siteType}</if>
            <if test="macAddr != null  and macAddr != ''"> and mac_addr = #{macAddr}</if>
            <if test="ip != null  and ip != ''"> and ip = #{ip}</if>
            <if test="cameraFunType != null  and cameraFunType != ''"> and camera_fun_type = #{cameraFunType}</if>
            <if test="cameraFunType != null  and cameraFunType != ''"> and camera_fun_type like concat('%', #{cameraFunType}, '%')</if>
            <if test="longitude != null  and longitude != ''"> and longitude = #{longitude}</if>
            <if test="latitude != null  and latitude != ''"> and latitude = #{latitude}</if>
            <if test="cameraCaptureArea != null  and cameraCaptureArea != ''"> and camera_capture_area = #{cameraCaptureArea}</if>
@@ -82,12 +82,9 @@
            <if test="cameraDept != null  and cameraDept != ''"> and camera_dept = #{cameraDept}</if>
            <if test="hybm != null  and hybm != ''"> and hybm = #{hybm}</if>
            <if test="lxbm != null "> and lxbm = #{lxbm}</if>
            <if test="reason != null  and reason != ''"> and reason = #{reason}</if>
            <if test="defaultOrder != null "> and default_order = #{defaultOrder}</if>
            <if test="recovery != null "> and recovery = #{recovery}</if>
            <if test="recoveryTime != null "> and recovery_time = #{recoveryTime}</if>
            <if test="deptId != null "> and dept_id = #{deptId}</if>
            <if test="recovery != null "> and p.recovery = #{recovery}</if>
        </where>
        ${params.dataScope}
    </select>
    <select id="selectTMonitorById" parameterType="Long" resultMap="TMonitorResult">
@@ -128,11 +125,6 @@
            <if test="cameraDept != null">camera_dept,</if>
            <if test="hybm != null">hybm,</if>
            <if test="lxbm != null">lxbm,</if>
            <if test="reason != null">reason,</if>
            <if test="defaultOrder != null">default_order,</if>
            <if test="recovery != null">recovery,</if>
            <if test="recoveryTime != null">recovery_time,</if>
            <if test="deptId != null">dept_id,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if>
@@ -165,11 +157,6 @@
            <if test="cameraDept != null">#{cameraDept},</if>
            <if test="hybm != null">#{hybm},</if>
            <if test="lxbm != null">#{lxbm},</if>
            <if test="reason != null">#{reason},</if>
            <if test="defaultOrder != null">#{defaultOrder},</if>
            <if test="recovery != null">#{recovery},</if>
            <if test="recoveryTime != null">#{recoveryTime},</if>
            <if test="deptId != null">#{deptId},</if>
         </trim>
    </insert>
@@ -206,11 +193,6 @@
            <if test="cameraDept != null">camera_dept = #{cameraDept},</if>
            <if test="hybm != null">hybm = #{hybm},</if>
            <if test="lxbm != null">lxbm = #{lxbm},</if>
            <if test="reason != null">reason = #{reason},</if>
            <if test="defaultOrder != null">default_order = #{defaultOrder},</if>
            <if test="recovery != null">recovery = #{defaultOrder},</if>
            <if test="recoveryTime != null">recovery_time = #{recoveryTime},</if>
            <if test="deptId != null">dept_id = #{deptId},</if>
        </trim>
        where id = #{id}
    </update>
@@ -225,4 +207,59 @@
            #{id}
        </foreach>
    </delete>
    <select id="getVideoCount" resultType="java.util.Map">
        SELECT count(*)                                                          AS totalPosts,
               IFNULL(SUM(IF(on_state = 1, 1, 0)), 0)                            AS totalMembers,
               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">
        <![CDATA[
        SELECT count(*)                                                          AS totalPosts,
               IFNULL(SUM(IF(on_state = 1, 1, 0)), 0)                            AS totalMembers,
               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 t
        LEFT JOIN t_yw_point p ON t.serial_number = p.serial_number
        WHERE p.recovery = 1 OR TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <= #{time}
        ]]>
    </select>
    <select id="selectRecoveryMonitor" resultType="com.ycl.platform.domain.vo.TMonitorVO">
        <![CDATA[
        SELECT t.id, p.serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, 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
        FROM t_monitor t
        LEFT JOIN t_yw_point p ON t.serial_number = p.serial_number
        WHERE TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <= #{time}
        ]]>
    </select>
    <select id="home" resultType="java.util.Map">
        SELECT
            u.unit_name AS name,
            CONCAT(MONTH(w.create_time), '月') AS months,
            COUNT(w.id) AS num1,
            COUNT(m.id) - COUNT(w.id) AS num2
        FROM
            t_monitor m
                LEFT JOIN t_yw_point p ON m.serial_number = p.serial_number
                LEFT JOIN t_yw_unit u ON p.unit_id = u.id
                LEFT JOIN t_work_order w ON p.id = w.point_id
        WHERE u.id = #{unitId} AND MONTH(w.create_time) IS NOT NULL
          <if test="dateRange != null and dateRange.size > 0">
            AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN #{dateRange[0]} AND #{dateRange[1]}
          </if>
        GROUP BY months
        ORDER BY months
    </select>
</mapper>