智慧保安后台管理-外网-验收版本
tangzy
2021-12-06 cc057177b2fb17aee9a173a6adbabdc578fd74c7
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -37,6 +37,7 @@
        <result column="has_children" property="hasChildren"/>
    </resultMap>
    <select id="lazyList" resultMap="deptVOResultMap">
        SELECT
            dept.* ,
@@ -102,8 +103,26 @@
        ORDER BY dept.sort
    </select>
    <!--查询保安公司列表,保安员管理-->
    <select id="securityLazyTree" resultMap="treeNodeResultMap" >
        (
        SELECT
        id,
        parent_id,
        dept_name AS title,
        id AS "value",
        id AS "key",
        0 AS "has_children"
        FROM
        blade_dept
        where is_deleted = 0
        and
        (id = 1413470343230877697 or id = 1425366663452196865 or id = 1418458374477549569 or id = 1420222768149966850)
        )
        union
        (
        SELECT
        DISTINCT
        dept.id,
        dept.parent_id,
        dept.dept_name AS title,
@@ -125,12 +144,17 @@
        si.departmentid = dept.id
        WHERE
        1=1
        and (stats = 1 or stats =2 or stats =4)
        and si.stats != 4
        AND dept.is_deleted = 0
        <if test="param1!=null and param1!='' and param1!='1123598813738675201'">
        and dept.id !=1420222961377357825
        and dept.parent_id!=1420222961377357825
        and dept.parent_id!=1425365577303621633
        and dept.id != 1425365577303621633
        and dept.id != 1432625856013971457
        <if test="param1!=null and param1!='' and param1!='1372091709474910209'">
            and si.jurisdiction = #{param1}
        </if>
        ORDER BY dept.sort
        )
    </select>
    <!--懒加载获取部门树形结构(按分类查询)-->
@@ -224,6 +248,7 @@
                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>
@@ -311,219 +336,208 @@
    <!--懒加载获取部门树形结构(包含用户数据),未删除,在职-->
    <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>
            )
        (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="deptId!=null and deptId!=''">
            and dept.id = #{deptId}
        </if>
        )
            union
        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 = '保安' or 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>
            )
        (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 role_alias = '保安'
        </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>
            )
        (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="deptId!=null and deptId!=''">
            and (dept.parent_id = #{deptId} or dept.id = #{deptId})
        </if>
        )
            union
        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>
            )
        (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
        and bu.status = 1
        <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>
            )
        (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="deptId!=null and deptId!=''">
            and  dept.id = #{deptId}
        </if>
        )
            union
        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>
            )
        (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
        and bu.status = 1
        <if test="deptId!=null and deptId!=''">
            and  bd.id = #{deptId}
        </if>
        )
        )c
    </select>
    <select id="lazyTrees" resultMap="treeNodeResultMap" >
    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 0 ELSE 1 END
            FROM
                blade_dept
            WHERE
                parent_id = dept.id and is_deleted = 0
        ) AS "has_children"
    FROM
        blade_dept dept WHERE (
                                  SELECT
                                      CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                                  FROM
                                      blade_dept
                                  WHERE
                                      parent_id = dept.id and is_deleted = 0
                              ) =1
</select>
        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 0 ELSE 1 END
                FROM
                    blade_dept
                WHERE
                    parent_id = dept.id and is_deleted = 0
            ) AS "has_children"
        FROM
            blade_dept dept WHERE (
                                      SELECT
                                          CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
                                      FROM
                                          blade_dept
                                      WHERE
                                          parent_id = dept.id and is_deleted = 0
                                  ) =1
    </select>
    <select id="getDeptNames" resultType="java.lang.String">
        SELECT
@@ -570,5 +584,39 @@
    <insert id="add" parameterType="org.springblade.modules.system.entity.Dept" useGeneratedKeys="true" keyProperty="id">
        insert into blade_dept(tenant_id, parent_id,ancestors,dept_category,dept_name) values(#{tenantId}, #{parentId}, #{ancestors}, #{deptCategory}, #{deptName})
    </insert>
    <select id="selectInfo" resultMap="treeNodeResultMap">
        SELECT
            DISTINCT
            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
                left join
            sys_information si
            on
                si.departmentid = dept.id
        WHERE
            1=1
          AND dept.is_deleted = 0
          and dept.id !=1420222961377357825
          and dept.id !=1432625856013971457
        and dept.parent_id!=1420222961377357825
        and dept.parent_id!=1432625856013971457
    </select>
    <!--查询所有的部门信息-->
    <select id="selDeptList" resultType="org.springblade.common.vo.DeptVo">
        select id ,dept_name deptName from blade_dept where is_deleted=0
    </select>
</mapper>