洪城义警-正式版后台
Administrator
2021-07-17 1215c74cb4a89d0f54da614ba5c7f4b9d6d2acb5
处警员树接口修改
10 files modified
194 ■■■■ changed files
src/main/java/org/springblade/modules/catalog/controller/catalogController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java 5 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml 110 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/catalog/service/catalogService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/DeptController.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 37 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IDeptService.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/catalog/controller/catalogController.java
@@ -37,6 +37,7 @@
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;
@@ -369,8 +370,8 @@
     * @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);
    }
src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java
@@ -16,9 +16,11 @@
 */
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;
@@ -48,5 +50,6 @@
     * 获取行政区--》客户--》部门机构 --》安保人员 树形数据
     * @return
     */
    List<catalogVO> getBigTree();
    @SqlParser(filter=true)
    List<DeptVO> getBigTree();
}
src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
@@ -126,42 +126,92 @@
    </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>
src/main/java/org/springblade/modules/catalog/service/catalogService.java
@@ -19,6 +19,7 @@
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;
@@ -46,5 +47,5 @@
     * 获取行政区--》客户--》部门机构 --》安保人员 树形数据
     * @return
     */
    List<catalogVO> getBigTree();
    List<DeptVO> getBigTree();
}
src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java
@@ -23,6 +23,7 @@
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;
@@ -93,7 +94,7 @@
     * @return
     */
    @Override
    public List<catalogVO> getBigTree() {
    public List<DeptVO> getBigTree() {
        return ForestNodeMerger.merge(baseMapper.getBigTree());
    }
}
src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -141,6 +141,18 @@
        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);
    }
    /**
     * 懒加载获取部门树形结构
     */
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -16,6 +16,7 @@
 */
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;
@@ -87,4 +88,7 @@
    List<DeptVo> selDeptList();
    List<DeptVO> selectInfo();
    @SqlParser(filter=true)
    List<DeptVO> lazyTreeSecurity(String tenantId, Long parentId);
}
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -99,6 +99,43 @@
        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
src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -129,4 +129,9 @@
     * @return
     */
    List<DeptVo> selDeptList();
    /**
     * 懒加载获取部门树形结构--关联组织机构(包含保安员信息)
     */
    List<DeptVO> lazyTreeSecurity(String toStrWithEmpty, Long parentId);
}
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -181,4 +181,14 @@
        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));
    }
}