吉安感知网项目-后端
rain
2026-01-13 f0ad850a7a962dcf53c6c88e31de4bc2b1e20457
设备和区域场景list 过滤时增加id返回已绑定的子数据
12 files modified
139 ■■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwAreaDivideController.java 6 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseSceneController.java 6 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.xml 32 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneMapper.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneMapper.xml 26 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwDefenseSceneService.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/controller/FwDeviceController.java 7 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.java 3 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml 40 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java 3 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwAreaDivideController.java
@@ -86,11 +86,11 @@
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "列表", notes = "传入filterSelected或id")
    @ApiOperation(value = "列表", notes = "传入filterSelected或sceneId")
    public R<List<FwAreaDivideVO>> list(
        @ApiParam(value = "是否过滤已被选择的数据(1过滤 0不过滤)") @RequestParam(required = false) Integer filterSelected,
        @ApiParam(value = "场景id") @RequestParam(required = false) Long id) {
        List<FwAreaDivideVO> list = fwAreaDivideService.selectFwAreaDivideList(filterSelected, id);
        @ApiParam(value = "场景id") @RequestParam(required = false) Long sceneId) {
        List<FwAreaDivideVO> list = fwAreaDivideService.selectFwAreaDivideList(filterSelected, sceneId);
        return R.data(list);
    }
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseSceneController.java
@@ -77,11 +77,11 @@
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "列表", notes = "传入filterSelected或id")
    @ApiOperation(value = "列表", notes = "传入filterSelected或zoneId")
    public R<List<FwDefenseSceneVO>> list(
        @ApiParam(value = "是否过滤已被选择的数据(1过滤 0不过滤)") @RequestParam(required = false) Integer filterSelected,
        @ApiParam(value = "区域id") @RequestParam(required = false) Long id) {
        List<FwDefenseSceneVO> list = fwDefenseSceneService.selectFwDefenseSceneList(filterSelected, id);
        @ApiParam(value = "防区id") @RequestParam(required = false) Long zoneId) {
        List<FwDefenseSceneVO> list = fwDefenseSceneService.selectFwDefenseSceneList(filterSelected, zoneId);
        return R.data(list);
    }
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.xml
@@ -156,29 +156,29 @@
        left join ja_fw_police_station ps on ps.id = ad.police_station_id and ps.is_deleted = 0
        <where>
            ad.is_deleted = 0
            <choose>
                <when test="sceneId != null">
                    and exists (
            <if test="filterSelected != null and filterSelected == 1">
                and (
                    not exists (
                        select 1
                        from ja_fw_defense_scene ds
                        where ds.is_deleted = 0
                          and ds.id = #{sceneId}
                          and ds.area_divide_ids is not null
                          and ds.area_divide_ids != ''
                          and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', ''))
                    )
                </when>
                <when test="filterSelected != null and filterSelected == 1">
                    and not exists (
                        select 1
                        from ja_fw_defense_scene ds
                        where ds.is_deleted = 0
                          and ds.area_divide_ids is not null
                          and ds.area_divide_ids != ''
                          and find_in_set(ad.id, ds.area_divide_ids)
                    )
                </when>
            </choose>
                    <if test="sceneId != null">
                        or exists (
                            select 1
                            from ja_fw_defense_scene ds
                            where ds.is_deleted = 0
                              and ds.id = #{sceneId}
                              and ds.area_divide_ids is not null
                              and ds.area_divide_ids != ''
                              and find_in_set(ad.id, replace(ds.area_divide_ids, ' ', ''))
                        )
                    </if>
                )
            </if>
        </where>
    </select>
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneMapper.java
@@ -46,10 +46,10 @@
     * 列表
     *
     * @param filterSelected
     * @param areaId
     * @param zoneId
     * @return
     */
    List<FwDefenseSceneVO> selectFwDefenseSceneList(@Param("filterSelected") Integer filterSelected, @Param("areaId") Long areaId);
    List<FwDefenseSceneVO> selectFwDefenseSceneList(@Param("filterSelected") Integer filterSelected, @Param("zoneId") Long zoneId);
    /**
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneMapper.xml
@@ -87,14 +87,9 @@
        select ds.* from ja_fw_defense_scene ds
        <where>
            ds.is_deleted = 0
            <choose>
                <when test="areaId != null">
                    and ds.area_divide_ids is not null
                    and ds.area_divide_ids != ''
                    and find_in_set(#{areaId}, replace(ds.area_divide_ids, ' ', ''))
                </when>
                <when test="filterSelected != null and filterSelected == 1">
                    and not exists (
            <if test="filterSelected != null and filterSelected == 1">
                and (
                    not exists (
                        select 1
                        from ja_fw_defense_zone dz
                        where dz.is_deleted = 0
@@ -102,8 +97,19 @@
                          and dz.defense_scene_ids != ''
                          and find_in_set(ds.id, dz.defense_scene_ids)
                    )
                </when>
            </choose>
                    <if test="zoneId != null">
                        or exists (
                            select 1
                            from ja_fw_defense_zone dz
                            where dz.is_deleted = 0
                              and dz.id = #{zoneId}
                              and dz.defense_scene_ids is not null
                              and dz.defense_scene_ids != ''
                              and find_in_set(ds.id, dz.defense_scene_ids)
                        )
                    </if>
                )
            </if>
        </where>
    </select>
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwDefenseSceneService.java
@@ -44,10 +44,10 @@
     * 列表
     *
     * @param filterSelected
     * @param areaId
     * @param zoneId
     * @return
     */
    List<FwDefenseSceneVO> selectFwDefenseSceneList(Integer filterSelected, Long areaId);
    List<FwDefenseSceneVO> selectFwDefenseSceneList(Integer filterSelected, Long zoneId);
    /**
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
@@ -134,8 +134,8 @@
    }
    @Override
    public List<FwDefenseSceneVO> selectFwDefenseSceneList(Integer filterSelected, Long areaId) {
        return baseMapper.selectFwDefenseSceneList(filterSelected, areaId);
    public List<FwDefenseSceneVO> selectFwDefenseSceneList(Integer filterSelected, Long zoneId) {
        return baseMapper.selectFwDefenseSceneList(filterSelected, zoneId);
    }
    private List<Long> parseIdList(String ids) {
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/controller/FwDeviceController.java
@@ -85,9 +85,10 @@
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "列表", notes = "仅传入isAreaSelect")
    public R<List<FwDeviceVO>> list(@RequestParam(value = "isAreaSelect", required = false) Integer isAreaSelect) {
        List<FwDeviceEntity> list = fwDeviceService.selectFwDeviceList(isAreaSelect);
    @ApiOperation(value = "列表", notes = "传入isAreaSelect和区域id")
    public R<List<FwDeviceVO>> list(@RequestParam(value = "isAreaSelect", required = false) Integer isAreaSelect,
                                    @RequestParam(value = "areaId", required = false) Long areaId) {
        List<FwDeviceEntity> list = fwDeviceService.selectFwDeviceList(isAreaSelect, areaId);
        FwDeviceWrapper wrapper = FwDeviceWrapper.build();
        return R.data(list.stream().map(wrapper::entityVO).collect(Collectors.toList()));
    }
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.java
@@ -50,9 +50,10 @@
     * 列表查询
     *
     * @param isAreaSelect
     * @param areaId
     * @return
     */
    List<FwDeviceEntity> selectFwDeviceList(@Param("isAreaSelect") Integer isAreaSelect);
    List<FwDeviceEntity> selectFwDeviceList(@Param("isAreaSelect") Integer isAreaSelect, @Param("areaId") Long areaId);
    /**
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml
@@ -82,13 +82,39 @@
        <where>
            is_deleted = 0
            <if test="isAreaSelect != null and isAreaSelect == 1">
                and not exists (
                    select 1
                    from ja_fw_area_divide ad
                    where ad.is_deleted = 0
                    and ad.device_ids is not null
                    and ad.device_ids != ''
                    and find_in_set(ja_fw_device.id, ad.device_ids)
                and (
                    <choose>
                        <when test="areaId != null">
                            exists (
                                select 1
                                from ja_fw_area_divide ad
                                where ad.is_deleted = 0
                                and ad.id = #{areaId}
                                and ad.device_ids is not null
                                and ad.device_ids != ''
                                and find_in_set(ja_fw_device.id, ad.device_ids)
                            )
                            or not exists (
                                select 1
                                from ja_fw_area_divide ad
                                where ad.is_deleted = 0
                                and ad.device_ids is not null
                                and ad.device_ids != ''
                                and find_in_set(ja_fw_device.id, ad.device_ids)
                                and ad.id != #{areaId}
                            )
                        </when>
                        <otherwise>
                            not exists (
                                select 1
                                from ja_fw_area_divide ad
                                where ad.is_deleted = 0
                                and ad.device_ids is not null
                                and ad.device_ids != ''
                                and find_in_set(ja_fw_device.id, ad.device_ids)
                            )
                        </otherwise>
                    </choose>
                )
            </if>
        </where>
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java
@@ -48,9 +48,10 @@
     * 列表查询
     *
     * @param isAreaSelect
     * @param areaId
     * @return
     */
    List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect);
    List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId);
    /**
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java
@@ -46,8 +46,8 @@
    }
    @Override
    public List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect) {
        return baseMapper.selectFwDeviceList(isAreaSelect);
    public List<FwDeviceEntity> selectFwDeviceList(Integer isAreaSelect, Long areaId) {
        return baseMapper.selectFwDeviceList(isAreaSelect, areaId);
    }