智慧保安后台管理项目备份
zhongrj
2024-05-24 b5960d1968e007b91d4d33dd7cbb74f1b566f2c1
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -104,43 +104,38 @@
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUser" 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
            )
        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
                 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 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="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes" >
    <select id="lazyTreeUsers" resultType="org.springblade.modules.system.node.TreeNodes">
        select DISTINCT
        *
        from (
@@ -178,7 +173,7 @@
        (select
        bu.id,
        bu.dept_id  parentId,
        bu.dept_id parentId,
        bu.real_name AS title,
        bu.id AS "value",
        bu.id AS "key",
@@ -207,7 +202,7 @@
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes" >
    <select id="lazyTreeUsersPublicSecurity" resultType="org.springblade.modules.system.node.TreeNodes">
        select DISTINCT
        *
        from (
@@ -245,7 +240,7 @@
        (select
        bu.id,
        bu.dept_id  parentId,
        bu.dept_id parentId,
        bu.real_name AS title,
        bu.id AS "value",
        bu.id AS "key",
@@ -268,7 +263,7 @@
    </select>
    <!--懒加载获取部门树形结构(包含用户数据)-->
    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes" >
    <select id="lazyTreeUsersPublicSecuritys" resultType="org.springblade.modules.system.node.TreeNodes">
        select DISTINCT
        *
        from (
@@ -303,7 +298,7 @@
        (select
        bu.id,
        bu.dept_id  parentId,
        bu.dept_id parentId,
        bu.real_name AS title,
        bu.id AS "value",
        bu.id AS "key",
@@ -324,30 +319,25 @@
    <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
@@ -363,40 +353,110 @@
    </select>
    <select id="selectIn" resultType="java.util.HashMap">
        SELECT
            id as deptid,
            dept_name as deptname
        FROM
            blade_dept where is_deleted = 0
        SELECT id        as deptid,
               dept_name as deptname
        FROM blade_dept
        where is_deleted = 0
    </select>
    <!--统计单位类型数量-->
    <select id="selectCount" resultType="java.util.HashMap">
        SELECT
            id as jurisdiction,
            dept_name AS title
        FROM
            sys_jurisdiction
        WHERE
            is_deleted = 0 AND  parent_id!=0
        SELECT id        as jurisdiction,
               dept_name AS title
        FROM sys_jurisdiction
        WHERE is_deleted = 0
          AND parent_id!=0
    </select>
    <select id="selectHold" resultType="java.util.HashMap">
        SELECT
            IFNULL(B.cz,0) as cz,
            IFNULL(C.wcz,0) as wcz
        FROM (SELECT jurisdiction FROM blade_user ) A
            LEFT JOIN (SELECT COUNT(hold) as cz,jurisdiction FROM blade_user WHERE hold=0 GROUP BY jurisdiction ) B ON A.jurisdiction=B.jurisdiction
            LEFT JOIN (SELECT COUNT(hold) as wcz,jurisdiction FROM blade_user WHERE hold=1 GROUP BY jurisdiction ) C ON A.jurisdiction=C.jurisdiction
        WHERE A.jurisdiction=#{deptid} GROUP BY cz,wcz
        SELECT IFNULL(B.cz, 0)  as cz,
               IFNULL(C.wcz, 0) as wcz
        FROM (SELECT departmentid,jurisdiction FROM sys_information) A
                 LEFT JOIN (SELECT COUNT(*) as cz, dept_id
                            FROM blade_user
                            WHERE hold = 1
                              AND role_id = '1412226235153731586'
                              and status = 1 AND is_deleted = 0
                            GROUP BY dept_id) B ON A.departmentid = B.dept_id
                 LEFT JOIN (SELECT COUNT(*) as wcz, dept_id
                            FROM blade_user
                            WHERE hold = 2
                              AND role_id = '1412226235153731586'
                              and status = 1 AND is_deleted = 0
                            GROUP BY dept_id) C ON A.departmentid = C.dept_id
        WHERE A.jurisdiction in (${deptid})
        GROUP BY cz, wcz
    </select>
    <!--查询部门下面的所有单位-->
    <select id="selectId" resultType="java.util.HashMap">
        SELECT id FROM blade_dept WHERE parent_id =#{id} and is_deleted = 0
        SELECT id
        FROM blade_dept
        WHERE parent_id = #{id}
          and is_deleted = 0
    </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-->
<!--        or id = 1426354978959691778)-->
<!--        )-->
<!--        union-->
<!--        (-->
<!--        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-->
<!--        left join-->
<!--        sys_jurisdiction sj-->
<!--        on-->
<!--        sj.id = si.jurisdiction-->
<!--        WHERE-->
<!--        1=1-->
<!--        and si.stats !=3-->
<!--        AND dept.is_deleted = 0-->
<!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
<!--            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})-->
<!--        </if>-->
<!--        )-->
<!--    </select>-->
    <!--查询保安公司列表,保安员管理-->
    <select id="securityLazyTree" resultMap="treeNodeResultMap">
        SELECT
        DISTINCT
        dept.id,
        dept.parent_id,
        dept.dept_name AS title,
@@ -412,12 +472,94 @@
        ) AS "has_children"
        FROM
        blade_dept dept
        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}
        left join
        sys_information si
        on
        si.departmentid = dept.id
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        where
        dept.dept_category != 0
        AND dept.is_deleted = 0
        and dept.id!= 1420222961377357825
        and dept.parent_id!= 1420222961377357825
        and dept.id!= 1418458374477549569
        and dept.parent_id!= 1418458374477549569
        and dept.id!= 1426355050199945218
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
            union
            (
            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 = 1420222768149966850
            or id = 1426354978959691778)
            )
        </if>
        ORDER BY dept.sort
    </select>
    <!--查询所有的保安公司机构及子级信息-->
    <select id="securityDeptUnitList" resultMap="treeNodeResultMap">
        (
            SELECT
            id,
            parent_id,
            dept_name AS title,
            id AS "value",
            id AS "key",
            0 AS "has_children"
            FROM
            blade_dept
            where id = #{deptId}
        )
        union
        (
        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
        ) AS "has_children"
        FROM
        (
        SELECT
        id,parent_id,dept_name
        FROM
        (
            SELECT
            t1.id,t1.parent_id,t1.dept_name,
            IF
            ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
            FROM
            ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
            ( SELECT @pids := #{deptId} ) t2
            ) t3
            WHERE
            ischild != 0
        )
        dept
        where 1=1
        )
    </select>
</mapper>