tangzy
2021-07-21 53675c635822794dbd79f0d0197c955af29c688f
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -260,76 +260,97 @@
    <!--总保安数量-->
    <select id="queryCountB" resultType="java.util.HashMap">
        SELECT ISNULL(A.thisnum, 0) as thisnum,
        ISNULL(B.lastnum, 0) as lastnum
        SELECT C.thisnum,
               C.lastnum,
               d.dept_name as deptname,
               j.dept_name as jurname
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id
        FROM blade_user
        WHERE dept_id IN (SELECT i.departmentid
        FROM sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
                 SELECT ISNULL(A.thisnum, 0) AS thisnum,
                        ISNULL(B.lastnum, 0) AS lastnum,
                        A.dept_id,
                        A.jurisdiction
                 FROM (
                          SELECT COUNT
                                     (*) AS thisnum,
                                 dept_id,
                                 jurisdiction
                          FROM blade_user
                          WHERE dept_id IN (
                              SELECT i.departmentid
                              FROM sys_information i
                                       INNER JOIN sys_jurisdiction j ON j.id = i.jurisdiction
                              GROUP BY i.departmentid
                          )
                            AND role_id = '1413323482159321089'
                            AND datediff(
                                    MONTH, create_time,
                                           getdate()) = 0
                          GROUP BY dept_id,
                                   jurisdiction
                      ) A
                          FULL JOIN (
                     SELECT COUNT
                                (*) AS lastnum,
                            dept_id,
                            jurisdiction
                     FROM blade_user
                     WHERE dept_id IN (SELECT i.departmentid
                                       FROM sys_information i
                                                LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
                                       GROUP BY i.departmentid)
                       AND role_id = '1413323482159321089'
                       AND datediff(
                               MONTH, create_time,
                                      getdate()) = 1
                     GROUP BY dept_id,
                              jurisdiction
                 ) B ON A.dept_id = B.dept_id) C
                 LEFT JOIN blade_dept d ON C.dept_id = d.id
                 LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''">
            and i.jurisdiction =#{jurisdiction}
        and C.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid)
        AND role_id = '1413323482159321089'
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
            and C.dept_id =#{deptid}
        </if>
        AND datediff(
        MONTH, create_time,
        getdate()) = 0
        GROUP BY dept_id
        ) A
        FULL JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id
        FROM blade_user
        WHERE dept_id IN (SELECT i.departmentid
        FROM sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        GROUP BY i.departmentid)
        AND role_id = '1413323482159321089'
        AND datediff(
        MONTH, create_time,
        getdate()) = 1
        GROUP BY dept_id
        ) B ON A.dept_id = B.dept_id
    </select>
    <!--正常保安数量-->
    <select id="queryCountZc" resultType="java.util.HashMap">
        SELECT ISNULL(A.thisnum, 0) as thisnum,
        ISNULL(B.lastnum, 0) as lastnum
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT ISNULL(A.thisnum, 0) AS thisnum,
        ISNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE dept_id IN (SELECT i.departmentid
        WHERE dept_id IN (
        SELECT i.departmentid
        FROM sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid)
        INNER JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        GROUP BY i.departmentid
        )
        AND role_id = '1413323482159321089'
        AND examination = 0
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
        AND datediff(
        MONTH, create_time,
        getdate()) = 0
        GROUP BY dept_id
        GROUP BY dept_id,
        jurisdiction
        ) A
        FULL JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE dept_id IN (SELECT i.departmentid
        FROM sys_information i
@@ -340,40 +361,55 @@
        AND datediff(
        MONTH, create_time,
        getdate()) = 1
        GROUP BY dept_id
        ) B ON A.dept_id = B.dept_id
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--持证保安数量-->
    <select id="queryCountCz" resultType="java.util.HashMap">
        SELECT ISNULL(A.thisnum, 0) as thisnum,
        ISNULL(B.lastnum, 0) as lastnum
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT ISNULL(A.thisnum, 0) AS thisnum,
        ISNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE dept_id IN (SELECT i.departmentid
        WHERE dept_id IN (
        SELECT i.departmentid
        FROM sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid)
        INNER JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        GROUP BY i.departmentid
        )
        AND role_id = '1413323482159321089'
        AND hold = 0
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
        AND datediff(
        MONTH, create_time,
        getdate()) = 0
        GROUP BY dept_id
        GROUP BY dept_id,
        jurisdiction
        ) A
        FULL JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE dept_id IN (SELECT i.departmentid
        FROM sys_information i
@@ -384,8 +420,17 @@
        AND datediff(
        MONTH, create_time,
        getdate()) = 1
        GROUP BY dept_id
        ) B ON A.dept_id = B.dept_id
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->