fuliqi
2024-08-21 31d3591b34d4f26ad2ab207ca3044048d9adb9df
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -89,12 +89,12 @@
    <select id="selectTMonitorList" resultType="com.ycl.platform.domain.vo.TMonitorVO">
        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_id, 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
        camera_capture_area, on_state, civil_code, d.dept_id, d.dept_name, d.area, p.province_tag,
        IF(COUNT(w.id) OVER() > 0, '是', '否') AS error, u.unit_name from t_monitor m
        left join t_yw_point p on m.serial_number = p.serial_number and p.deleted = 0
        left join sys_dept d on p.dept_id = d.dept_id and d.del_flag = 0
        left join t_work_order w on m.serial_number = w.serial_number and w.deleted = 0
        left join t_yw_unit u on p.unit_id = u.id and u.deleted = 0
        <where>
            <if test="serialNumber != null  and serialNumber != ''">and m.serial_number = #{serialNumber}</if>
            <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
@@ -133,6 +133,16 @@
            <if test="recovery != null ">and p.recovery = #{recovery}</if>
        </where>
        ${params.dataScope}
    </select>
    <select id="selectMonitorVOList" resultType="com.ycl.platform.domain.vo.TMonitorVO">
        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_id, 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
    </select>
    <select id="selectTMonitorById" parameterType="Long" resultType="com.ycl.platform.domain.vo.TMonitorVO">
@@ -444,4 +454,106 @@
            ) c ON a.area = c.area
    </select>
    <select id="assetManagement" resultMap="dyMap">
        SELECT
            tm.id,
            tm.serial_number,
               tm.name,
               tm.site_type,
               tm.mac_addr,
               tm.ip,
               tm.camera_fun_type,
               tm.longitude,
               tm.latitude,
               tm.camera_capture_area,
               tm.on_state,
               tm.civil_code,
               tm.integrated_device,
               tm.camera_brand,
               tm.address,
               tm.net_working,
               tm.public_security,
               tm.installed_time,
               tm.management_unit,
               tm.mu_contact_info,
               tm.storage_days,
               tm.monitor_azimuth,
               tm.scene_photo_addr,
               tm.model,
               tm.site_vulgo,
               tm.camera_type,
               tm.camera_light_type,
               tm.encoded_format,
               tm.camera_dept,
               tm.hybm,
               tm.lxbm,
               't_monitor' as tableName,
               #{query.keyword} as keyword
        FROM
            t_monitor tm
        <where>
            <if test="query.keyword != null and query.keyword != ''">
                AND tm.name like concat('%', #{query.keyword}, '%')
            </if>
        </where>
    </select>
    <select id="getDyColumns" resultMap="dynamicColumnMap">
        SELECT
               *
        FROM
             t_dynamic_column_value dcv
                 LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
        WHERE
            dcv.ref_id = #{id}
            <if test="keyword != null and keyword != ''">
                and dcv.column_value like concat('%', #{keyword}, '%')
            </if>
    </select>
    <resultMap id="dyMap" type="com.ycl.platform.domain.vo.TMonitorVO">
        <id column="id" property="id"/>
        <result column="serial_number" property="serialNumber"/>
        <result column="name" property="name"/>
        <result column="site_type" property="siteType"/>
        <result column="mac_addr" property="macAddr"/>
        <result column="ip" property="ip"/>
        <result column="longitude" property="longitude"/>
        <result column="latitude" property="latitude"/>
        <result column="camera_capture_area" property="cameraCaptureArea"/>
        <result column="camera_fun_type" property="cameraFunType"/>
        <result column="on_state" property="onState"/>
        <result column="civil_code" property="civilCode"/>
        <result column="integrated_device" property="integratedDevice"/>
        <result column="camera_brand" property="cameraBrand"/>
        <result column="address" property="address"/>
        <result column="public_security" property="publicSecurity"/>
        <result column="installed_time" property="installedTime"/>
        <result column="management_unit" property="managementUnit"/>
        <result column="mu_contact_info" property="muContactInfo"/>
        <result column="storage_days" property="storageDays"/>
        <result column="monitor_azimuth" property="monitorAzimuth"/>
        <result column="scene_photo_addr" property="scenePhotoAddr"/>
        <result column="model" property="model"/>
        <result column="site_vulgo" property="siteVulgo"/>
        <result column="camera_type" property="cameraType"/>
        <result column="camera_light_type" property="cameraLightType"/>
        <result column="encoded_format" property="encodedFormat"/>
        <result column="camera_dept" property="cameraDept"/>
        <result column="hybm" property="hybm"/>
        <result column="lxbm" property="lxbm"/>
        <collection property="dynamicColumnList" select="getDyColumns" column="{id=id,tableName=tableName,keyword=keyword}" ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
    </resultMap>
    <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
        <result column="prop_name" property="propName"/>
        <result column="label_value" property="labelValue"/>
        <result column="column_value" property="columnValue"/>
    </resultMap>
    <delete id="deleteAll">
        delete from t_monitor
    </delete>
</mapper>