智慧保安后台管理项目备份
zhongrj
2024-05-24 b5960d1968e007b91d4d33dd7cbb74f1b566f2c1
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -26,8 +26,9 @@
        <result column="representativecell" property="representativecell"/>
        <result column="contacts" property="contacts"/>
        <result column="contactscell" property="contactscell"/>
        <result column="businessLicense" property="businessLicense"/>
        <result column="business_License" property="businessLicense"/>
        <result column="licence" property="licence"/>
        <result column="jurisdictionName" property="jurisdictionName"/>
        <result column="znum" property="znum"/>
        <result column="cnum" property="cnum"/>
        <result column="pnum" property="pnum"/>
@@ -41,16 +42,54 @@
        i.*,
        IFNULL(A.znum ,0) as znum,
        IFNULL(B.cnum ,0) as cnum,
        IFNULL(C.pnum ,0) as pnum
        IFNULL(C.pnum ,0) as pnum,
        sj.dept_name jurisdictionName
        FROM
        sys_information i
        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
        status=1 GROUP BY dept_id ) A ON A.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS cnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
        status=1 AND hold=1 GROUP BY dept_id ) B ON B.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS pnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
        status=1 AND dispatch=0 GROUP BY dept_id ) C ON C.dept_id = i.departmentid
        LEFT JOIN
        (
        SELECT COUNT( * ) AS znum, dept_id FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        GROUP BY dept_id
        ) A
        ON A.dept_id = i.departmentid
        LEFT JOIN
        (
        SELECT COUNT( * ) AS cnum, dept_id FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND hold=1
        GROUP BY dept_id
        ) B
        ON B.dept_id = i.departmentid
        LEFT JOIN
        (
        SELECT COUNT( * ) AS pnum, dept_id FROM blade_user
        WHERE 1=1
        and is_deleted = 0
        and role_id = '1412226235153731586'
        AND status=1
        AND dispatch='0'
        GROUP BY dept_id
        ) C
        ON C.dept_id = i.departmentid
        left join
        sys_jurisdiction sj
        on
        sj.id = i.jurisdiction
        left join
        blade_dept bd
        on
        bd.id = i.departmentid
        where 1=1
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj.id=#{information.jurisdiction} or sj.parent_id=#{information.jurisdiction})
        </if>
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
@@ -58,14 +97,12 @@
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and i.stats=#{information.stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1123598813738675201'">
            and i.jurisdiction=#{information.jurisdiction}
            and i.stats=#{information.stats} and bd.dept_category = 1
        </if>
        <if test="information.departmentid!=null and information.departmentid!=''">
            and i.departmentid=#{information.departmentid}
        </if>
        order by i.establishTime asc
    </select>
    <delete id="deleteIn">
@@ -124,9 +161,9 @@
        LEFT JOIN blade_dept d ON d.id= u.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id= u.jurisdiction
        WHERE
        hold = 2
        u.hold = 2 and u.status=1
        <if test="jurisdiction!=null and jurisdiction!=''">
            and u.jurisdiction =#{jurisdiction}
            and u.jurisdiction in(${jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.dept_id =#{deptid}
@@ -137,278 +174,236 @@
    </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
        left 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 jurisdiction!='1123598813738675201'">
            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>
    <!--    &lt;!&ndash;统计上个月和这个月交社保的人数以及缴纳金额&ndash;&gt;-->
    <!--    <select id="selectTo" resultType="java.util.HashMap">-->
    <!--        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,-->
    <!--        IFNULL(B.thismouth, 0) AS thismouth,-->
    <!--        IFNULL(A.amount, 0) AS lastamount,-->
    <!--        IFNULL(B.amount, 0) AS thisamount,-->
    <!--        IFNULL( C.userthismouth, 0 ) AS userthismouth,-->
    <!--        IFNULL( D.userlastmouth, 0 ) AS userlastmouth,-->
    <!--        IFNULL( E.userpcthismouth, 0 ) AS userpcthismouth,-->
    <!--        IFNULL( F.userpclastmouth, 0 ) AS userpclastmouth-->
    <!--    <select id="selectCs" resultType="java.util.HashMap">-->
    <!--        SELECT A.numj,-->
    <!--        B.numz,-->
    <!--        d.dept_name as deptname-->
    <!--        FROM (-->
    <!--        SELECT COUNT(*) AS lastmonth,-->
    <!--        amount,-->
    <!--        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}-->
    <!--        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!='1372091709474910209'">-->
    <!--            and i.jurisdiction in(${jurisdiction})-->
    <!--        </if>-->
    <!--        GROUP BY i.departmentid )-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and deptid =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        amount,-->
    <!--        deptid-->
    <!--        GROUP BY i.departmentid)-->
    <!--        GROUP BY deptid-->
    <!--        ) A-->
    <!--        left 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}-->
    <!--        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 jurisdiction!='1372091709474910209'">-->
    <!--            and i.jurisdiction in(${jurisdiction})-->
    <!--        </if>-->
    <!--        GROUP BY i.departmentid )-->
    <!--        AND DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        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 deptid =#{deptid}-->
    <!--            and A.deptid =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        amount,-->
    <!--        deptid-->
    <!--        ) B ON A.deptid = B.deptid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userthismouth,-->
    <!--        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 jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND status=1-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) C ON C.dept_id = A.deptid-->
    <!--        LEFT JOIN(-->
    <!--        SELECT COUNT(*) AS userlastmouth,-->
    <!--        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 jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND status=1-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) D ON D.dept_id = A.deptid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpcthismouth,-->
    <!--        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 jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND dispatch=0-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) E ON E.dept_id = A.deptid-->
    <!--        LEFT JOIN(-->
    <!--        SELECT COUNT(*) AS userpclastmouth,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 jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND dispatch=0-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) F ON F.dept_id = A.deptid-->
    <!--    </select> -->
    <!--    </select>-->
    <select id="selectCs" resultType="java.util.HashMap">
        SELECT COUNT(*) as numj,jurisdiction
        FROM blade_user
        WHERE soil = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and jurisdiction in(${jurisdiction})
        </if>
        group by jurisdiction
    </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
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and H.jurisdiction =#{jurisdiction}
        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 (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
@@ -437,7 +432,7 @@
        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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
@@ -467,7 +462,7 @@
        AND is_deleted=0
        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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
@@ -496,7 +491,7 @@
        YEAR ( s.dispatcherTime ) =#{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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
@@ -520,7 +515,7 @@
        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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
@@ -530,270 +525,375 @@
    </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 WHERE stats!=1 GROUP BY departmentid, jurisdiction)
        H
        LEFT JOIN (
        SELECT COUNT(*) AS thisnum,
        dept_id
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND DATE_FORMAT(rtime, '%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(rtime, '%Y%m')) = 1
        GROUP BY dept_id
        ) B ON B.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        C.thisnum,
        C.lastnum,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        J.fznum,
        J.znum+J.fznum as num,
        J.dept_id
        FROM
        (
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        A.dept_id,
        A.jurisdiction
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS thisnum,
        dept_id,
        jurisdiction
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user
        blade_user bu
        WHERE
        role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        dept_id,
        jurisdiction
        bu.dept_id
        ) A
        LEFT JOIN (
        SELECT
        COUNT( * ) AS lastnum,
        dept_id,
        jurisdiction
        IFNULL( COUNT( * ), 0 ) AS znum,
        bd.parent_id
        FROM
        blade_user
        blade_user bu
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        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
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        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
        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!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        <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 C.dept_id =#{deptid}
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--正常保安数量-->
    <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
        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 departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT( * ) AS thisnum,
        dept_id
        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 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 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!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        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 (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
            and H.departmentid =#{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
        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( 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 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( 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!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        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 C.dept_id =#{deptid}
            and H.departmentid =#{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( C.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!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        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 C.deptid =#{deptid}
            and H.departmentid =#{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!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        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 C.dept_id =#{deptid}
            and H.departmentid =#{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!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        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 C.dept_id =#{deptid}
            and H.departmentid =#{deptid}
        </if>
    </select>
@@ -802,24 +902,24 @@
    <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'
        s.rtime ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.rtime ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.rtime ) = 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.rtime ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.rtime ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.rtime ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.rtime ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.rtime ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.rtime ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.rtime ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.rtime ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        YEAR ( s.rtime ) =#{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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
@@ -830,28 +930,29 @@
            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'
        s.rtime ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.rtime ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.rtime ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
        s.rtime ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.rtime ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.rtime ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.rtime ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.rtime ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.rtime ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.rtime ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.rtime ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.rtime ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        YEAR ( s.rtime ) =#{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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
@@ -866,24 +967,24 @@
    <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'
        s.rtime ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.rtime ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.rtime ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
        s.rtime ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.rtime ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.rtime ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.rtime ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.rtime ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.rtime ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.rtime ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.rtime ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.rtime ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        YEAR ( s.rtime ) =#{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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
@@ -918,7 +1019,7 @@
        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'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
@@ -948,8 +1049,8 @@
        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'">
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1 and s.status=0
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
@@ -962,61 +1063,104 @@
    <!--资格审查异常数量-->
    <select id="selectExtype" resultType="java.util.HashMap">
        SELECT COUNT
        (*) as num,
        d.dept_name,
        u.real_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 u.examination_type = 1 and u.is_deleted=0 and u.status = 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>
        SELECT
        IFNULL( J.num, 0 ) AS num
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        INNER JOIN (
        SELECT
        COUNT( * ) AS num,
        dept_id
        FROM
        blade_user
        WHERE
        examination_type = 1
        AND is_deleted = 0
        AND STATUS = 1
        <if test="type!=null and type=='1'.toString()">
            and to_days(u.update_time) = to_days(now())
            and to_days(audit_time) = to_days(now())
        </if>
        <if test="type!=null and type=='2'.toString()">
            and DATE_FORMAT(u.update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
            and DATE_FORMAT(audit_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
        </if>
        GROUP BY d.dept_name,u.real_name,
        j.dept_name
    </select>
    <!--表现差的数量-->
    <select id="selectBx" resultType="java.util.HashMap">
        SELECT IFNULL(COUNT( * ),0) AS num,
        d.dept_name,
        j.dept_name AS jurname
        FROM sys_performance u
        LEFT JOIN blade_dept d ON d.id = u.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
        WHERE score = 3
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and u.jurisdiction =#{jurisdiction}
        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 in(${jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.departmentid =#{deptid}
            AND H.departmentid = #{deptid}
        </if>
        <if test="type!=null and type=='1'.toString()">
            and to_days(u.time) = to_days(now())
        </if>
        <if test="type!=null and type=='2'.toString()">
            and DATE_FORMAT(u.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
        </if>
        GROUP BY d.dept_name,
        j.dept_name
    </select>
    <!--查询出所有辖区信息-->
    <select id="selectJur" resultType="java.util.HashMap">
        SELECT id, dept_name
        FROM sys_jurisdiction
        WHERE id!=1123598813738675201
    <!--表现差-->
    <select id="selectBx" resultType="java.util.HashMap">
        SELECT
        IFNULL( J.num, 0 ) AS num
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        IFNULL( COUNT( * ), 0 ) AS num,
        u.dept_id
        FROM
        sys_performance p
        INNER JOIN blade_user u ON p.cardid = u.cardid WHERE 1=1 AND score=3
        <if test="type!=null and type=='1'.toString()">
            and to_days(p.time) = to_days(now())
        </if>
        <if test="type!=null and type=='2'.toString()">
            and DATE_FORMAT(p.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
        </if>
        GROUP BY
        dept_id
        ) J ON J.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 (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            AND H.departmentid = #{deptid}
        </if>
    </select>
    <select id="selectBxs" resultType="java.util.HashMap">
        select si.jurisdiction id,
               sj.parent_id,
               sj.dept_name    jurisdictionName,
               si.enterprisename,
               "表现差"           detail
        from sys_performance sp
                 left join
             blade_user bu
             on
                 bu.id = sp.securityId
                 left join
             sys_information si
             on
                 bu.dept_id = si.departmentid
                 left join
             sys_jurisdiction sj
             on
                 sj.id = si.jurisdiction
        where 1 = 1
          and (si.stats = 2 or si.stats = 4)
          and bu.is_deleted = 0
          and bu.`status` = 1
          and sp.score = 3
    </select>
    <!--    &lt;!&ndash;查询出所有辖区信息&ndash;&gt;-->
    <!--    <select id="selectJur" resultType="java.util.HashMap">-->
    <!--        SELECT id, dept_name-->
    <!--        FROM sys_jurisdiction-->
    <!--        WHERE id!=1372091709474910209-->
    <!--    </select> -->
    <select id="selectExtypeUser" resultType="java.lang.Integer">
        SELECT COUNT(CASE WHEN (examination_mx IS NOT NULL OR examination_mx != "") THEN 1 END) AS sum
@@ -1034,7 +1178,7 @@
        LEFT JOIN blade_dept d ON d.id = u.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
        WHERE dispatch = 0
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and u.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
@@ -1049,7 +1193,7 @@
        LEFT JOIN blade_dept d ON d.id = u.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
        WHERE dispatch = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and u.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
@@ -1060,8 +1204,8 @@
    <select id="selectIn" resultType="java.util.HashMap">
        SELECT enterpriseName, departmentid
        FROM sys_information where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and jurisdiction =#{jurisdiction}
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and jurisdiction in(${jurisdiction})
        </if>
    </select>
    <delete id="deleteDept">
@@ -1070,137 +1214,198 @@
        where id = #{ids}
    </delete>
    <select id="selectLi" resultType="java.util.HashMap">
    <!--保安员统计查询-->
    <select id="selectLi" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
        SELECT
        IFNULL( A.num, 0 ) AS num,
        IFNULL( V.num, 0 ) AS num,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.paiqnum, 0 ) AS paiqnum,
        IFNULL( D.wpaiqnum, 0 ) AS wpaiqnum,
        IFNULL( E.sbnum, 0 ) AS sbnum,
        IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
        IFNULL( G.yicnum, 0 ) AS yicnum,
        A.dept_id,
        d.enterpriseName AS deptname,
        d.stats,
        IFNULL( D.num, 0 ) AS wpqnum,
        IFNULL( C.num, 0 ) AS pqnum,
        IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
        IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
        IFNULL( G.yicnum, 0 ) AS scycnum,
        IFNULL( E.sbnum, 0 ) AS jnsbnum,
        A.departmentid,
        A.enterpriseName AS deptname,
        A.stats,
        j.dept_name AS jurname
        FROM
        ( SELECT COUNT( * ) AS num, dept_id, jurisdiction FROM blade_user WHERE role_id = '1412226235153731586' and
        status=1 AND is_deleted=0 GROUP BY
        dept_id, jurisdiction ) A
        ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        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
        ) V ON V.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id,
        jurisdiction
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND hold=1
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        GROUP BY
        dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id
        dept_id
        ) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS paiqnum,
        dept_id,
        jurisdiction
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user
        blade_user bu
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND dispatch=0
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        AND bu.dispatch = '0'
        GROUP BY
        dept_id,
        jurisdiction
        ) C ON C.dept_id = A.dept_id
        bu.dept_id
        ) C ON C.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS wpaiqnum,
        dept_id,
        jurisdiction
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        AND bu.dispatch = 1
        GROUP BY
        bu.dept_id
        ) D ON D.dept_id = A.departmentid
        LEFT JOIN (
        SELECT COUNT( * ) AS sbnum,dept_id FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND dispatch=1
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND soil = 0
        GROUP BY
        dept_id,
        jurisdiction
        ) D ON D.dept_id = A.dept_id
        LEFT JOIN (
        SELECT COUNT( * ) AS sbnum, deptid, jurisdiction FROM sys_socil GROUP BY deptid, jurisdiction
        ) E ON E.deptid = A.dept_id
        dept_id
        ) E ON E.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS wcaijnum,
        dept_id,
        jurisdiction
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND photo=1
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND (avatar is null or avatar = "")
        GROUP BY
        dept_id,
        jurisdiction
        ) F ON F.dept_id = A.dept_id
        dept_id
        ) F ON F.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS ycaijzpnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND avatar is not null and avatar!=""
        GROUP BY
        dept_id
        ) H ON H.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS ycaijzwnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND fingerprint is not null and fingerprint!=""
        GROUP BY
        dept_id
        ) I ON I.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS yicnum,
        dept_id,
        jurisdiction
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND examination_mx=1
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 1
        GROUP BY
        dept_id,
        jurisdiction
        ) G ON G.dept_id = A.dept_id
        LEFT JOIN sys_information d ON A.dept_id = d.departmentid
        dept_id
        ) G ON G.dept_id = A.departmentid
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and A.jurisdiction =#{jurisdiction}
        WHERE
        1 = 1
        AND d.dept_category = 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 d.dept_name like concat(concat('%', #{deptid}),'%')
            and A.enterpriseName like concat(concat('%', #{deptid}),'%')
        </if>
        <if test="stats!=null and stats!=''">
            and d.stats =#{stats}
            and A.stats =#{stats}
        </if>
        <if test="startTime!=null and startTime!=''">
            and A.create_time &gt;= #{startTime}
        </if>
        <if test="endTime!=null and endTime!=''">
            and A.create_time &lt;= #{endTime}
        </if>
    </select>
    <!--查询-->
    <select id="seCountI" resultType="java.util.HashMap">
        SELECT COUNT(*) as num,stats FROM sys_information
        where 1=1 and stats IS NOT NULL
        <if test="deptid!=null and deptid!=''">
            and departmentid=#{deptid}
        </if>
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            AND jurisdiction=#{jurisdiction}
        </if>
        GROUP BY stats
    </select>
    <select id="seCountUm" resultType="java.lang.String">
        SELECT COUNT(*) as mnum FROM `blade_user` WHERE status=1 AND sex=1
        SELECT COUNT(*) as mnum FROM `blade_user` WHERE status=1 and
        role_id = '1412226235153731586'
        and is_deleted = 0 AND sex='1'
        <if test="deptid!=null and deptid!=''">
            and dept_id=#{deptid}
        </if>
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            AND jurisdiction=#{jurisdiction}
        </if>
    </select>
    <select id="seCountUg" resultType="java.lang.String">
        SELECT COUNT(*) as gnum FROM `blade_user` WHERE status=1 AND sex=2
        SELECT COUNT(*) as gnum FROM `blade_user` WHERE status=1 and role_id = '1412226235153731586' and is_deleted = 0
        AND sex='2'
        <if test="deptid!=null and deptid!=''">
            and dept_id=#{deptid}
        </if>
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            AND jurisdiction=#{jurisdiction}
        </if>
    </select>
@@ -1307,15 +1512,15 @@
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND dispatch = 0
        AND dispatch = '0'
        GROUP BY
        dept_id,
        jurisdiction
        ) G ON A.departmentid = G.dept_id
        ) J
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            and J.jurisdiction =#{jurisdiction}
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            and J.jurisdiction in(${jurisdiction})
        </if>
        <if test="enterpriseName!=null and enterpriseName!=''">
            and J.enterpriseName like concat('%', #{enterpriseName},'%')
@@ -1359,7 +1564,7 @@
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1
        AND dispatch = 0
        AND dispatch = '0'
        GROUP BY dept_id,
        jurisdiction
        ) D ON A.departmentid = D.dept_id
@@ -1368,8 +1573,8 @@
        WHERE role_id = '1412226235153731586' and status=1
        GROUP BY dept_id, jurisdiction) E ON A.departmentid = E.dept_id) J
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            and J.jurisdiction =#{jurisdiction}
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            and J.jurisdiction in(${jurisdiction})
        </if>
        <if test="enterpriseName!=null and enterpriseName!=''">
            and J.enterpriseName like concat('%', #{enterpriseName},'%')
@@ -1379,43 +1584,94 @@
    <!--业务统计情况-->
    <select id="selectYw" resultType="java.util.HashMap">
    <select id="selectYw" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
        SELECT
        A.enterpriseName,
        A.departmentid,
        A.stats,
        A.jurisdiction,
        A.dept_name as jurname,
        j.dept_name as jurname,
        IFNULL( C.znum, 0 ) AS znum,
        IFNULL( E.cznum, 0 ) AS cznum,
        IFNULL( F.pqnum, 0 ) AS pqnum,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( C.znum, 0 ) AS znum
        IFNULL( D.dqnum, 0 ) AS dqnum
        FROM
        (
        SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
        enterpriseName,jurisdiction,departmentid,stats,create_time) A
        LEFT JOIN
        (
        SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
        where
        start_time &lt;= now() and end_time &gt; now()
        GROUP BY dept_id
        ) B
        ON A.departmentid = B.dept_id
        LEFT JOIN
        (
        SELECT
        i.enterpriseName,
        i.departmentid,
        i.stats,
        i.jurisdiction,
        j.dept_name
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
        blade_user bu
        WHERE
        i.enterpriseName IS NOT NULL
        ) A
        LEFT JOIN ( SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) B ON A.departmentid =
        B.dept_id
        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' and
        status=1 GROUP BY
        dept_id ) C ON A.departmentid = C.dept_id
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) C
        ON A.departmentid = C.dept_id
        LEFT JOIN
        (
        SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time &lt; now() GROUP BY dept_id
        ) D
        ON A.departmentid = D.dept_id
        LEFT JOIN
        (
        SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where
        hold = 1
        and role_id = '1412226235153731586'
        and status= 1
        and is_deleted = 0
        GROUP BY dept_id
        ) E
        ON A.departmentid = E.dept_id
        LEFT JOIN
        (
        SELECT
        count(*) AS pqnum,
        dept_id
        FROM
        blade_user
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            AND A.jurisdiction=#{jurisdiction}
        and status = 1
        and is_deleted = 0
        and role_id = "1412226235153731586"
        and dispatch = '0'
        GROUP BY
        dept_id
        ) F
        ON A.departmentid = F.dept_id
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1 =1
        and d.dept_category = 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 A.enterpriseName like concat('%', #{deptid},'%')
        </if>
        <if test="stats!=null and stats!=''">
            and A.stats=#{stats}
        </if>
        <if test="startTime!=null and startTime!=''">
            and A.create_time &gt;= #{startTime}
        </if>
        <if test="endTime!=null and endTime!=''">
            and A.create_time &lt;= #{endTime}
        </if>
    </select>
@@ -1431,16 +1687,17 @@
        u.photo,
        u.examination_type,
        u.dispatch,
        i.enterpriseName
        bd.dept_name enterpriseName
        FROM
        blade_user u
        LEFT JOIN sys_information i ON i.departmentid = u.dept_id
        LEFT JOIN blade_dept bd ON bd.id = u.dept_id
        WHERE
        u.role_id = '1412226235153731586'
        AND u.is_deleted = 0
        AND u.`status` =1
        AND u.`status` = 1
        and bd.is_deleted = 0
        <if test="deptid!=null and deptid!=''">
            and dept_id=#{deptid}
            and (bd.id = #{deptid} or bd.parent_id = #{deptid})
        </if>
        <if test="name!=null and name!=''">
            and real_name like concat('%', #{name},'%')
@@ -1474,7 +1731,7 @@
        LEFT JOIN sys_dispatcher_unit u ON u.id = di.dispatcher_unit_id
        LEFT JOIN sys_jurisdiction j ON j.id = di.jurisdiction where 1=1
        and di.dept_id=#{deptid}
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            and di.jurisdiction =#{jurisdiction}
        </if>
        <if test="fid!=null and fid!=''">
@@ -1492,8 +1749,8 @@
        SELECT COUNT(*) AS num,
        deptid
        FROM `sys_punish` where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and jurisdiction =#{jurisdiction}
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and jurisdiction in(${jurisdiction})
        </if>
        GROUP BY deptid
    </select>
@@ -1507,7 +1764,7 @@
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id=i.jurisdiction WHERE i.creditCode is NULL
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
@@ -1524,11 +1781,9 @@
        SELECT u.enterpriseName,
        u.departmentid,
        u.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM sys_information u
        LEFT JOIN blade_dept d ON d.id = u.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction WHERE u.stats!=1
        ) A
        LEFT JOIN (
        SELECT COUNT(*) AS cznum,
@@ -1548,13 +1803,46 @@
        AND is_deleted = 0
        GROUP BY dept_id
        ) C ON C.dept_id = A.departmentid
        LEFT JOIN (SELECT COUNT(*) AS znum, dept_id
        FROM blade_user
        WHERE role_id = '1412226235153731586' AND `status`=1
        AND is_deleted = 0
        GROUP BY dept_id) D ON D.dept_id = A.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and A.jurisdiction = #{jurisdiction}
        LEFT JOIN (SELECT
        J.znum+J.fznum as znum,
        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 )D ON D.dept_id = A.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1372091709474910209'">
            and A.jurisdiction in(${jurisdiction})
        </if>
    </select>
@@ -1567,7 +1855,7 @@
        IFNULL( d.num, 0 ) AS fwnum,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.painum, 0 ) AS painum,
        IFNULL( D.znum, 0 ) AS znum
        IFNULL( E.znum, 0 ) AS znum
        FROM
        sys_information i
        LEFT JOIN ( SELECT COUNT( * ) num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) d ON i.departmentid =
@@ -1593,7 +1881,7 @@
        FROM
        blade_user
        WHERE
        dispatch = 0
        dispatch = '0'
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
@@ -1612,9 +1900,9 @@
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) D ON D.dept_id = i.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and i.jurisdiction = #{jurisdiction}
        ) E ON E.dept_id = i.departmentid where 1=1 AND i.stats!=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1372091709474910209'">
            and i.jurisdiction in(${jurisdiction})
        </if>
    </select>
@@ -1650,7 +1938,7 @@
        FROM
        blade_user
        WHERE
        dispatch = 0
        dispatch = '0'
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
@@ -1671,25 +1959,1750 @@
        dept_id
        ) D ON D.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) fwnum, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) E ON i.departmentid =
        E.dept_id WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and i.jurisdiction = #{jurisdiction}
        E.dept_id WHERE 1 =1 AND i.stats!=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1372091709474910209'">
            and i.jurisdiction in(${jurisdiction})
        </if>
    </select>
    <select id="selectAge" resultType="java.util.HashMap">
        SELECT
        IFNULL(TIMESTAMPDIFF( YEAR, bu.birthday, CURDATE( ) ),0) AS age
        IFNULL(YEAR (now()) - YEAR (substring(bu.cardid, 7, 8)),0) AS age
        FROM
        blade_user bu
        LEFT JOIN sys_information si ON si.departmentid = bu.dept_id
        WHERE bu.`status`=1 AND bu.role_id='1412226235153731586'
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1372091709474910209'">
            and bu.jurisdiction = #{jurisdiction}
        </if>
        <if test="deptid!=null and deptid != ''">
            and bu.dept_id = #{deptid}
        </if>
    </select>
    <!--查询所有辖区-->
    <select id="selJur" resultType="java.util.HashMap">
        SELECT dept.id,
               dept_name as deptname
        FROM sys_jurisdiction dept
        WHERE (
                  SELECT CASE
                             WHEN
                                 count(1) > 0 THEN
                                 1
                             ELSE 0
                             END
                  FROM sys_jurisdiction
                  WHERE parent_id = dept.id
                    AND is_deleted = 0
              ) = 1
          AND parent_id!=0
    </select>
    <!--查辖区的子数据-->
    <select id="selJurchilder" resultType="java.lang.String">
        SELECT GROUP_CONCAT(id) as id
        FROM sys_jurisdiction
        WHERE parent_id = #{id}
    </select>
    <select id="seleJuList" resultType="java.util.HashMap">
        SELECT COUNT(stats) as num
        FROM sys_information
        WHERE stats = 0
          AND jurisdiction IN (${substring})
        UNION ALL
        SELECT COUNT(stats)
        FROM sys_information
        WHERE stats = 1
          AND jurisdiction IN (${substring})
        UNION ALL
        SELECT COUNT(stats)
        FROM sys_information
        WHERE stats = 2
          AND jurisdiction IN (${substring})
        UNION ALL
        SELECT COUNT(stats)
        FROM sys_information
        WHERE stats = 3
          AND jurisdiction IN (${substring})
        UNION ALL
        SELECT COUNT(stats)
        FROM sys_information
        WHERE stats = 4
          AND jurisdiction IN (${substring})
    </select>
    <!--查询出所有辖区信息-->
    <select id="selectJur" resultType="java.util.HashMap">
        SELECT dept.id,
               dept_name
        FROM sys_jurisdiction dept
        WHERE (
                  SELECT CASE
                             WHEN
                                 count(1) > 0 THEN
                                 1
                             ELSE 0
                             END
                  FROM sys_jurisdiction
                  WHERE parent_id = dept.id
                    AND is_deleted = 0
              ) = 1
          AND parent_id!=0
    </select>
    <!--获取保安公司信息(本市保安公司,分公司)包含经纬度-->
    <select id="getSecurityUnitPositionInfo" resultType="org.springblade.modules.information.vo.InformationVO">
        select si.*,
               sj.dept_name jurisdictionName
        from sys_information si
                 left join
             sys_jurisdiction sj
             on
                 si.jurisdiction = sj.id
        where 1 = 1
          and (stats = 2 or stats = 4)
    </select>
    <!--根据辖区查询保安公司分页信息(本市保安公司,分公司)-->
    <select id="getSecurityUnitInfoPage" resultType="org.springblade.modules.information.vo.InformationVO">
        select
        si.*,sj.dept_name jurisdictionName
        from
        sys_information si
        left join
        sys_jurisdiction sj
        on
        si.jurisdiction = sj.id
        where 1=1
        and (stats = 0 or stats = 1 or stats = 2 or stats = 4)
        <if test="information.jurisdiction!=null and information.jurisdiction!=''">
            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
        </if>
    </select>
    <sql id="getSecurity">
        select dept_id,
               ifnull(count(*), 0) count
        from blade_user bu
            left join blade_role br
        on bu.role_id = br.id
        where
            role_alias = "安保人员"
          and bu.is_deleted = 0
          and bu.`status` = 1
    </sql>
    <!--根据辖区查询统计保安公司持证情况分页信息(本市保安公司,分公司)-->
    <select id="getSecurityUnitHoldInfoPage" resultType="org.springblade.modules.information.vo.InformationVO">
        select
        si.*,sj.dept_name jurisdictionName,
        ifnull(a.count,0) znum,
        ifnull(b.count,0) cnum,
        ifnull(c.count,0) pnum
        from sys_information si
        left join
        (
        <include refid="getSecurity"/>
        group by dept_id
        ) a
        on
        a.dept_id = si.departmentid
        left join
        (
        <include refid="getSecurity"/>
        and bu.hold = 1
        group by dept_id
        ) b
        on
        b.dept_id = si.departmentid
        left join
        (
        <include refid="getSecurity"/>
        and bu.hold = 2
        group by dept_id
        ) c
        on
        c.dept_id = si.departmentid
        left join
        sys_jurisdiction sj
        on
        si.jurisdiction = sj.id
        where 1=1
        and (si.stats = 2 or si.stats = 4)
        <if test="information.jurisdiction!=null and information.jurisdiction!=''">
            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
        </if>
    </select>
    <!--根据辖区查询统计保安公司(1:持证率低于50% 2:派遣率低于50%  3:缴纳社保率低于50% 的保安公司个数及保安公司分页信息(本市保安公司,分公司)-->
    <select id="getSecurityUnitLess50Page" resultType="org.springblade.modules.information.vo.InformationVO">
        select c.*,sj.dept_name jurisdictionName,si.enterpriseName enterprisename from (
        select
        a.dept_id,
        ifnull(a.count,0) znum,
        ifnull(b.count,0) cnum,
        ifnull(FORMAT((b.count/a.count)*100,2),0) pnum
        from
        (
        select dept_id,
        ifnull(count(*), 0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        group by dept_id
        ) a
        left join
        (
        select dept_id,
        ifnull(count(*), 0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        <if test="type==1">
            and bu.hold = 1
        </if>
        <if test="type==2">
            and bu.dispatch = '0'
        </if>
        <if test="type==3">
            and bu.soil = 0
        </if>
        <if test="type==4">
            and bu.insurance = 0
        </if>
        group by dept_id
        ) b
        on
        a.dept_id = b.dept_id
        )c
        left join
        sys_information si
        on
        si.departmentid = c.dept_id
        left join
        sys_jurisdiction sj
        on
        si.jurisdiction = sj.id
        where 1=1
        and (si.stats = 2 or si.stats = 4)
        and pnum &lt; #{information.proportion}
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
        </if>
        <if test="information.departmentid!=null and information.departmentid!=''">
            and c.departmentid = #{information.departmentid}
        </if>
    </select>
    <!-- and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})-->
    <!--根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司)-->
    <select id="getSecurityUnitExamLess50Page" resultType="org.springblade.modules.information.vo.InformationVO">
        select d.*,sj.dept_name jurisdictionName from (
        select
        si.*,
        ifnull(a.count,0) znum,
        ifnull(b.count,0) cnum,
        ifnull(FORMAT((b.count/c.count)*100,2),0) pnum,
        ifnull(c.count,0) knum
        from sys_information si
        left join
        (
        <include refid="getSecurity"/>
        group by dept_id
        ) a
        on
        a.dept_id = si.departmentid
        left join
        (
        select b1.dept_id,ifnull(b2.count,0) count from
        (
        select
        bu.dept_id,ifnull(count(*),0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        group by dept_id
        ) b1
        left join
        (
        select count(*) count,bu.dept_id from
        exam_score es
        left join
        blade_user bu
        on
        bu.id = es.user_id
        where qualified = 0 group by bu.dept_id
        ) b2
        on
        b1.dept_id = b2.dept_id
        ) b
        on
        b.dept_id = si.departmentid
        left join
        (
        select c1.dept_id,ifnull(c2.count,0) count from
        (
        select
        bu.dept_id,ifnull(count(*),0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        group by dept_id
        ) c1
        left join
        (
        select count(*) count,bu.dept_id from
        exam_score es
        left join
        blade_user bu
        on
        bu.id = es.user_id
        where 1=1 group by bu.dept_id
        ) c2
        on
        c1.dept_id = c2.dept_id
        ) c
        on
        c.dept_id = si.departmentid
        )d
        left join
        sys_jurisdiction sj
        on
        d.jurisdiction = sj.id
        where 1=1
        and (d.stats = 2 or d.stats = 4)
        and knum != 0
        and pnum &lt; #{information.proportion}
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
        </if>
    </select>
    <sql id="getSubstationWarn">
        left join
            sys_information si
            on
            si.departmentid = bu.dept_id
            left join
            sys_jurisdiction sj
            on
            sj.id = si.jurisdiction
            where
            1=1
            and (si.stats = 2 or si.stats =4)
            and bu.is_deleted = 0
            and bu.`status` = 1
    </sql>
    <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,资格审查异常,考试通过率低于50%,持证率低于50%)-->
    <select id="getSubstationWarnInfoPage" resultType="org.springblade.modules.information.vo.InformationVO">
        (select
        sj1.dept_name jurisdictionName,
        si1.enterpriseName enterprisename,
        "表现差" detail,
        a.count znum
        from (
        select
        bu.dept_id,count(*) count
        from sys_performance sp
        left join
        blade_user bu
        on
        bu.id = sp.securityId
        where
        1=1
        and bu.is_deleted = 0
        and bu.`status` = 1
        and sp.score = 3
        GROUP BY bu.dept_id
        ) a
        left join
        sys_information si1
        on
        a.dept_id = si1.departmentid
        left join
        sys_jurisdiction sj1
        on
        sj1.id = si1.jurisdiction
        where 1=1
        and (si1.stats = 2 or si1.stats =4)
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
        </if>
        )
        union
        (
        select
        sj1.dept_name jurisdictionName,
        si1.enterpriseName enterprisename,
        "资格审查异常" detail,
        a.count znum
        from (
        select
        bu.dept_id,count(*) count
        from
        blade_user bu
        where
        1=1
        and bu.is_deleted = 0
        and bu.`status` = 1
        and bu.examination_type = 1
        GROUP BY bu.dept_id
        ) a
        left join
        sys_information si1
        on
        a.dept_id = si1.departmentid
        left join
        sys_jurisdiction sj1
        on
        sj1.id = si1.jurisdiction
        where 1=1
        and (si1.stats = 2 or si1.stats =4)
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
        </if>
        )
        union
        (
        select
        sj1.dept_name jurisdictionName,
        si1.enterpriseName enterprisename,
        "考试通过率低于50%" detail,
        e.count znum
        from
        (
        select d.dept_id,count(*) count from (
        select a.dept_id, ifnull(b.count, 0) num1, ifnull(c.count, 0) num2,ifnull(FORMAT((c.count/b.count)*100, 2), 0)
        num3 from
        (
        select
        bu.dept_id, ifnull(count(*), 0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        group by dept_id
        ) a
        left join
        (
        select count(*) count, bu.dept_id from
        exam_score es
        left join
        blade_user bu
        on
        bu.id = es.user_id
        where 1=1 group by bu.dept_id
        ) b
        on
        a.dept_id = b.dept_id
        left join
        (
        select count(*) count, bu.dept_id from
        exam_score es
        left join
        blade_user bu
        on
        bu.id = es.user_id
        where qualified = 0 group by bu.dept_id
        ) c
        on
        c.dept_id = a.dept_id
        where 1=1
        ) d
        where 1=1
        and num1!=0
        and num3 &lt; 50
        GROUP BY dept_id
        ) e
        left join
        sys_information si1
        on
        e.dept_id = si1.departmentid
        left join
        sys_jurisdiction sj1
        on
        sj1.id = si1.jurisdiction
        where 1=1
        and (stats = 2 or stats=4)
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
        </if>
        )
        union
        (
        select
        sj1.dept_name jurisdictionName,
        si1.enterpriseName enterprisename,
        "持证率低于50%" detail,
        e.count znum
        from
        (
        select c.dept_id,count(*) count from (
        SELECT
        a.dept_id,
        ifnull(a.count,0) num1,
        ifnull(b.count,0) num2,
        ifnull(FORMAT((b.count/a.count)*100,2),0) num3
        FROM (
        SELECT
        bu.dept_id,
        ifnull(count(*),0) count
        FROM
        blade_user bu
        LEFT JOIN blade_role br ON bu.role_id = br.id
        WHERE
        role_alias = "安保人员"
        AND bu.is_deleted = 0
        AND bu.`status` = 1
        GROUP BY
        dept_id
        ) a
        LEFT JOIN (
        SELECT
        bu.dept_id,
        ifnull(count(*),0) count
        FROM
        blade_user bu
        LEFT JOIN blade_role br ON bu.role_id = br.id
        WHERE
        role_alias = "安保人员"
        AND bu.is_deleted = 0
        AND bu.`status` = 1
        AND bu.hold = 1
        GROUP BY
        dept_id
        ) b ON a.dept_id = b.dept_id
        ) c
        where 1=1
        and num3 &lt; 50
        GROUP BY c.dept_id
        ) e
        left join
        sys_information si1
        on
        e.dept_id = si1.departmentid
        left join
        sys_jurisdiction sj1
        on
        sj1.id = si1.jurisdiction
        where 1=1
        AND ( stats = 2 OR stats = 4 )
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
        </if>
        )
        union
        (
        select
        sj1.dept_name jurisdictionName,
        si1.enterpriseName enterprisename,
        "社保缴纳率低于50%" detail,
        e.count znum
        from
        (
        select c.dept_id,count(*) count from (
        SELECT
        a.dept_id,
        ifnull(a.count,0) num1,
        ifnull(b.count,0) num2,
        ifnull(FORMAT((b.count/a.count)*100,2),0) num3
        FROM (
        SELECT
        bu.dept_id,
        ifnull(count(*),0) count
        FROM
        blade_user bu
        LEFT JOIN blade_role br ON bu.role_id = br.id
        WHERE
        role_alias = "安保人员"
        AND bu.is_deleted = 0
        AND bu.`status` = 1
        GROUP BY
        dept_id
        ) a
        LEFT JOIN (
        SELECT
        bu.dept_id,
        ifnull(count(*),0) count
        FROM
        blade_user bu
        LEFT JOIN blade_role br ON bu.role_id = br.id
        WHERE
        role_alias = "安保人员"
        AND bu.is_deleted = 0
        AND bu.`status` = 1
        AND bu.soil = 0
        GROUP BY
        dept_id
        ) b ON a.dept_id = b.dept_id
        ) c
        where 1=1
        and num3 &lt; 50
        GROUP BY c.dept_id
        ) e
        left join
        sys_information si1
        on
        e.dept_id = si1.departmentid
        left join
        sys_jurisdiction sj1
        on
        sj1.id = si1.jurisdiction
        where 1=1
        AND ( stats = 2 OR stats = 4 )
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
        </if>
        )
        union
        (
        select
        sj1.dept_name jurisdictionName,
        si1.enterpriseName enterprisename,
        "派遣率低于50%" detail,
        e.count znum
        from
        (
        select c.dept_id,count(*) count from (
        SELECT
        a.dept_id,
        ifnull(a.count,0) num1,
        ifnull(b.count,0) num2,
        ifnull(FORMAT((b.count/a.count)*100,2),0) num3
        FROM (
        SELECT
        bu.dept_id,
        ifnull(count(*),0) count
        FROM
        blade_user bu
        LEFT JOIN blade_role br ON bu.role_id = br.id
        WHERE
        role_alias = "安保人员"
        AND bu.is_deleted = 0
        AND bu.`status` = 1
        GROUP BY
        dept_id
        ) a
        LEFT JOIN (
        SELECT
        bu.dept_id,
        ifnull(count(*),0) count
        FROM
        blade_user bu
        LEFT JOIN blade_role br ON bu.role_id = br.id
        WHERE
        role_alias = "安保人员"
        AND bu.is_deleted = 0
        AND bu.`status` = 1
        AND bu.dispatch = '0'
        GROUP BY
        dept_id
        ) b ON a.dept_id = b.dept_id
        ) c
        where 1=1
        and num3 &lt; 50
        GROUP BY c.dept_id
        ) e
        left join
        sys_information si1
        on
        e.dept_id = si1.departmentid
        left join
        sys_jurisdiction sj1
        on
        sj1.id = si1.jurisdiction
        where 1=1
        AND ( stats = 2 OR stats = 4 )
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
        </if>
        )
    </select>
    <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息-->
    <select id="getSecurityUnitServerLess2Page" resultType="org.springblade.modules.information.vo.InformationVO">
        select * from
        (
        select
        DISTINCT
        si.id,
        si.departmentid,
        si.jurisdiction,
        si.enterprisename,
        sj.dept_name jurisdictionName,
        ifnull(a.count,0) znum,
        sdu.name dispatchUnitName,
        sdu.end_time
        from sys_information si
        left join
        sys_dispatcher_unit sdu
        on
        si.departmentid = sdu.dept_id
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        left join
        (
        select ifnull(count(*),0) count,dept_id from sys_dispatcher_unit
        where 1=1
        and start_time &lt;= now()
        and end_time &gt; now()
        GROUP BY dept_id
        ) a
        on
        a.dept_id = si.departmentid
        where 1=1
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
        </if>
        ) b
        where b.znum &lt; 2
        <if test="information.departmentid!=null and information.departmentid!=''">
            and b.departmentid = #{information.departmentid}
        </if>
    </select>
    <!--统计表现差的信息-->
    <select id="getSecurityPerformanceGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">
        select a.id,
               a.dept_name        name,
               ifnull(b.count, 0) num
        from (select id, dept_name from sys_jurisdiction where parent_id = 1372091709474910209) a
                 left join
             (
                 select sj.id,
                        sj.parent_id,
                        count(*) count
                 from sys_performance sp
                     left join
                     blade_user bu
                 on
                     bu.id = sp.securityId
                     left join
                     sys_information si
                     on
                     bu.dept_id = si.departmentid
                     left join
                     sys_jurisdiction sj
                     on
                     sj.id = si.jurisdiction
                 where
                     1=1
                   and (si.stats = 2
                    or si.stats =4)
                   and bu.is_deleted = 0
                   and bu.`status` = 1
                   and sp.score = 3
                 group by si.jurisdiction
             ) b
             on
                 a.id = b.parent_id
    </select>
    <!--统计资格审查异常信息-->
    <select id="getSecurityExaminationGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">
        select a.id, a.dept_name name, ifnull(b.count, 0) num
        from (select id, dept_name from sys_jurisdiction where parent_id = 1372091709474910209) a
                 left join
             (
                 select sj.id,
                        sj.parent_id,
                        count(*) count
                 from
                     blade_user bu
                     left join
                     sys_information si
                 on
                     bu.dept_id = si.departmentid
                     left join
                     sys_jurisdiction sj
                     on
                     sj.id = si.jurisdiction
                 where
                     1=1
                   and (si.stats = 2
                    or si.stats =4)
                   and bu.is_deleted = 0
                   and bu.`status` = 1
                   and bu.examination_type = 1
                 group by si.jurisdiction
             ) b
             on
                 a.id = b.parent_id
    </select>
    <!--考试通过率低于50%-->
    <select id="getSecurityExamPassingGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">
        select g.id, g.dept_name name, ifnull(f.count, 0) num
        from (select id, dept_name from sys_jurisdiction where parent_id = 1372091709474910209) g
                 left join
             (
                 select e.id, e.parent_id, count(*) count
                 from (
                     select d.*, ifnull(FORMAT((num2/num1)*100, 2), 0) num3, sj.* from (
                     select a.dept_id, ifnull(b.count, 0) num1, ifnull(c.count, 0) num2 from
                     (
                     select
                     bu.dept_id, ifnull(count (*), 0) count
                     from blade_user bu
                     left join blade_role br
                     on bu.role_id = br.id
                     where
                     role_alias = "安保人员"
                     and bu.is_deleted = 0
                     and bu.`status` = 1
                     group by dept_id
                     ) a
                     left join
                     (
                     select count (*) count, bu.dept_id from
                     exam_score es
                     left join
                     blade_user bu
                     on
                     bu.id = es.user_id
                     where 1=1 group by bu.dept_id
                     ) b
                     on
                     a.dept_id = b.dept_id
                     left join
                     (
                     select count (*) count, bu.dept_id from
                     exam_score es
                     left join
                     blade_user bu
                     on
                     bu.id = es.user_id
                     where qualified = 0 group by bu.dept_id
                     ) c
                     on a.dept_id = c.dept_id
                     ) d
                     left join
                     sys_information si
                     on
                     si.departmentid = d.dept_id
                     left join
                     sys_jurisdiction sj
                     on
                     sj.id = si.jurisdiction
                     where d.num1!=0
                     and (stats = 2 or stats=4)
                     ) e
                 where e.num3 &lt; 50
                 group by e.id
             ) f
             on
                 g.id = f.parent_id
    </select>
    <!--持证率低于50%,社保缴纳率低于50%,派遣率低于50%-->
    <!--    <select id="getSecurityHoldAndSoidAndDispatchGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">-->
    <!--        select g.id,g.dept_name name,ifnull(f.count,0) num-->
    <!--            from-->
    <!--        (select id,dept_name from sys_jurisdiction where parent_id = 1372091709474910209) g-->
    <!--            left join-->
    <!--        (-->
    <!--            select e.id,e.parent_id,count(*) count from (-->
    <!--                select d.*,ifnull(FORMAT((num2/num1)*100,2),0) num3,sj.* from (-->
    <!--                    select a.dept_id,ifnull(a.count,0) num1,ifnull(b.count,0) num2 from-->
    <!--                    (-->
    <!--                    select-->
    <!--                    bu.dept_id,ifnull(count(*),0) count-->
    <!--                    from blade_user bu-->
    <!--                    left join blade_role br-->
    <!--                    on bu.role_id = br.id-->
    <!--                    where-->
    <!--                    role_alias = "安保人员"-->
    <!--                    and bu.is_deleted = 0-->
    <!--                    and bu.`status` = 1-->
    <!--                    group by dept_id-->
    <!--                    ) a-->
    <!--                    left join-->
    <!--                    (-->
    <!--                    select-->
    <!--                    bu.dept_id,ifnull(count(*),0) count-->
    <!--                    from blade_user bu-->
    <!--                    left join blade_role br-->
    <!--                    on bu.role_id = br.id-->
    <!--                    where-->
    <!--                    role_alias = "安保人员"-->
    <!--                    and bu.is_deleted = 0-->
    <!--                    and bu.`status` = 1-->
    <!--                    <if test="type==1">-->
    <!--                        and bu.hold = 1-->
    <!--                    </if>-->
    <!--                    <if test="type==2">-->
    <!--                        and bu.dispatch = 0-->
    <!--                    </if>-->
    <!--                    <if test="type==3">-->
    <!--                        and bu.soil = 0-->
    <!--                    </if>-->
    <!--                    group by dept_id-->
    <!--                    ) b-->
    <!--                    on-->
    <!--                    a.dept_id = b.dept_id-->
    <!--                )d-->
    <!--                left join-->
    <!--                sys_information si-->
    <!--                on-->
    <!--                si.departmentid = d.dept_id-->
    <!--                left join-->
    <!--                sys_jurisdiction sj-->
    <!--                on-->
    <!--                sj.id = si.jurisdiction-->
    <!--                and (stats = 2 or stats=4)-->
    <!--            )e-->
    <!--            where e.num3 &lt; 50-->
    <!--            group by e.id-->
    <!--        ) f-->
    <!--            on-->
    <!--        g.id = f.parent_id-->
    <!--    </select>-->
    <!--持证率低于50%,社保缴纳率低于50%,派遣率低于50%-->
    <select id="getSecurityHoldAndSoidAndDispatchGroupCountList"
            resultType="org.springblade.modules.information.vo.ResponseVo">
        select g.id,g.dept_name name,ifnull(f.count,0) num
        from
        (select id,dept_name from sys_jurisdiction where parent_id = 1372091709474910209) g
        left join
        (
        select c.id,c.parent_id,count(*) count from (
        select si.enterpriseName,sj.id,sj.parent_id,a.dept_id,ifnull(a.count,0) num1,ifnull(b.count,0)
        num2,ifnull(FORMAT((b.count/a.count)*100,2),0) num3 from
        (
        select
        bu.dept_id,ifnull(count(*),0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        group by dept_id
        ) a
        left join
        (
        select
        bu.dept_id,ifnull(count(*),0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        <if test="type==1">
            and bu.hold = 1
        </if>
        <if test="type==2">
            and bu.dispatch = '0'
        </if>
        <if test="type==3">
            and bu.soil = 0
        </if>
        group by dept_id
        ) b
        on
        a.dept_id = b.dept_id
        left join
        sys_information si
        on
        a.dept_id = si.departmentid
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        where 1=1
        and (stats = 2 or stats=4)
        )c
        where c.num3 &lt; 50
        group by c.id
        ) f
        on
        g.id = f.parent_id
    </select>
    <select id="seleP" resultType="java.util.HashMap">
        SELECT
        IFNULL(G.pnum, 0) AS pnum,
        IFNULL(K.wpnum, 0) AS wpnum
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        LEFT JOIN (
        SELECT COUNT(*) AS pnum,
        dept_id
        FROM sys_dispatcher
        WHERE STATUS = 0
        GROUP BY dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        J.znum+J.fznum as wpnum,
        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.dispatch = 1
        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.dispatch = 1
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) J
        ) K ON K.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 (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <select id="seleFj" resultType="java.util.HashMap">
        SELECT i.departmentid,
        i.enterpriseName,
        IFNULL(D.znum, 0) AS znum,
        IFNULL(F.num, 0) AS fwnum,
        IFNULL(B.cznum, 0) AS cznum,
        IFNULL(C.sbnum, 0) AS sbnum
        FROM sys_information i
        LEFT JOIN (
        SELECT COUNT(*) AS znum,
        dept_id
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) D ON D.dept_id = i.departmentid
        LEFT JOIN (SELECT COUNT(*) num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id) F
        ON i.departmentid = D.dept_id
        LEFT JOIN (
        SELECT COUNT(*) AS cznum,
        dept_id
        FROM blade_user
        WHERE hold = 1
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) B ON B.dept_id = i.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS sbnum,
        dept_id
        FROM blade_user
        WHERE soil = 0
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) C ON C.dept_id = i.departmentid
        WHERE 1 = 1
        AND i.stats !=0
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1372091709474910209'">
            and i.jurisdiction in(${jurisdiction})
        </if>
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptHashChildrens" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptHashChildren" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
    </select>
    <!--查询单位的人数-->
    <select id="selectInformationUserNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的已派遣人数-->
    <select id="selectInformationDispatcherNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND dispatch='0'
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的未派遣人数-->
    <select id="selectInformationNotDispatcherNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND dispatch=1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位持证的人数-->
    <select id="selectInformationHoldNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND hold=1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询服务单位数-->
    <select id="selectInformationUnitNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM sys_dispatcher_unit
        where
        start_time &lt;= now() and end_time &gt; now()
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询服务单位到期数-->
    <select id="selectInformationUnitExpireNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM sys_dispatcher_unit
        where end_time &lt; now()
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <select id="selectBxc" resultType="java.util.HashMap">
        SELECT u.real_name as realName,
        d.dept_name as deptName,
        u.sex,
        u.cardid,
        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(u.cardid, 7, 4), 0) AS age,
        u.securitynumber,
        u.phone,
        p.score
        FROM sys_performance p
        LEFT JOIN blade_user u ON p.securityId = u.id
        LEFT JOIN blade_dept d ON d.id = p.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = p.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="type!=null and type=='1'.toString()">
            and to_days(p.time) = to_days(now())
        </if>
        <if test="type!=null and type=='2'.toString()">
            and DATE_FORMAT(p.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
        </if>
        and p.score = 3
    </select>
    <!--查询单位的已采集照片人数-->
    <select id="selectInformationUnitAvatarNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND avatar is not null and avatar!=""
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的未采集照片人数-->
    <select id="selectInformationUnitNotAvatarNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND (avatar is null or avatar = "")
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的已采集指纹人数-->
    <select id="selectInformationUnitZwNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND fingerprint is not null and fingerprint!=""
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的审查异常人数-->
    <select id="selectInformationUnitYcNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND examination_type = 1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的社保缴纳人数-->
    <select id="selectInformationUnitJnsbNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND soil = 0
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptChildrens" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{param1}
    </select>
    <!--导出保安员统计查询-->
    <select id="exportSecurityStatisInfo" resultType="org.springblade.modules.information.excel.ExportInformationSecurityStatistics">
        SELECT
        IFNULL( V.num, 0 ) AS num,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( D.num, 0 ) AS wpqnum,
        IFNULL( C.num, 0 ) AS pqnum,
        IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
        IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
        IFNULL( G.yicnum, 0 ) AS scycnum,
        IFNULL( E.sbnum, 0 ) AS jnsbnum,
        A.departmentid,
        A.enterpriseName AS deptname,
        case when A.stats=0 then '自招保安单位'
        when A.stats=2 then '本市保安公司'
        when A.stats=4 then '分公司'
        else "其他" end as stats,
        j.dept_name AS jurname
        FROM
        ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        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
        ) V ON V.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        GROUP BY
        dept_id
        ) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        AND bu.dispatch = '0'
        GROUP BY
        bu.dept_id
        ) C ON C.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        AND bu.dispatch = 1
        GROUP BY
        bu.dept_id
        ) D ON D.dept_id = A.departmentid
        LEFT JOIN (
        SELECT COUNT( * ) AS sbnum,dept_id FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND soil = 0
        GROUP BY
        dept_id
        ) E ON E.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS wcaijnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND (avatar is null or avatar = "")
        GROUP BY
        dept_id
        ) F ON F.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS ycaijzpnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND avatar is not null and avatar!=""
        GROUP BY
        dept_id
        ) H ON H.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS ycaijzwnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND fingerprint is not null and fingerprint!=""
        GROUP BY
        dept_id
        ) I ON I.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS yicnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 1
        GROUP BY
        dept_id
        ) G ON G.dept_id = A.departmentid
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE
        1 = 1
        AND d.dept_category = 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 A.enterpriseName like concat(concat('%', #{deptid}),'%')
        </if>
        <if test="stats!=null and stats!=''">
            and A.stats =#{stats}
        </if>
        <if test="startTime!=null and startTime!=''">
            and A.create_time &gt;= #{startTime}
        </if>
        <if test="endTime!=null and endTime!=''">
            and A.create_time &lt;= #{endTime}
        </if>
    </select>
    <!--导出业务统计情况-->
    <select id="exportBusinessStatis" resultType="org.springblade.modules.information.excel.ExportInformationExcel">
        SELECT
        A.enterpriseName,
        A.departmentid,
        case when A.stats=0 then '自招保安单位'
        when A.stats=2 then '本市保安公司'
        when A.stats=4 then '分公司'
        else "其他" end as stats,
        A.jurisdiction,
        j.dept_name as jurname,
        IFNULL( C.znum, 0 ) AS znum,
        IFNULL( E.cznum, 0 ) AS cznum,
        IFNULL( F.pqnum, 0 ) AS pqnum,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( D.dqnum, 0 ) AS dqnum
        FROM
        (
        SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
        enterpriseName,jurisdiction,departmentid,stats,create_time) A
        LEFT JOIN
        (
        SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
        where
        start_time &lt;= now() and end_time &gt; now()
        GROUP BY dept_id
        ) B
        ON A.departmentid = B.dept_id
        LEFT JOIN
        (
        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
        ) C
        ON A.departmentid = C.dept_id
        LEFT JOIN
        (
        SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time &lt; now() GROUP BY dept_id
        ) D
        ON A.departmentid = D.dept_id
        LEFT JOIN
        (
        SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where
        hold = 1
        and role_id = '1412226235153731586'
        and status= 1
        and is_deleted = 0
        GROUP BY dept_id
        ) E
        ON A.departmentid = E.dept_id
        LEFT JOIN
        (
        SELECT
        count(*) AS pqnum,
        dept_id
        FROM
        blade_user
        where 1=1
        and status = 1
        and is_deleted = 0
        and role_id = "1412226235153731586"
        and dispatch = '0'
        GROUP BY
        dept_id
        ) F
        ON A.departmentid = F.dept_id
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1 =1
        and d.dept_category = 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 A.enterpriseName like concat('%', #{deptid},'%')
        </if>
        <if test="stats!=null and stats!=''">
            and A.stats=#{stats}
        </if>
        <if test="startTime!=null and startTime!=''">
            and A.create_time &gt;= #{startTime}
        </if>
        <if test="endTime!=null and endTime!=''">
            and A.create_time &lt;= #{endTime}
        </if>
    </select>
    <!--更具部门id 查询所有的父级部门id包含本身-->
    <select id="getDeptDetails" resultType="java.lang.String">
        SELECT
            T1._id
        FROM
            (
            SELECT
                @r AS _id,
                ( SELECT @r := parent_id FROM blade_dept WHERE id = _id ) AS parent_id,
                @l := @l + 1 AS lvl
            FROM
                ( SELECT @r := #{information.departmentid}, @l := 0 ) vars,
                blade_dept h
            ) T1
        where T1._id!=0
        AND T1._id != 1413470343230877697
        AND T1._id != 1418458374477549569
        AND T1._id != 1420222768149966850
        AND T1._id != 1425366663452196865
        order by T1._id
    </select>
    <!--根据部门id 查询公司信息-->
    <select id="getInformationDetails" resultType="org.springblade.modules.information.vo.InformationVO">
        select si.*,sj.dept_name jurisdictionName from sys_information si
        left join sys_jurisdiction sj on sj.id = si.jurisdiction
        where si.departmentid = #{deptId}
    </select>
</mapper>