吉安感知网项目-后端
rain
2026-01-29 5e73881ef728238e7f7a3bd5d74cf41f3f6b0923
Merge remote-tracking branch 'origin/master'

# Conflicts:
# drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
4 files modified
103 ■■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwDefenseSceneDTO.java 25 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwDefenseSceneEntity.java 30 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwDefenseSceneVO.java 25 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwDefenseSceneDTO.java
@@ -50,31 +50,6 @@
    @ApiModelProperty(value = "场景类型:核心区/学校等")
    private String sceneType;
    /**
     * 指挥点经度
     */
    @ApiModelProperty(value = "指挥点经度")
    private Double longitude;
    /**
     * 指挥点纬度
     */
    @ApiModelProperty(value = "指挥点纬度")
    private Double latitude;
    /**
     * 防控负责人
     */
    @ApiModelProperty(value = "防控负责人")
    private String defenseLeader;
    /**
     * 防控负责人电话
     */
    @ApiModelProperty(value = "防控负责人电话")
    private String leaderPhone;
    /**
     * 防控面积(m)
     */
    @ApiModelProperty(value = "防控面积(m)")
    private Integer defenseArea;
    /**
     * 设备模式
     */
    @ApiModelProperty(value = "设备模式")
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwDefenseSceneEntity.java
@@ -49,36 +49,6 @@
    @ApiModelProperty(value = "场景类型:核心区/学校等")
    private String sceneType;
    /**
     * 指挥点经度
     */
    @TableField("longitude")
    @ApiModelProperty(value = "指挥点经度")
    private Double longitude;
    /**
     * 指挥点纬度
     */
    @TableField("latitude")
    @ApiModelProperty(value = "指挥点纬度")
    private Double latitude;
    /**
     * 防控负责人
     */
    @TableField("defense_leader")
    @ApiModelProperty(value = "防控负责人")
    private String defenseLeader;
    /**
     * 防控负责人电话
     */
    @TableField("leader_phone")
    @ApiModelProperty(value = "防控负责人电话")
    private String leaderPhone;
    /**
     * 防控面积(m)
     */
    @TableField("defense_area")
    @ApiModelProperty(value = "防控面积(m)")
    private Integer defenseArea;
    /**
     * 设备模式
     */
    @TableField("device_mode")
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
@@ -78,7 +78,6 @@
            areaIdSet.addAll(parseIdList(record.getAreaDivideIds()));
        }
        // 汇总场景关联的区域与设备,便于统计设备数量
        Map<Long, BigDecimal> areaSizeMap = new HashMap<>();
        Map<Long, List<Long>> areaDeviceMap = new HashMap<>();
        Set<Long> deviceIdSet = new HashSet<>();
@@ -97,7 +96,6 @@
        Map<Long, String> deviceTypeMap = new HashMap<>();
        if (!deviceIdSet.isEmpty()) {
            // 批量拉取设备类型,降低循环查询成本
            List<FwDeviceEntity> deviceList = fwDeviceService.listByIds(deviceIdSet);
            for (FwDeviceEntity device : deviceList) {
                if (device == null || device.getId() == null) {
@@ -110,7 +108,6 @@
        for (FwDefenseSceneVO record : records) {
            List<Long> areaIds = parseIdList(record.getAreaDivideIds());
            record.setAreaCount(areaIds.size());
            record.setDefenseArea(sumDefenseArea(areaIds, areaSizeMap));
            Set<Long> deviceIds = new HashSet<>();
            for (Long areaId : areaIds) {
@@ -165,26 +162,6 @@
        }
        return idList;
    }
    private Integer sumDefenseArea(List<Long> areaIds, Map<Long, BigDecimal> areaSizeMap) {
        if (areaIds == null || areaIds.isEmpty()) {
            return 0;
        }
        // 面积按平方米整数返回
        BigDecimal total = BigDecimal.ZERO;
        for (Long areaId : areaIds) {
            BigDecimal areaSize = areaSizeMap.get(areaId);
            if (areaSize != null) {
                total = total.add(areaSize);
            }
        }
        if (BigDecimal.ZERO.compareTo(total) == 0) {
            return 0;
        }
        BigDecimal totalArea = total.multiply(AREA_SIZE_FACTOR);
        return totalArea.setScale(0, RoundingMode.HALF_UP).intValue();
    }
    @Override
    public List<FwDefenseSceneExcel> exportFwDefenseScene(Wrapper<FwDefenseSceneEntity> queryWrapper) {
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwDefenseSceneVO.java
@@ -52,31 +52,6 @@
    @ApiModelProperty(value = "场景类型:核心区/学校等")
    private String sceneType;
    /**
     * 指挥点经度
     */
    @ApiModelProperty(value = "指挥点经度")
    private Double longitude;
    /**
     * 指挥点纬度
     */
    @ApiModelProperty(value = "指挥点纬度")
    private Double latitude;
    /**
     * 防控负责人
     */
    @ApiModelProperty(value = "防控负责人")
    private String defenseLeader;
    /**
     * 防控负责人电话
     */
    @ApiModelProperty(value = "防控负责人电话")
    private String leaderPhone;
    /**
     * 防控面积(m)
     */
    @ApiModelProperty(value = "防控面积(m)")
    private Integer defenseArea;
    /**
     * 设备模式
     */
    @ApiModelProperty(value = "设备模式")