xieb
2023-04-23 b82f8f6f82f0d9348997abb77e5d72deac078fa2
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
@@ -112,4 +112,79 @@
        and is_deleted = 0
    </select>
    <!--查询组织机构树数据(下级包含人员信息)-->
    <select id="getDeptAndUserTree" resultType="cn.gistack.common.node.DeptUserTreeNode">
        (
            SELECT
            dept.id,
            dept.parent_id parentId,
            dept.dept_name AS name,
            0 AS phone,
            (
                SELECT
                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                FROM
                blade_dept
                WHERE
                parent_id = dept.id and is_deleted = 0
            ) AS hasChildren
            FROM
            blade_dept dept WHERE dept.is_deleted = 0
            <if test="treeNode.id!=null and treeNode.id!=''">
                and dept.id = #{treeNode.id}
            </if>
        )
        union
        (
            select
            bu.id,
            bu.dept_id parentId,
            bu.account AS name,
            bu.phone,
            0 as hasChildren
            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="treeNode.id!=null and treeNode.id!=''">
                and bu.dept_id like concat(concat('%',#{treeNode.id}),'%')
            </if>
        )
    </select>
    <!--查询组织机构树-->
    <select id="getDeptMap" resultType="cn.gistack.common.node.DeptUserTreeNode">
        SELECT
        dept.id,
        dept.parent_id parentId,
        dept.dept_name AS name,
        0 AS phone,
        (
            SELECT
            CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
            FROM
            blade_dept
            WHERE
            parent_id = dept.id and is_deleted = 0
        ) AS hasChildren
        FROM
        blade_dept dept WHERE dept.is_deleted = 0
        <if test="treeNode.id!=null and treeNode.id!=''">
            and dept.id = #{treeNode.id}
        </if>
    </select>
    <!--查询组织机构树数据(下级包含人员信息)-->
    <select id="getUserMap" resultType="cn.gistack.common.node.DeptUserTreeNode">
        select
        bu.id,
        bu.dept_id parentId,
        bu.account AS name,
        bu.phone,
        0 as hasChildren
        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="treeNode.id!=null and treeNode.id!=''">
            and bu.dept_id like concat(concat('%',#{treeNode.id}),'%')
        </if>
    </select>
</mapper>