吉安感知网项目-后端
linwei
2026-01-23 fefe259f19a251d90d17d8a42e04f6332a4cad3e
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml
@@ -23,6 +23,8 @@
        <result column="detect_target_cnt" property="detectTargetCnt"/>
        <result column="effective_range_km" property="effectiveRangeKm"/>
        <result column="work_mode" property="workMode"/>
        <result column="latitude" property="latitude"/>
        <result column="longitude" property="longitude"/>
        <result column="area_code" property="areaCode"/>
        <result column="device_sn" property="deviceSn"/>
        <result column="create_user" property="createUser"/>
@@ -76,6 +78,9 @@
                    #{item}
                </foreach>
            </if>
            <if test="param2.status != null">
                and status = #{param2.status}
            </if>
        </where>
    </select>
@@ -119,6 +124,9 @@
                    </choose>
                )
            </if>
            <if test="status != null">
                and status = #{status}
            </if>
        </where>
    </select>
@@ -145,7 +153,7 @@
            ELSE device_type
            END AS split_device_type
            FROM ja_fw_device
            WHERE is_deleted = 0  -- 排除已删除数据
            WHERE is_deleted = 0 and status != 3  -- 排除已删除数据
            UNION ALL  -- 合并拆分的反制部分
@@ -156,8 +164,8 @@
            ELSE device_type
            END AS split_device_type
            FROM ja_fw_device
            WHERE is_deleted = 0
            AND device_type != '3'  -- 避免普通设备重复统计
            WHERE is_deleted = 0 and status != 3
            AND device_type = '3'  -- 避免普通设备重复统计
            ) AS temp
        GROUP BY split_device_type
        ORDER BY split_device_type
@@ -165,7 +173,7 @@
    <!-- 获取设备类型统计数据 -->
    <select id="getDeviceTypeStatistics" resultType="org.sxkj.fw.device.vo.DeviceTypeStatisticsVO">
        SELECT a.device_type,b.dict_value AS device_type_value,count(*) device_count, (SELECT COUNT(*) FROM ja_fw_device) as total_devices
        SELECT a.device_type,b.dict_value AS device_type_value,count(*) device_count, (SELECT COUNT(*) FROM ja_fw_device where is_deleted = 0) as total_devices
        FROM ja_fw_device a
        LEFT JOIN blade_dict_biz b ON (
            a.device_type = b.dict_key
@@ -235,14 +243,31 @@
    <select id="selectCockpitDevicePage" resultType="org.sxkj.fw.device.vo.CockpitFwDeviceVO">
        select
        d.*,
        fts.longitude,
        fts.latitude
            d.*,
            fts.longitude,
            fts.latitude
        from
        ja_fw_device d
        left join ja_fw_task_schedule fts on d.id = fts.device_id
            left join (
                SELECT
                    device_id,
                    longitude,
                    latitude,
                    MAX(create_time) AS create_time
                FROM
                    ja_fw_task_schedule
                WHERE
                    is_deleted = 0
                GROUP BY
                    device_id
            ) fts ON fts.device_id = d.id
        <where>
            d.is_deleted = 0
            and d.status != 3
            and fts.longitude is not null
            and fts.latitude is not null
            and d.longitude is not null
            and d.latitude is not null
            <if test="param2.id != null and param2.id != ''">
                and d.id = #{param2.id}
            </if>