吉安感知网项目-后端
rain
2026-02-09 c1047c270b1340f9bba7d154aef1a24698c33d1e
驾驶舱车场景管理优化,新增场景类型,区域数量和设备数量

Signed-off-by: rain <1679827795@qq.com>
2 files modified
36 ■■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml 21 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwDefenseSceneManageVO.java 15 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml
@@ -15,6 +15,9 @@
        <result column="effective_date_start" property="effectiveDateStart"/>
        <result column="effective_date_end" property="effectiveDateEnd"/>
        <result column="area_code" property="areaCode"/>
        <result column="scene_type" property="sceneType"/>
        <result column="area_count" property="areaCount"/>
        <result column="device_count" property="deviceCount"/>
    </resultMap>
@@ -45,7 +48,23 @@
    <select id="selectFwDefenseSceneManageList" resultMap="fwDefenseSceneManageResultMap">
        select
            dsm.*,
            ds.scene_name as defense_scene_name
        ds.scene_name as defense_scene_name,
        ds.scene_type as scene_type,
        case
        when ds.area_divide_ids is null or ds.area_divide_ids = '' then 0
        else length(ds.area_divide_ids) - length(replace(ds.area_divide_ids, ',', '')) + 1
        end as area_count,
        (
        select ifnull(sum(
        case
        when ad.device_ids is null or ad.device_ids = '' then 0
        else length(ad.device_ids) - length(replace(ad.device_ids, ',', '')) + 1
        end
        ), 0)
        from ja_fw_area_divide ad
        where ad.is_deleted = 0
        and find_in_set(ad.id, ds.area_divide_ids) > 0
        ) as device_count
        from ja_fw_defense_scene_manage dsm
        left join ja_fw_defense_scene ds on ds.id = dsm.defense_scene_id and ds.is_deleted = 0
        <where>
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwDefenseSceneManageVO.java
@@ -53,6 +53,11 @@
    @ApiModelProperty(value = "场景配置名称")
    private String defenseSceneName;
    /**
     * 场景类型:核心区/学校等
     */
    @ApiModelProperty(value = "场景类型:核心区/学校等")
    private String sceneType;
    /**
     * 场景名称
     */
    @ApiModelProperty(value = "场景名称")
@@ -92,5 +97,15 @@
     */
    @ApiModelProperty(value = "区域编码")
    private String areaCode;
    /**
     * 区域数量
     */
    @ApiModelProperty(value = "区域数量")
    private Integer areaCount;
    /**
     * 设备数量
     */
    @ApiModelProperty(value = "设备数量")
    private Integer deviceCount;
}