From 55bfebcee6b804faaa65d41105d4333a4117aab5 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期五, 19 七月 2024 16:39:18 +0800 Subject: [PATCH] 雷达查询加入自定义权限修改提交 --- ard-work/src/main/java/com/ruoyi/device/radar/service/impl/ArdEquipRadarServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 87 insertions(+), 4 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/radar/service/impl/ArdEquipRadarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/radar/service/impl/ArdEquipRadarServiceImpl.java index 250264f..165eb7d 100644 --- a/ard-work/src/main/java/com/ruoyi/device/radar/service/impl/ArdEquipRadarServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/device/radar/service/impl/ArdEquipRadarServiceImpl.java @@ -1,9 +1,6 @@ package com.ruoyi.device.radar.service.impl; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.entity.SysDept; @@ -132,6 +129,28 @@ return map; } + @Override + public List<Map<String, Object>> getChildDeptAndRadarOwn(Boolean disabled) { + Long deptId = SecurityUtils.getDeptId(); + SysDept sysDept = sysDeptMapper.selectDeptById(deptId); + List<Long> ownDeptIdList = sysDeptMapper.selectRoleDeptIdByUsersId(SecurityUtils.getUserId());//鑷畾涔夋潈闄愪富閿煡璇� + ownDeptIdList.remove(SecurityUtils.getDeptId());//鑻ヨ嚜瀹氫箟鏉冮檺鍖呭惈鏈骇鏉冮檺锛屽垯绉婚櫎 + Map<String, Object> map = fetchChildDepartments(sysDept, disabled, ownDeptIdList);//鏌ヨ鏈潈闄愬強涓嬪睘鏉冮檺璁惧骞跺湪鑷畾涔夋潈闄愪腑绉婚櫎涓嬪睘閮ㄩ棬涓婚敭 + Set<Long> pIdSet = new HashSet();//鑷畾涔夋潈闄愪富閿殑鏈�楂樻潈闄� + for(Long deptIdn : ownDeptIdList){ + List<SysDept> pSysDeptList = sysDeptMapper.getParentsDeptListByDeptId(deptIdn); + pIdSet.add(pSysDeptList.get(pSysDeptList.size() - 1).getDeptId());//鑾峰彇 + } + List<Map<String, Object>> result = new ArrayList(); + result.add(map); + for(Long pId : pIdSet){ + SysDept pSysDept = sysDeptMapper.selectDeptById(pId); + Map<String, Object> mapO = fetchChildDepartments(ownDeptIdList, pSysDept, disabled); + result.add(mapO); + } + return result; + } + /** * @鎻忚堪 閫掑綊鏌ヨ * @鍙傛暟 [sysDept] @@ -168,4 +187,68 @@ } + /** + * zns + * + * */ + public Map<String, Object> fetchChildDepartments(SysDept sysDept, Boolean disabled, List<Long> ownDeptIdList) { + 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()); + for(SysDept sysDeptC : sysDepts){//鑻ヨ嚜瀹氫箟鏉冮檺鍖呭惈涓嬬骇鏉冮檺锛屽垯绉婚櫎 + if(ownDeptIdList.contains(sysDeptC.getDeptId())){ + ownDeptIdList.remove(sysDeptC.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; + } + + public Map<String, Object> fetchChildDepartments(List<Long> ownDeptIdList, 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.selectNextChildrenDeptByIdAndInList(sysDept.getDeptId(),ownDeptIdList); + 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); + Map<String, Object> map1 = fetchChildDepartments(ownDeptIdList,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; + } + } -- Gitblit v1.9.3