吉安感知网项目-后端
xiebin
2026-01-29 90f14a4ce0100889b29a97017b385694ef3f8f2a
update-区域划分大屏
5 files modified
118 ■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.java 7 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml 24 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwAreaDivideExtService.java 9 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideExtServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java 73 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.java
@@ -34,6 +34,13 @@
public interface FwAreaDivideExtMapper extends BaseMapper<FwAreaDivideExtEntity> {
    /**
     * 根据区域划分ids查询
     * @param areaDivideId 区域划分id
     * @return 区域划分扩展列表
     */
    List<FwAreaDivideExtVO> getByAreaDivideId(Long areaDivideId);
    /**
     * 自定义分页
     *
     * @param page
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml
@@ -12,11 +12,33 @@
        <result column="area_code" property="areaCode"/>
    </resultMap>
    <select id="getByAreaDivideId" resultMap="fwAreaDivideExtResultMap">
        select
            id,
            area_divide_id,
            area_type_key,
            area_type_value,
            case
                when geom is null then null
                when ST_SRID(geom) is null
                    or ST_SRID(geom) = 0 then ST_AsText(geom)
                else concat(ST_AsText(ST_SwapXY(geom)), ' | ', ST_SRID(geom))
                end as geom,
            area_code,
            create_user,
            create_dept,
            create_time,
            update_user,
            update_time,
            status,
            is_deleted
        from ja_fw_area_divide_ext where is_deleted = 0 and area_divide_id = #{areaDivideId}
    </select>
    <select id="selectFwAreaDivideExtPage" resultMap="fwAreaDivideExtResultMap">
        select * from ja_fw_area_divide_ext where is_deleted = 0
    </select>
    <select id="exportFwAreaDivideExt" resultType="org.sxkj.fw.area.excel.FwAreaDivideExtExcel">
        SELECT * FROM ja_fw_area_divide_ext ${ew.customSqlSegment}
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwAreaDivideExtService.java
@@ -31,6 +31,14 @@
 * @since 2026-01-28
 */
public interface IFwAreaDivideExtService extends BaseService<FwAreaDivideExtEntity> {
    /**
     * 根据区域划分ids查询
     * @param areaDivideId 区域划分id
     * @return 区域划分扩展列表
     */
    List<FwAreaDivideExtVO> getByAreaDivideId(Long areaDivideId);
    /**
     * 自定义分页
     *
@@ -39,7 +47,6 @@
     * @return
     */
    IPage<FwAreaDivideExtVO> selectFwAreaDivideExtPage(IPage<FwAreaDivideExtVO> page, FwAreaDivideExtVO fwAreaDivideExt);
    /**
     * 导出数据
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideExtServiceImpl.java
@@ -37,6 +37,11 @@
public class FwAreaDivideExtServiceImpl extends BaseServiceImpl<FwAreaDivideExtMapper, FwAreaDivideExtEntity> implements IFwAreaDivideExtService {
    @Override
    public List<FwAreaDivideExtVO> getByAreaDivideId(Long areaDivideId) {
        return baseMapper.getByAreaDivideId(areaDivideId);
    }
    @Override
    public IPage<FwAreaDivideExtVO> selectFwAreaDivideExtPage(IPage<FwAreaDivideExtVO> page, FwAreaDivideExtVO fwAreaDivideExt) {
        return page.setRecords(baseMapper.selectFwAreaDivideExtPage(page, fwAreaDivideExt));
    }
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
@@ -16,36 +16,30 @@
 */
package org.sxkj.fw.area.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.sxkj.fw.area.dto.FwAreaDivideDTO;
import org.sxkj.fw.area.dto.FwAreaDivideStatisticsDTO;
import org.sxkj.fw.area.entity.FwAreaDivideEntity;
import org.sxkj.fw.area.entity.FwAreaDivideExtEntity;
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwAreaDivideStatisticsVO;
import org.sxkj.fw.area.vo.FwDefenseSceneVO;
import org.sxkj.fw.area.excel.FwAreaDivideExcel;
import org.sxkj.fw.area.mapper.FwAreaDivideMapper;
import org.sxkj.fw.area.service.IFwAreaDivideService;
import org.sxkj.fw.area.service.IFwAreaDivideExtService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import lombok.AllArgsConstructor;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.sxkj.fw.area.service.IFwAreaDivideService;
import org.sxkj.fw.area.vo.FwAreaDivideExtVO;
import org.sxkj.fw.area.vo.FwAreaDivideStatisticsVO;
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwDefenseSceneVO;
import org.sxkj.system.cache.SysCache;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Date;
import java.util.*;
/**
 * 区域划分表 服务实现类
@@ -56,7 +50,7 @@
@Service
@AllArgsConstructor
public class FwAreaDivideServiceImpl extends BaseServiceImpl<FwAreaDivideMapper, FwAreaDivideEntity>
        implements IFwAreaDivideService {
    implements IFwAreaDivideService {
    private final IFwAreaDivideExtService fwAreaDivideExtService;
@@ -64,12 +58,43 @@
    public IPage<FwAreaDivideVO> selectFwAreaDividePage(IPage<FwAreaDivideVO> page, FwAreaDivideDTO fwAreaDivide) {
        List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
        fwAreaDivide.setDeptList(deptList);
        return page.setRecords(baseMapper.selectFwAreaDividePage(page, fwAreaDivide));
        List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDividePage(page, fwAreaDivide);
        // 获取面数据
        if (areaDivideList != null && !areaDivideList.isEmpty()) {
            enrichWithExtensionData(areaDivideList);
        }
        return page.setRecords(areaDivideList);
    }
    @Override
    public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId) {
        return baseMapper.selectFwAreaDivideList(filterSelected, sceneId);
        List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDivideList(filterSelected, sceneId);
        // 获取面数据
        if (areaDivideList != null && !areaDivideList.isEmpty()) {
            enrichWithExtensionData(areaDivideList);
        }
        return areaDivideList;
    }
    /**
     * 为区域划分列表填充扩展表数据
     *
     * @param areaDivideList 区域划分列表
     */
    private void enrichWithExtensionData(List<FwAreaDivideVO> areaDivideList) {
        if (areaDivideList == null || areaDivideList.isEmpty()) {
            return;
        }
        areaDivideList.stream()
            .filter(area -> area.getId() != null) // 过滤掉id为空的对象
            .forEach(area -> {
                List<FwAreaDivideExtVO> extList = fwAreaDivideExtService.getByAreaDivideId(area.getId());
                area.setFwAreaDivideExtList(extList);
            });
    }
    @Override
@@ -174,7 +199,7 @@
    @Override
    public IPage<FwAreaDivideStatisticsVO> selectFwAreaDivideStatisticsPage(IPage<FwAreaDivideStatisticsVO> page,
            FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
                                                                            FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
        List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
        fwAreaDivideStatistics.setDeptList(deptList);
        return page.setRecords(baseMapper.selectFwAreaDivideStatisticsPage(page, fwAreaDivideStatistics));
@@ -182,7 +207,7 @@
    @Override
    public FwAreaDivideStatisticsVO selectFwAreaDivideStatisticsDetail(
            FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
        FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
        return baseMapper.selectFwAreaDivideStatisticsDetail(fwAreaDivideStatistics);
    }