洪城义警-正式版后台
zengh
2022-05-26 4c19ddd36bdfb43b5ef4e8df3c9a98cd4d356d6c
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>