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 | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 154 insertions(+), 3 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 0e1a2f7..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,15 +1,23 @@ package com.ruoyi.device.radar.service.impl; -import java.util.List; +import java.util.*; 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涓氬姟灞傚鐞� @@ -20,9 +28,10 @@ @Service public class ArdEquipRadarServiceImpl implements IArdEquipRadarService { - @Autowired + @Resource private ArdEquipRadarMapper ardEquipRadarMapper; - + @Resource + private SysDeptMapper sysDeptMapper; /** * 鏌ヨradar * @@ -57,6 +66,7 @@ @Override public int insertArdEquipRadar(ArdEquipRadar ardEquipRadar) { + ardEquipRadar.setId(IdUtils.simpleUUID()); ardEquipRadar.setCreateTime(DateUtils.getNowDate()); ardEquipRadar.setCreateBy(SecurityUtils.getUsername()); ardEquipRadar.setUserId(SecurityUtils.getUserId()); @@ -100,4 +110,145 @@ { 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; + } + + @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] + * @杩斿洖鍊� 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; + + } + + /** + * 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