‘liusuyi’
2023-11-10 fac4425e76ee53a0a77373d87cb0563387364f0e
增加递归获取部门和雷达组织
已修改5个文件
101 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/device/radar/controller/ArdEquipRadarController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/radar/mapper/ArdEquipRadarMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/radar/service/IArdEquipRadarService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/radar/service/impl/ArdEquipRadarServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/radar/controller/ArdEquipRadarController.java
@@ -1,6 +1,7 @@
package com.ruoyi.device.radar.controller;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@@ -127,4 +128,11 @@
        return radarClient.guideInfoBack(guideInfo);
    }
    @GetMapping("/getDeptAndRadar")
    @ApiOperation("获取部门和雷达")
    public AjaxResult getDeptAndCamera() {
        Map deptAndCamera = ardEquipRadarService.getChildDeptAndRadar(true);
        return AjaxResult.success(deptAndCamera);
    }
}
ard-work/src/main/java/com/ruoyi/device/radar/mapper/ArdEquipRadarMapper.java
@@ -66,4 +66,13 @@
     * 通过雷达id找到关联塔上的大光电
     */
    ArdCameras getCameraByRadar(String radarId);
    /**
     * 根据部门ID查询挂载的雷达
     *
     * @param deptId 部门ID
     * @return 部门列表
     */
    public List<ArdEquipRadar> selectArdRadarsByDeptId(Long deptId);
}
ard-work/src/main/java/com/ruoyi/device/radar/service/IArdEquipRadarService.java
@@ -1,6 +1,8 @@
package com.ruoyi.device.radar.service;
import java.util.List;
import java.util.Map;
import com.ruoyi.device.radar.domain.ArdEquipRadar;
/**
@@ -58,4 +60,13 @@
     * @return 结果
     */
    public int deleteArdEquipRadarById(String id);
    /**
     * @描述 获取本部门以下的所有雷达和部门
     * @参数 []
     * @返回值 java.util.Map
     * @创建人 刘苏义
     * @创建时间 2023/6/2 10:58
     * @修改人和其它信息
     */
    public Map getChildDeptAndRadar(Boolean disabled);
}
ard-work/src/main/java/com/ruoyi/device/radar/service/impl/ArdEquipRadarServiceImpl.java
@@ -1,16 +1,26 @@
package com.ruoyi.device.radar.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.channel.domain.ArdChannel;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.utils.tools.ArdTool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper;
import com.ruoyi.device.radar.domain.ArdEquipRadar;
import com.ruoyi.device.radar.service.IArdEquipRadarService;
import javax.annotation.Resource;
/**
 * radarService业务层处理
@@ -21,9 +31,10 @@
@Service
public class ArdEquipRadarServiceImpl implements IArdEquipRadarService 
{
    @Autowired
    @Resource
    private ArdEquipRadarMapper ardEquipRadarMapper;
    @Resource
    private SysDeptMapper sysDeptMapper;
    /**
     * 查询radar
     * 
@@ -102,4 +113,59 @@
    {
        return ardEquipRadarMapper.deleteArdEquipRadarById(id);
    }
    /**
     * @描述 获取本部门以下的所有雷达和部门
     * @参数 []
     * @返回值 java.util.Map
     * @创建人 刘苏义
     * @创建时间 2023/6/2 10:58
     * @修改人和其它信息
     */
    @Override
    public Map getChildDeptAndRadar(Boolean disabled) {
        Long deptId = SecurityUtils.getDeptId();
        SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
        Map<String, Object> map = fetchChildDepartments(sysDept, disabled);
        return map;
    }
    /**
     * @描述 递归查询
     * @参数 [sysDept]
     * @返回值 java.util.Map<java.lang.String, java.lang.Object>
     * @创建人 刘苏义
     * @创建时间 2023/6/2 14:38
     * @修改人和其它信息
     */
    public Map<String, Object> fetchChildDepartments(SysDept sysDept, Boolean disabled) {
        Map<String, Object> map = new HashMap<>();
        map.put("name", sysDept.getDeptName());
        map.put("deptId", sysDept.getDeptId());
        map.put("disabled", disabled);
        List<SysDept> sysDepts = sysDeptMapper.selectNextChildrenDeptById(sysDept.getDeptId());
        List<ArdEquipRadar> ardRadars = ardEquipRadarMapper.selectArdRadarsByDeptId(sysDept.getDeptId());
        List<Object> childList = new ArrayList<>();
        for (SysDept childDept : sysDepts) {
            Map<String, Object> childMap = new HashMap<>();
            childMap.put("name", childDept.getDeptName());
            childMap.put("deptId", childDept.getDeptId());
            childMap.put("disabled", disabled);
            Map<String, Object> map1 = fetchChildDepartments(childDept, disabled);
            childMap.putAll(map1);
            childList.add(childMap);
        }
        if (ardRadars.size() > 0) {
            for (ArdEquipRadar radar : ardRadars) {
                Map<String, Object> cameraMap = ArdTool.convertEntityToMap(radar);
                childList.add(cameraMap);
            }
        }
        map.put("children", childList);
        return map;
    }
}
ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml
@@ -201,4 +201,7 @@
        INNER JOIN ard_cameras ac on aer.tower_id=ac.tower_id
        where aer.id=#{radarId} limit 1
    </select>
    <select id="selectArdRadarsByDeptId" parameterType="Long" resultMap="ArdEquipRadarResult">
        select * from ard_equip_radar where dept_id = #{deptId}
    </select>
</mapper>