智慧保安后台管理-验收版本
tangzy
2021-12-02 067570bc019e9c9cefdac19efa27ff9991b21356
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -57,6 +57,15 @@
        <if test="information.representative!=null and information.representative!=''">
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.creditcode!=null and information.creditcode!=''">
            and i.creditCode like concat(concat('%', #{information.creditcode}),'%')
        </if>
        <if test="information.representativecell!=null and information.representativecell!=''">
            and i.representativecell like concat(concat('%', #{information.representativecell}),'%')
        </if>
        <if test="information.address!=null and information.address!=''">
            and i.address like concat(concat('%', #{information.address}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and i.stats=#{information.stats}
        </if>
@@ -341,91 +350,278 @@
    <!--        ) F ON F.dept_id = A.deptid-->
    <!--    </select> -->
    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
    <!--    <select id="selectTo" resultType="java.util.HashMap">-->
    <!--        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,-->
    <!--        IFNULL(B.thismouth, 0) AS thismouth,-->
    <!--        IFNULL(C.thisamount, 0) AS thisamount,-->
    <!--        IFNULL(D.lastamount, 0) AS lastamount,-->
    <!--        IFNULL(E.userthismouth, 0) AS userthismouth,-->
    <!--        IFNULL(F.userlastmouth, 0) AS userlastmouth,-->
    <!--        IFNULL(G.userpcthismouth, 0) AS userpcthismouth,-->
    <!--        IFNULL(J.userpclastmouth, 0) AS userpclastmouth-->
    <!--        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS lastmonth,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1-->
    <!--        GROUP BY deptid-->
    <!--        ) A ON A.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS thismouth,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY deptid-->
    <!--        ) B ON B.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT SUM(amount) AS thisamount,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY deptid-->
    <!--        ) C ON C.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT SUM(amount) AS lastamount,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1-->
    <!--        GROUP BY deptid-->
    <!--        ) D ON D.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userthismouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) E ON E.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userlastmouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) F ON F.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpcthismouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        AND dispatch = 0-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) G ON G.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpclastmouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1-->
    <!--        AND dispatch = 0-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) J ON J.dept_id = H.departmentid where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and H.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and H.departmentid =#{deptid}-->
    <!--        </if>-->
    <!--    </select>-->
    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
    <select id="selectTo" resultType="java.util.HashMap">
        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,
        IFNULL(B.thismouth, 0) AS thismouth,
        IFNULL(C.thisamount, 0) AS thisamount,
        IFNULL(D.lastamount, 0) AS lastamount,
        IFNULL(E.userthismouth, 0) AS userthismouth,
        IFNULL(F.userlastmouth, 0) AS userlastmouth,
        IFNULL(G.userpcthismouth, 0) AS userpcthismouth,
        IFNULL(J.userpclastmouth, 0) AS userpclastmouth
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        SELECT
        IFNULL( A.lastmonth, 0 ) AS lastmonth,
        IFNULL( B.thismouth, 0 ) AS thismouth,
        IFNULL( Z.num, 0 ) AS num,
        IFNULL( C.thisamount, 0 ) AS thisamount,
        IFNULL( D.lastamount, 0 ) AS lastamount,
        IFNULL( R.amountnum, 0 ) AS amountnum,
        IFNULL( E.userthismouth, 0 ) AS userthismouth,
        IFNULL( F.userlastmouth, 0 ) AS userlastmouth,
        IFNULL( I.usernum, 0 ) AS usernum,
        IFNULL( G.userpcthismouth, 0 ) AS userpcthismouth,
        IFNULL( J.userpclastmouth, 0 ) AS userpclastmouth,
        IFNULL( P.userpcnum, 0 ) AS userpcnum
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT COUNT(*) AS lastmonth,
        SELECT
        COUNT( * ) AS lastmonth,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) A ON A.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS thismouth,
        SELECT
        COUNT( * ) AS thismouth,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) B ON B.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS thisamount,
        SELECT
        COUNT( * ) AS num,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) Z ON Z.deptid = H.departmentid
        LEFT JOIN (
        SELECT
        SUM( amount ) AS thisamount,
        deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) C ON C.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS lastamount,
        SELECT
        SUM( amount ) AS lastamount,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) D ON D.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userthismouth,
        SELECT
        SUM(amount) AS amountnum,
        deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) R ON R.deptid = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS userthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        FROM
        blade_user
        WHERE
        DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        AND is_deleted = 0 AND role_id='1412226235153731586'
        GROUP BY
        dept_id
        ) E ON E.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userlastmouth,
        SELECT
        COUNT( * ) AS userlastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        FROM
        blade_user
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        AND is_deleted = 0 AND role_id='1412226235153731586'
        GROUP BY
        dept_id
        ) F ON F.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpcthismouth,
        SELECT
        J.znum+J.fznum as usernum,
        J.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) A
        LEFT JOIN (
        SELECT
        IFNULL( COUNT( * ), 0 ) AS znum,
        bd.parent_id
        FROM
        blade_user bu
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) J) I ON I.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS userpcthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        FROM
        sys_dispatcher
        WHERE
        DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND STATUS = 0
        GROUP BY
        dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpclastmouth,
        SELECT
        COUNT( * ) AS userpclastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid where 1=1
        FROM
        sys_dispatcher
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        AND STATUS = 0
        GROUP BY
        dept_id
        ) J ON J.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS userpcnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE STATUS = 0
        GROUP BY
        dept_id
        ) P ON P.dept_id = H.departmentid
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的交社保的数量-->
    <select id="queryYearSoil" resultType="java.util.HashMap">
        SELECT COUNT
@@ -540,66 +736,49 @@
    </select>
    <!--总保安数量-->
    <!--    &lt;!&ndash;总保安数量&ndash;&gt;-->
    <!--    <select id="queryCountB" resultType="java.util.HashMap">-->
    <!--        SELECT-->
    <!--        C.thisnum,-->
    <!--        C.lastnum,-->
    <!--        d.dept_name AS deptname,-->
    <!--        j.dept_name AS jurname-->
    <!--        FROM-->
    <!--        (-->
    <!--        SELECT-->
    <!--        IFNULL( A.thisnum, 0 ) AS thisnum,-->
    <!--        IFNULL( B.lastnum, 0 ) AS lastnum,-->
    <!--        A.dept_id,-->
    <!--        A.jurisdiction-->
    <!--        FROM-->
    <!--        (-->
    <!--        SELECT-->
    <!--        COUNT( * ) AS thisnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
    <!--        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        GROUP BY-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        ) A-->
    <!--        SELECT IFNULL(A.thisnum, 0) AS thisnum,-->
    <!--        IFNULL(B.lastnum, 0) AS lastnum,-->
    <!--        H.departmentid,-->
    <!--        H.jurisdiction-->
    <!--        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H-->
    <!--        LEFT JOIN (-->
    <!--        SELECT-->
    <!--        COUNT( * ) AS lastnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 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-->
    <!--        SELECT COUNT(*) AS thisnum,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE role_id = '1412226235153731586'-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        AND DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY dept_id-->
    <!--        ) A ON A.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS lastnum,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE role_id = '1412226235153731586'-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1-->
    <!--        GROUP BY dept_id-->
    <!--        ) B ON B.dept_id = H.departmentid where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and C.jurisdiction =#{jurisdiction}-->
    <!--            and H.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and C.dept_id =#{deptid}-->
    <!--            and H.departmentid =#{deptid}-->
    <!--        </if>-->
    <!--    </select>-->
    <select id="queryCountB" resultType="java.util.HashMap">
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        IFNULL( C.fznum, 0 ) AS fznum,
        H.departmentid,
        H.jurisdiction
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        FROM (SELECT departmentid, jurisdiction FROM sys_information WHERE stats!=1  GROUP BY departmentid, jurisdiction)
        H
        LEFT JOIN (
        SELECT COUNT(*) AS thisnum,
        dept_id
@@ -607,7 +786,7 @@
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND DATE_FORMAT(rtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) A ON A.dept_id = H.departmentid
        LEFT JOIN (
@@ -617,11 +796,54 @@
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1
        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(rtime, '%Y%m')) = 1
        GROUP BY dept_id
        ) B ON B.dept_id = H.departmentid where 1=1
        ) B ON B.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        J.fznum,
        J.znum+J.fznum as num,
        J.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) A
        LEFT JOIN (
        SELECT
        IFNULL( COUNT( * ), 0 ) AS znum,
        bd.parent_id
        FROM
        blade_user bu
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) J
        ) C ON C.dept_id = H.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
@@ -630,242 +852,295 @@
    <!--正常保安数量-->
    <select id="queryCountZc" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND examination_type = 0
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 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 jurisdiction!='1372091709474910209'">
            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 C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 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 jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->
    <select id="queryCountSb" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( D.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.deptid,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY deptid,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY deptid,
        jurisdiction
        ) B ON A.deptid = B.deptid
        ) C
        LEFT JOIN blade_dept d ON C.deptid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.deptid =#{deptid}
        </if>
    </select>
    <!--服务客户数量-->
    <select id="queryCountKh" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        C.dept_id,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( start_time, '%Y%m' ) ) = 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 jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--保安派遣数量-->
    <!--    <select id="queryCountPq" resultType="java.util.HashMap">-->
    <!--        SELECT C.thisnum,-->
    <!--        C.lastnum,-->
    <!--        d.dept_name as deptname,-->
    <!--        j.dept_name as jurname-->
    <!--        FROM (-->
    <!--        SELECT IFNULL(A.thisnum, 0) AS thisnum,-->
    <!--        IFNULL(B.lastnum, 0) AS lastnum,-->
    <!--        A.dept_id,-->
    <!--        A.jurisdiction-->
    <!--        FROM (-->
    <!--        SELECT SUM(num) AS thisnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM sys_dispatcher-->
    <!--        WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        GROUP BY dept_id, jurisdiction-->
    <!--        ) A-->
    <!--        left JOIN (-->
    <!--        SELECT SUM(num) AS lastnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM sys_dispatcher-->
    <!--        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 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 jurisdiction!='1372091709474910209'">-->
    <!--            and C.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and C.dept_id =#{deptid}-->
    <!--        </if>-->
    <!--    </select> -->
    <select id="queryCountPq" resultType="java.util.HashMap">
        SELECT IFNULL(G.thisnum, 0) AS thisnum,
        IFNULL(J.lastnum, 0) AS lastnum
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT SUM(num) AS thisnum,
        SELECT
        COUNT( * ) AS thisnum,
        dept_id
        FROM sys_dispatcher
        WHERE DATE_FORMAT(dispatcherTime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) G ON G.dept_id = H.departmentid
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        AND DATE_FORMAT( rtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT SUM(num) AS lastnum,
        SELECT
        COUNT( * ) AS lastnum,
        dept_id
        FROM sys_dispatcher
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(dispatcherTime, '%Y%m')) = 1
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid
        WHERE 1 = 1
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( rtime, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        GROUP BY
        dept_id
        ) D ON H.departmentid = D.dept_id
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--持证保安数量-->
    <select id="queryCountCz" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        H.enterpriseName AS deptname,
        j.dept_name AS jurname
        FROM
        ( SELECT departmentid, jurisdiction,enterpriseName FROM sys_information GROUP BY departmentid,
        jurisdiction,enterpriseName ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        AND DATE_FORMAT( rtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( rtime, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        GROUP BY
        dept_id
        ) C ON H.departmentid = C.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->
    <select id="queryCountSb" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT( * ) AS thisnum,
        deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) A ON H.departmentid = A.deptid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS lastnum,
        deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) B ON H.departmentid = B.deptid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) C ON H.departmentid = C.deptid
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--服务客户数量-->
    <select id="queryCountKh" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        sys_dispatcher_unit
        WHERE
        DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        sys_dispatcher_unit
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( start_time, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        sys_dispatcher_unit
        GROUP BY
        dept_id
        ) C ON H.departmentid = C.dept_id
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--保安派遣数量-->
    <select id="queryCountPq" resultType="java.util.HashMap">
        SELECT
        IFNULL( G.thisnum, 0 ) AS thisnum,
        IFNULL( J.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE
        DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND `status`=0
        GROUP BY
        dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        AND `status`=0
        GROUP BY
        dept_id
        ) J ON J.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        sys_dispatcher
        where `status`=0
        GROUP BY
        dept_id
        ) C ON C.dept_id = H.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的总人数-->
    <select id="queryYearZ" resultType="java.util.HashMap">