From 5cdadbb29f95f35b5eabdc733ce60b16d0338037 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 20 Jul 2021 09:29:06 +0800
Subject: [PATCH] 1.保安员证编码

---
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml |  621 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 607 insertions(+), 14 deletions(-)

diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
index bfdd344..f153c96 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -59,23 +59,616 @@
     </delete>
 
     <select id="selectCount" resultType="java.util.HashMap">
-        SELECT
-            isnull( B.confess, 0 ) AS confess,
-            isnull( C.staff, 0 ) AS staff,
-            isnull( D.security, 0 ) AS security,
-            isnull( E.armed, 0 ) AS armed
-        FROM
-                ( SELECT jurisdiction FROM sys_information GROUP BY jurisdiction ) A
-                    FULL JOIN ( SELECT COUNT ( stats ) AS confess, jurisdiction FROM sys_information WHERE stats = 0 GROUP BY jurisdiction ) B ON A.jurisdiction = B.jurisdiction
-                    FULL JOIN ( SELECT COUNT ( stats ) AS staff, jurisdiction FROM sys_information WHERE stats = 1 GROUP BY jurisdiction ) C ON A.jurisdiction = C.jurisdiction
-                    FULL JOIN ( SELECT COUNT ( stats ) AS security, jurisdiction FROM sys_information WHERE stats = 2 GROUP BY jurisdiction ) D ON A.jurisdiction = D.jurisdiction
-                    FULL JOIN ( SELECT COUNT ( stats ) AS armed, jurisdiction FROM sys_information WHERE stats = 3 GROUP BY jurisdiction ) E ON A.jurisdiction = E.jurisdiction
-        WHERE
-            A.jurisdiction = #{departmentid}
+        SELECT isnull(B.confess, 0)  AS confess,
+               isnull(C.staff, 0)    AS staff,
+               isnull(D.security, 0) AS security,
+               isnull(E.armed, 0)    AS armed
+        FROM (SELECT jurisdiction FROM sys_information GROUP BY jurisdiction) A
+                 FULL JOIN (SELECT COUNT(stats) AS confess, jurisdiction
+                            FROM sys_information
+                            WHERE stats = 0
+                            GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
+                 FULL JOIN (SELECT COUNT(stats) AS staff, jurisdiction
+                            FROM sys_information
+                            WHERE stats = 1
+                            GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
+                 FULL JOIN (SELECT COUNT(stats) AS security, jurisdiction
+                            FROM sys_information
+                            WHERE stats = 2
+                            GROUP BY jurisdiction) D ON A.jurisdiction = D.jurisdiction
+                 FULL JOIN (SELECT COUNT(stats) AS armed, jurisdiction
+                            FROM sys_information
+                            WHERE stats = 3
+                            GROUP BY jurisdiction) E ON A.jurisdiction = E.jurisdiction
+        WHERE A.jurisdiction = #{departmentid}
     </select>
 
+
+    <!--保安公司未持证预警-->
     <select id="selectInCount" resultType="java.util.HashMap">
-        SELECT COUNT(u.dept_id) AS number,d.dept_name FROM blade_user u LEFT JOIN blade_dept d ON d.id=u.dept_id WHERE u.hold=1 GROUP BY u.dept_id,d.dept_name
+        SELECT
+        d.dept_name,
+        j.dept_name as jurname
+        FROM
+        blade_user u
+        LEFT JOIN blade_dept d ON d.id= u.dept_id
+        LEFT JOIN sys_jurisdiction j ON j.id= u.jurisdiction
+        WHERE
+        hold = 1
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+            and u.jurisdiction =#{jurisdiction}
+        </if>
+        <if test="deptid!=null and deptid!=''">
+            and u.dept_id =#{deptid}
+        </if>
+        GROUP BY
+        d.dept_name,
+        j.dept_name
     </select>
 
+    <!--通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)-->
+    <select id="selectCs" resultType="java.util.HashMap">
+        SELECT A.numj,
+        B.numz,
+        d.dept_name as deptname
+        FROM (
+        SELECT COUNT
+        (*) AS numj,
+        deptid
+        FROM sys_socil
+        WHERE deptid 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid)
+        GROUP BY deptid
+        ) A
+        FULL JOIN (
+        SELECT COUNT
+        (*) AS numz,
+        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
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid)
+        GROUP BY dept_id
+        ) B ON A.deptid = B.dept_id
+        LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1
+        <if test="deptid!=null and deptid!=''">
+            and A.deptid =#{deptid}
+        </if>
+    </select>
+
+    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
+    <select id="selectTo" resultType="java.util.HashMap">
+        SELECT ISNULL(A.lastmonth, 0) AS lastmonth,
+        ISNULL(B.thismouth, 0) AS thismouth,
+        ISNULL(A.amount, 0) AS lastamount,
+        ISNULL(b.amount, 0) AS thisamount
+        FROM (
+        SELECT COUNT
+        (*) AS lastmonth,
+        amount,
+        deptid
+        FROM
+        sys_socil
+        WHERE
+        deptid 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , insuredtime
+        , getdate())=1
+        <if test="deptid!=null and deptid!=''">
+            and deptid =#{deptid}
+        </if>
+        GROUP BY
+        amount,
+        deptid
+        ) A
+        FULL JOIN (
+        SELECT COUNT
+        (*) AS thismouth,
+        amount,
+        deptid
+        FROM
+        sys_socil
+        WHERE
+        deptid 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , insuredtime
+        , getdate())=0
+        <if test="deptid!=null and deptid!=''">
+            and deptid =#{deptid}
+        </if>
+        GROUP BY
+        amount,
+        deptid
+        ) B ON A.deptid = B.deptid
+    </select>
+
+
+    <!--查询本年所有月份的交社保的数量-->
+    <select id="queryYearSoil" resultType="java.util.HashMap">
+        SELECT COUNT
+        (CASE WHEN MONTH (
+        s.insuredtime ) = 1 THEN s.cardid END ) AS '1', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 2 THEN s.cardid END )
+        AS '2', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 3 THEN s.cardid END ) AS '3', COUNT(CASE WHEN MONTH (
+        s.insuredtime ) = 4 THEN s.cardid END ) AS '4', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 5 THEN s.cardid END )
+        AS '5', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 6 THEN s.cardid END ) AS '6', COUNT(CASE WHEN MONTH (
+        s.insuredtime ) = 7 THEN s.cardid END ) AS '7', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 8 THEN s.cardid END )
+        AS '8', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 9 THEN s.cardid END ) AS '9', COUNT(CASE WHEN MONTH (
+        s.insuredtime ) = 10 THEN s.cardid END ) AS '10', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 11 THEN s.cardid END
+        ) AS '11', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 12 THEN s.cardid END ) AS '12'
+        FROM sys_socil AS s
+        WHERE
+        YEAR ( s.insuredtime ) =#{year}
+        AND deptid 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY
+        i.departmentid )
+        <if test="deptid!=null and deptid!=''">
+            and deptid =#{deptid}
+        </if>
+    </select>
+
+    <!--查询本年所有月份的交社保的金额-->
+    <select id="queryYearAn" resultType="java.util.HashMap">
+        SELECT ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 1 THEN s.amount END ), 0) AS '1', ISNULL(SUM(CASE WHEN MONTH
+        (s.insuredtime) = 2 THEN s.amount END ), 0) AS '2', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 3 THEN s.amount
+        END ), 0) AS '3', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 4 THEN s.amount END ), 0) AS '4', ISNULL(SUM(CASE
+        WHEN MONTH (s.insuredtime) = 5 THEN s.amount END ), 0) AS '5', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 6
+        THEN s.amount END ), 0) AS '6', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 7 THEN s.amount END ), 0) AS '7',
+        ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 8 THEN s.amount END ), 0) AS '8', ISNULL(SUM(CASE WHEN MONTH
+        (s.insuredtime) = 9 THEN s.amount END ), 0) AS '9', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 10 THEN
+        s.amount END ), 0) AS '10', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 11 THEN s.amount END ), 0) AS '11',
+        ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 12 THEN s.amount END ), 0) AS '12'
+        FROM sys_socil AS s
+        WHERE YEAR (s.insuredtime) =#{year}
+        AND deptid 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        <if test="deptid!=null and deptid!=''">
+            and deptid =#{deptid}
+        </if>
+    </select>
+
+
+    <!--总保安数量-->
+    <select id="queryCountB" resultType="java.util.HashMap">
+        SELECT ISNULL(A.thisnum, 0) as thisnum,
+        ISNULL(B.lastnum, 0) as lastnum
+        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
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid)
+        AND role_id = '1413323482159321089'
+        <if test="deptid!=null and deptid!=''">
+            and deptid =#{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
+        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
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        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
+        ) 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 examination = 0
+        AND datediff(
+        MONTH, create_time,
+        getdate()) = 1
+        GROUP BY dept_id
+        ) B ON A.dept_id = B.dept_id
+    </select>
+
+    <!--持证保安数量-->
+    <select id="queryCountCz" resultType="java.util.HashMap">
+        SELECT ISNULL(A.thisnum, 0) as thisnum,
+        ISNULL(B.lastnum, 0) as lastnum
+        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
+        <if test="jurisdiction!=null and jurisdiction!=''">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        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
+        ) 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 hold = 0
+        AND datediff(
+        MONTH, create_time,
+        getdate()) = 1
+        GROUP BY dept_id
+        ) B ON A.dept_id = B.dept_id
+    </select>
+
+    <!--缴纳社保数量-->
+    <select id="queryCountSb" resultType="java.util.HashMap">
+        SELECT ISNULL(A.thisnum, 0) AS thisnum,
+        ISNULL(B.lastnum, 0) AS lastnum
+        FROM (
+        SELECT COUNT
+        (*) AS thisnum,
+        deptid
+        FROM
+        sys_socil
+        WHERE
+        deptid 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , insuredtime
+        , getdate())=0
+        <if test="deptid!=null and deptid!=''">
+            and deptid =#{deptid}
+        </if>
+        GROUP BY
+        deptid
+        ) A
+        FULL JOIN (
+        SELECT COUNT
+        (*) AS lastnum,
+        deptid
+        FROM
+        sys_socil
+        WHERE
+        deptid 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , insuredtime
+        , getdate())=1
+        <if test="deptid!=null and deptid!=''">
+            and deptid =#{deptid}
+        </if>
+        GROUP BY
+        deptid
+        ) B ON A.deptid = B.deptid
+    </select>
+
+    <!--服务客户数量-->
+    <select id="queryCountKh" resultType="java.util.HashMap">
+        SELECT ISNULL(A.thisnum, 0) AS thisnum,
+        ISNULL(B.lastnum, 0) AS lastnum
+        FROM (
+        SELECT COUNT
+        (*) AS thisnum,
+        dept_id
+        FROM
+        sys_dispatcher_unit
+        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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , create_time
+        , getdate())=0
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+        GROUP BY
+        dept_id
+        ) A
+        FULL JOIN (
+        SELECT COUNT
+        (*) AS lastnum,
+        dept_id
+        FROM
+        sys_dispatcher_unit
+        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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , create_time
+        , getdate())=1
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+        GROUP BY
+        dept_id
+        ) B ON A.dept_id = B.dept_id
+    </select>
+
+    <!--保安派遣数量-->
+    <select id="queryCountPq" resultType="java.util.HashMap">
+        SELECT ISNULL(A.thisnum, 0) AS thisnum,
+        ISNULL(B.lastnum, 0) AS lastnum
+        FROM (
+        SELECT COUNT
+        (*) AS thisnum,
+        dept_id
+        FROM
+        sys_dispatcher
+        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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , dispatcherTime
+        , getdate())=0
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+        GROUP BY
+        dept_id
+        ) A
+        FULL JOIN (
+        SELECT COUNT
+        (*) AS lastnum,
+        dept_id
+        FROM
+        sys_dispatcher
+        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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY i.departmentid )
+        AND datediff(month
+        , dispatcherTime
+        , getdate())=1
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+        GROUP BY
+        dept_id
+        ) B ON A.dept_id = B.dept_id
+    </select>
+
+
+    <!--查询本年所有月份的总人数-->
+    <select id="queryYearZ" resultType="java.util.HashMap">
+        SELECT COUNT
+        (CASE WHEN MONTH (
+        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
+        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
+        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
+        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
+        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
+        FROM blade_user AS s
+        WHERE
+        YEAR ( s.create_time ) =#{year}
+        AND 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY
+        i.departmentid
+        )
+        AND role_id='1413323482159321089'
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+    </select>
+    <!--查询本年所有月份的正常保安人数-->
+    <select id="queryYearZc" resultType="java.util.HashMap">
+        SELECT COUNT
+        (CASE WHEN MONTH (
+        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
+        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
+        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
+        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
+        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
+        FROM blade_user AS s
+        WHERE
+        YEAR ( s.create_time ) =#{year}
+        AND 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY
+        i.departmentid
+        )
+        AND role_id='1413323482159321089' AND examination=0
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+    </select>
+    <!--查询本年所有月份的保安持证人数-->
+    <select id="queryYearCz" resultType="java.util.HashMap">
+        SELECT COUNT
+        (CASE WHEN MONTH (
+        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
+        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
+        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
+        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
+        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
+        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
+        FROM blade_user AS s
+        WHERE
+        YEAR ( s.create_time ) =#{year}
+        AND 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY
+        i.departmentid
+        )
+        AND role_id='1413323482159321089' AND hold=0
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+    </select>
+
+    <!--查询本年所有月份的客户数量-->
+    <select id="queryYearKh" resultType="java.util.HashMap">
+        SELECT COUNT
+        ( CASE WHEN MONTH ( s.create_time ) = 1 THEN s.dept_id END ) AS '1',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 2 THEN s.dept_id END ) AS '2',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 3 THEN s.dept_id END ) AS '3',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 4 THEN s.dept_id END ) AS '4',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 5 THEN s.dept_id END ) AS '5',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 6 THEN s.dept_id END ) AS '6',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 7 THEN s.dept_id END ) AS '7',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 8 THEN s.dept_id END ) AS '8',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 9 THEN s.dept_id END ) AS '9',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 10 THEN s.dept_id END ) AS '10',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 11 THEN s.dept_id END ) AS '11',
+        COUNT ( CASE WHEN MONTH ( s.create_time ) = 12 THEN s.dept_id END ) AS '12'
+        FROM
+        sys_dispatcher_unit AS s
+        WHERE
+        YEAR ( s.create_time ) =#{year}
+        AND 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 jurisdiction!='1123598813738675201'">
+            and i.jurisdiction =#{jurisdiction}
+        </if>
+        GROUP BY
+        i.departmentid
+        )
+        <if test="deptid!=null and deptid!=''">
+            and dept_id =#{deptid}
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.9.3