Administrator
2021-08-31 08363052cecb30230a2c8b3eba791ca8d1be00a5
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -119,11 +119,16 @@
        ) AS "has_children"
        FROM
        blade_dept dept
        left join
        sys_information si
        on
        si.departmentid = dept.id
        WHERE
        dept.parent_id = #{param2} AND dept.is_deleted = 0
        and dept_category = 1
        <if test="param1!=null and param1!=''">
            and dept.tenant_id = #{param1}
        1=1
        and (stats = 1 or stats =2 or stats =4)
        AND dept.is_deleted = 0
        <if test="param1!=null and param1!='' and param1!='1123598813738675201'">
            and si.jurisdiction = #{param1}
        </if>
        ORDER BY dept.sort
    </select>
@@ -157,9 +162,104 @@
        ORDER BY dept.sort
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)app-->
    <select id="lazyTreeUserApp" resultType="org.springblade.modules.system.vo.DeptAndUserVO" >
        select DISTINCT
            *
        from (
            (SELECT
            dept.id,
            dept.parent_id,
            dept.dept_name AS label,
            dept.id AS "key",
            dept.id AS "value",
            1 as idCardNo,
            (
                SELECT
                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                FROM
                blade_dept
                WHERE
                parent_id = dept.id and dept.is_deleted = 0
                ) AS "has_children"
                FROM
                blade_dept dept
                left join
                blade_user bu
                on
                bu.dept_id = dept.id
                WHERE
                dept.is_deleted = 0
                and bu.is_deleted = 0
                <if test="type==1">
                    and dept_category=1
                    AND dept.parent_id = "1413470343230877697"
                </if>
                <if test="type==2 or type==3">
                    and dept_category=2
                    AND dept.parent_id = "1123598813738675201"
                </if>
                <if test="type==4 and jurisdiction!=null and jurisdiction!=''">
                    and dept_category=1
                    AND dept.parent_id = "1413470343230877697"
                    and bu.jurisdiction = #{jurisdiction}
                </if>
            )
            union all
            (
                select
                bu.id,
                bu.dept_id  parent_id,
                bu.real_name AS label,
                bu.id AS "key",
                bu.id AS "value",
                bu.cardid as idCardNo,
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                and bu.status = 1
                <if test="type==1">
                    and dept_category=1
                </if>
                <if test="type==2 or type==3">
                    and dept_category=2
                </if>
                <if test="type==4 and jurisdiction!=null and jurisdiction!=''">
                    and dept_category=1
                    and bu.jurisdiction = #{jurisdiction}
                </if>
            )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUser" resultMap="treeNodeResultMap" >
        select DISTINCT  * from (
        select DISTINCT
            c.id,
            c.parent_id,
            c.title,
            c.value,
            c.key,
            (
            SELECT
            CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
            FROM
            blade_dept
            where
            id = c.parent_id
            <if test="parentId!=null and parentId!=''">
                and dept_category=1
                AND id = #{parentId}
            </if>
            ) AS "has_children"
        from (
            (SELECT
              dept.id,
              dept.parent_id,
@@ -180,7 +280,7 @@
                        dept.is_deleted = 0
                    <if test="parentId!=null and parentId!=''">
                        and dept_category=1
                        AND dept.id = #{parentId}
                        AND dept.parent_id = #{parentId}
                    </if>
            )
@@ -199,6 +299,7 @@
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                <if test="parentId!=null and parentId!=''">
                    and dept_category=1
                    AND bu.dept_id = #{parentId}
@@ -208,6 +309,196 @@
    </select>
    <!--懒加载获取部门树形结构(包含用户数据),未删除,在职-->
    <select id="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes" >
        select DISTINCT
            *
        from (
            (SELECT
              dept.id,
              dept.parent_id parentId,
              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
                    left join
                        sys_information si
                    on
                        si.departmentid = dept.id
                    WHERE
                        dept.is_deleted = 0
                    <if test="type==1">
                        and dept_category=1
                    </if>
                    <if test="deptId!=null and deptId!=''">
                        and dept.id = #{deptId}
                    </if>
            )
            union
            (select
                bu.id,
                bu.dept_id  parentId,
                bu.real_name AS title,
                bu.id AS "value",
                bu.id AS "key",
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                left join
                blade_role br
                on
                br.id = bu.role_id
                where 1=1
                and bu.is_deleted = 0
                and bu.status = 1
                <if test="type==1">
                    and dept_category=1
                    and role_alias = '保安'
                </if>
                <if test="type==2 or type==3">
                    and dept_category=2
                </if>
                <if test="deptId!=null and deptId!=''">
                    and bu.dept_id = #{deptId}
                </if>
                <if test="jurisdiction!=null and jurisdiction!=''">
                    and bu.jurisdiction = #{jurisdiction}
                </if>
            )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes" >
        select DISTINCT
            *
        from (
            (SELECT
              dept.id,
              dept.parent_id parentId,
              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
                    left join
                        sys_information si
                    on
                        si.departmentid = dept.id
                    WHERE
                        dept.is_deleted = 0
                    <if test="type==2  or type==3">
                        and dept_category=2
                    </if>
                    <if test="deptId!=null and deptId!=''">
                        and (dept.parent_id = #{deptId} or dept.id = #{deptId})
                    </if>
            )
            union
            (select
                bu.id,
                bu.dept_id  parentId,
                bu.real_name AS title,
                bu.id AS "value",
                bu.id AS "key",
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                <if test="type==2 or type==3">
                    and dept_category=2
                </if>
                <if test="deptId!=null and deptId!=''">
                    and (bd.parent_id = #{deptId} or bd.id = #{deptId})
                </if>
            )
        )c
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes" >
        select DISTINCT
            *
        from (
            (SELECT
              dept.id,
              dept.parent_id parentId,
              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
                    left join
                        sys_information si
                    on
                        si.departmentid = dept.id
                    WHERE
                        dept.is_deleted = 0
                    <if test="type==2  or type==3">
                        and dept_category=2
                    </if>
            )
            union
            (select
                bu.id,
                bu.dept_id  parentId,
                bu.real_name AS title,
                bu.id AS "value",
                bu.id AS "key",
                0 as "has_children"
                from blade_user bu
                left join
                blade_dept bd
                on
                bd.id = bu.dept_id
                where 1=1
                and bu.is_deleted = 0
                <if test="type==2 or type==3">
                    and dept_category=2
                </if>
            )
        )c
    </select>
    <select id="lazyTrees" resultMap="treeNodeResultMap" >
    SELECT