智慧保安后台管理-外网项目备份
zhongrj
2023-09-17 8853292babb2ad94de4a3207966f1e83b767cd2d
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -110,7 +110,7 @@
      //获取用户信息,保安,民警
      if (null!=userId && !userId.equals("")) {
         UserVO user = baseMapper.getUserInfoById(userId);
         if (user.getRoleAlias().equals("公安管理员")){
         if (user.getRoleAlias().equals("公安管理员") || user.getRoleAlias().equals("民警")){
            //公安管理员又分,如果是派出所,只返回当前值
            if (user.getDeptName().contains("派出所")){
               return ForestNodeMerger.merge(baseMapper.lazyTreeCityOne(tenantId, parentId));
@@ -234,8 +234,39 @@
    * 懒加载获取部门树形结构,不包含顶级管理员公安局
    */
   @Override
   public List<DeptVO> securityLazyTree(String jurisdiction, Long parentId) {
   public List<DeptVO> securityLazyTree(String jurisdiction, Long parentId,Long deptId) {
      //如果传了deptId
      if (null!=deptId){
         //递归查询
//         recursionDeptInfo(deptVOS, list);
         //tree 组装并返回
         return ForestNodeMerger.merge(baseMapper.securityDeptUnitList(null,deptId));
      }
      return ForestNodeMerger.merge(baseMapper.securityLazyTree(jurisdiction, parentId));
   }
   /**
    * 递归查询子级菜单
    * @param deptVOS
    * @param list
    * @return
    */
   private List<DeptVO> recursionDeptInfo(List<DeptVO> deptVOS,List<DeptVO> list) {
      //如果有子级
      if (list.size()>0){
         deptVOS.addAll(list);
         //遍历子级
         for (int i = 0; i < list.size(); i++) {
            //查看是否有子级
            List<DeptVO> childList = baseMapper.securityDeptUnitList(list.get(i).getId(), null);
            //如果有
            if (childList.size()>0){
               //递归
               recursionDeptInfo(deptVOS,childList);
            }
         }
      }
      return deptVOS;
   }
@@ -344,4 +375,19 @@
   public List<DeptVO> lazyTreeJurisdiction(String jurisdiction, Long parentId) {
      return ForestNodeMerger.merge(baseMapper.lazyTreeJurisdiction(jurisdiction,parentId));
   }
   /**
    * 懒加载获取单位树,电子围栏用
    * @param type 1:本单位  2:分公司  3:服务单位
    * @param deptId
    * @return
    */
   @Override
   public List<DeptVO> lazyTreeRail(Integer type, Long deptId) {
      //查询本单位
      if(type==1 || type==2){
         return ForestNodeMerger.merge(baseMapper.securityDeptUnitList(null,deptId));
      }
      return ForestNodeMerger.merge(baseMapper.getDispatchUnitList(deptId));
   }
}