| | |
| | | import org.springblade.modules.parcel.service.ParcelService; |
| | | import org.springblade.modules.parcel.vo.ConditionVo; |
| | | import org.springblade.modules.suser.service.ISuserService; |
| | | import org.springblade.modules.system.vo.DeptVO; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | |
| | | * @return |
| | | */ |
| | | @GetMapping("/getBigTree") |
| | | public R<List<catalogVO>> getBigTree() { |
| | | List<catalogVO> tree = catalogService.getBigTree(); |
| | | public R<List<DeptVO>> getBigTree() { |
| | | List<DeptVO> tree = catalogService.getBigTree(); |
| | | return R.data(tree); |
| | | } |
| | | |
| | |
| | | */ |
| | | package org.springblade.modules.catalog.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.SqlParser; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.springblade.modules.catalog.entitly.catalog; |
| | | import org.springblade.modules.catalog.vo.catalogVO; |
| | | import org.springblade.modules.system.vo.DeptVO; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | * 获取行政区--》客户--》部门机构 --》安保人员 树形数据 |
| | | * @return |
| | | */ |
| | | List<catalogVO> getBigTree(); |
| | | @SqlParser(filter=true) |
| | | List<DeptVO> getBigTree(); |
| | | } |
| | |
| | | </insert> |
| | | |
| | | <!--获取行政区-》客户-》部门机构 -》安保人员 树形数据--> |
| | | <!-- <select id="getBigTree" resultMap="treeNodeResultMap">--> |
| | | <!-- (--> |
| | | <!-- SELECT--> |
| | | <!-- id,--> |
| | | <!-- pId as parent_id,--> |
| | | <!-- name AS title,--> |
| | | <!-- id AS "value",--> |
| | | <!-- id AS "key"--> |
| | | <!-- FROM--> |
| | | <!-- sys_catalog--> |
| | | <!-- )--> |
| | | |
| | | <!-- union all--> |
| | | |
| | | <!-- (--> |
| | | <!-- select--> |
| | | <!-- bu.id,--> |
| | | <!-- sc.id as parent_id,--> |
| | | <!-- bu.real_name AS title,--> |
| | | <!-- bu.id AS "value",--> |
| | | <!-- bu.id AS "key"--> |
| | | <!-- from--> |
| | | <!-- blade_user bu--> |
| | | <!-- left join--> |
| | | <!-- sys_catalog sc--> |
| | | <!-- on--> |
| | | <!-- sc.dept_id = SUBSTRING(bu.dept_id,-19)--> |
| | | <!-- left join--> |
| | | <!-- blade_role br--> |
| | | <!-- on--> |
| | | <!-- bu.role_id = br.id--> |
| | | <!-- where--> |
| | | <!-- br.role_alias = '处警员'--> |
| | | <!-- and--> |
| | | <!-- bu.is_deleted=0--> |
| | | <!-- )--> |
| | | <!-- </select>--> |
| | | |
| | | |
| | | <!--获取行政区-》客户-》部门机构 -》安保人员 树形数据--> |
| | | <select id="getBigTree" resultMap="treeNodeResultMap"> |
| | | ( |
| | | SELECT |
| | | id, |
| | | pId as parent_id, |
| | | name AS title, |
| | | id AS "value", |
| | | id AS "key" |
| | | FROM |
| | | sys_catalog |
| | | ) |
| | | select DISTINCT * from ( |
| | | (SELECT |
| | | dept.id, |
| | | dept.parent_id, |
| | | dept.dept_name AS title, |
| | | dept.id AS "value", |
| | | dept.id AS "key", |
| | | ( |
| | | SELECT |
| | | CASE WHEN count(1) > 0 THEN 1 ELSE 0 END |
| | | FROM |
| | | blade_dept |
| | | WHERE |
| | | parent_id = dept.id and is_deleted = 0 |
| | | ) AS "has_children" |
| | | FROM |
| | | blade_dept dept |
| | | WHERE |
| | | dept.is_deleted = 0 |
| | | ) |
| | | |
| | | union all |
| | | union |
| | | |
| | | ( |
| | | select |
| | | (select |
| | | bu.id, |
| | | sc.id as parent_id, |
| | | bu.real_name AS title, |
| | | REVERSE(left(REVERSE(dept_id),LOCATE(',',REVERSE('dept_id'))-1)) as parent_id, |
| | | real_name AS title, |
| | | bu.id AS "value", |
| | | bu.id AS "key" |
| | | from |
| | | bu.id AS "key", |
| | | 0 as "has_children" |
| | | from |
| | | blade_user bu |
| | | left join |
| | | sys_catalog sc |
| | | on |
| | | sc.dept_id = SUBSTRING(bu.dept_id,-19) |
| | | left join |
| | | blade_role br |
| | | on |
| | | bu.role_id = br.id |
| | | where |
| | | br.role_alias = '处警员' |
| | | and |
| | | bu.is_deleted=0 |
| | | ) |
| | | left join |
| | | blade_role br |
| | | on |
| | | bu.role_id = br.id |
| | | where |
| | | br.role_alias = 'qfqkdw' |
| | | and |
| | | bu.is_deleted=0 |
| | | ) |
| | | )c |
| | | </select> |
| | | |
| | | |
| | | |
| | | |
| | | </mapper> |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.springblade.modules.catalog.entitly.catalog; |
| | | import org.springblade.modules.catalog.vo.catalogVO; |
| | | import org.springblade.modules.system.vo.DeptVO; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | * 获取行政区--》客户--》部门机构 --》安保人员 树形数据 |
| | | * @return |
| | | */ |
| | | List<catalogVO> getBigTree(); |
| | | List<DeptVO> getBigTree(); |
| | | } |
| | |
| | | import org.springblade.modules.catalog.mapper.catalogMapper; |
| | | import org.springblade.modules.catalog.service.catalogService; |
| | | import org.springblade.modules.catalog.vo.catalogVO; |
| | | import org.springblade.modules.system.vo.DeptVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<catalogVO> getBigTree() { |
| | | public List<DeptVO> getBigTree() { |
| | | return ForestNodeMerger.merge(baseMapper.getBigTree()); |
| | | } |
| | | } |
| | |
| | | return R.data(tree); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 懒加载获取部门树形结构--关联组织机构(包含保安员信息) |
| | | */ |
| | | @GetMapping("/lazy-tree-security") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "懒加载树形结构", notes = "树形结构") |
| | | public R<List<DeptVO>> lazyTreeSecurity(String tenantId, Long parentId, BladeUser bladeUser) { |
| | | List<DeptVO> tree = deptService.lazyTreeSecurity(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId); |
| | | return R.data(tree); |
| | | } |
| | | |
| | | /** |
| | | * 懒加载获取部门树形结构 |
| | | */ |
| | |
| | | */ |
| | | package org.springblade.modules.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.SqlParser; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.springblade.common.vo.DeptVo; |
| | | import org.springblade.modules.system.entity.Dept; |
| | |
| | | List<DeptVo> selDeptList(); |
| | | |
| | | List<DeptVO> selectInfo(); |
| | | |
| | | @SqlParser(filter=true) |
| | | List<DeptVO> lazyTreeSecurity(String tenantId, Long parentId); |
| | | } |
| | |
| | | ORDER BY dept.sort |
| | | </select> |
| | | |
| | | |
| | | <select id="lazyTreeSecurity" resultMap="treeNodeResultMap" > |
| | | select DISTINCT * from ( |
| | | (SELECT |
| | | dept.id, |
| | | dept.parent_id, |
| | | dept.dept_name AS title, |
| | | dept.id AS "value", |
| | | dept.id AS "key", |
| | | ( |
| | | SELECT |
| | | CASE WHEN count(1) > 0 THEN 1 ELSE 0 END |
| | | FROM |
| | | blade_dept |
| | | WHERE |
| | | parent_id = dept.id and is_deleted = 0 |
| | | ) AS "has_children" |
| | | FROM |
| | | blade_dept dept |
| | | WHERE |
| | | dept.is_deleted = 0 |
| | | ) |
| | | |
| | | union |
| | | |
| | | (select |
| | | id, |
| | | dept_id parent_id, |
| | | real_name AS title, |
| | | id AS "value", |
| | | id AS "key", |
| | | 0 as "has_children" |
| | | from blade_user |
| | | ) |
| | | )c |
| | | </select> |
| | | |
| | | <select id="getDeptNames" resultType="java.lang.String"> |
| | | SELECT |
| | | dept_name |
| | |
| | | * @return |
| | | */ |
| | | List<DeptVo> selDeptList(); |
| | | |
| | | /** |
| | | * 懒加载获取部门树形结构--关联组织机构(包含保安员信息) |
| | | */ |
| | | List<DeptVO> lazyTreeSecurity(String toStrWithEmpty, Long parentId); |
| | | } |
| | |
| | | return baseMapper.selDeptList(); |
| | | } |
| | | |
| | | /** |
| | | * 懒加载获取部门树形结构--关联组织机构(包含保安员信息) |
| | | */ |
| | | @Override |
| | | public List<DeptVO> lazyTreeSecurity(String tenantId, Long parentId) { |
| | | if (AuthUtil.isAdministrator()) { |
| | | tenantId = StringPool.EMPTY; |
| | | } |
| | | return ForestNodeMerger.merge(baseMapper.lazyTreeSecurity(tenantId, parentId)); |
| | | } |
| | | } |