智慧保安后台管理项目备份
tangzy
2021-07-20 5cdadbb29f95f35b5eabdc733ce60b16d0338037
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -8,7 +8,6 @@
        <result column="creditCode" property="creditcode"/>
        <result column="enterpriseName" property="enterprisename"/>
        <result column="representative" property="representative"/>
        <result column="regstsat" property="regstsat"/>
        <result column="establishTime" property="establishtime"/>
        <result column="registeredCapital" property="registeredcapital"/>
        <result column="capital" property="capital"/>
@@ -21,13 +20,14 @@
        <result column="region" property="region"/>
        <result column="registration" property="registration"/>
        <result column="industry" property="industry"/>
        <result column="tenantId" property="tenantid"/>
        <result column="departmentid" property="departmentid"/>
        <result column="stats" property="stats"/>
        <result column="jurisdiction" property="jurisdiction"/>
    </resultMap>
    <select id="selectInformationPage" resultMap="informationResultMap">
        select * from sys_information where  1=1
        select * from sys_information where 1=1
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
@@ -37,16 +37,638 @@
        <if test="information.stats!=null and information.stats!=''">
            and stats=#{stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!=''">
            and jurisdiction=#{jurisdiction}
        </if>
    </select>
    <delete id="deleteIn">
        delete from  sys_information where creditCode=#{creditcode}
        delete
        from sys_information
        where creditCode = #{creditcode}
    </delete>
    <delete id="deleteSh">
        delete from  sys_shareholder where creditCode=#{creditcode}
        delete
        from sys_shareholder
        where creditCode = #{creditcode}
    </delete>
    <delete id="deleteMe">
        delete from sys_member where creditCode=#{creditcode}
        delete
        from sys_member
        where creditCode = #{creditcode}
    </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>
    <!--保安公司未持证预警-->
    <select id="selectInCount" resultType="java.util.HashMap">
        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>