Administrator
2021-09-18 3b1e22dc8460daafc2ecbae478ddcbe5ea21b944
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -3,12 +3,11 @@
<mapper namespace="org.springblade.modules.information.mapper.InformationMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="informationResultMap" type="org.springblade.modules.information.entity.Information">
    <resultMap id="informationResultMap" type="org.springblade.modules.information.vo.InformationVO">
        <id column="id" property="id"/>
        <result column="creditCode" property="creditcode"/>
        <result column="enterpriseName" property="enterprisename"/>
        <result column="representative" property="representative"/>
        <result column="regstsat" property="regstsat"/>
        <result column="establishTime" property="establishtime"/>
        <result column="registeredCapital" property="registeredcapital"/>
        <result column="capital" property="capital"/>
@@ -21,32 +20,2857 @@
        <result column="region" property="region"/>
        <result column="registration" property="registration"/>
        <result column="industry" property="industry"/>
        <result column="tenantId" property="tenantid"/>
        <result column="departmentid" property="departmentid"/>
        <result column="stats" property="stats"/>
        <result column="jurisdiction" property="jurisdiction"/>
        <result column="representativecell" property="representativecell"/>
        <result column="contacts" property="contacts"/>
        <result column="contactscell" property="contactscell"/>
        <result column="business_License" property="businessLicense"/>
        <result column="licence" property="licence"/>
        <result column="znum" property="znum"/>
        <result column="cnum" property="cnum"/>
        <result column="pnum" property="pnum"/>
        <result column="fregion" property="fregion"/>
        <result column="ftime" property="ftime"/>
    </resultMap>
    <select id="selectInformationPage" resultMap="informationResultMap">
        select * from sys_information where  1=1
        SELECT
        i.*,
        IFNULL(A.znum ,0) as znum,
        IFNULL(B.cnum ,0) as cnum,
        IFNULL(C.pnum ,0) as pnum
        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
        where 1=1
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
            and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
        <if test="information.representative!=null and information.representative!=''">
            and representative like concat(concat('%', #{information.representative}),'%')
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and stats=#{stats}
            and i.stats=#{information.stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and i.jurisdiction=#{information.jurisdiction}
        </if>
        <if test="information.departmentid!=null and information.departmentid!=''">
            and i.departmentid=#{information.departmentid}
        </if>
    </select>
    <delete id="deleteIn">
        delete from  sys_information where creditCode=#{creditcode}
        delete
        from sys_information
        where creditCode = #{ids}
    </delete>
    <delete id="deleteSh">
        delete from  sys_shareholder where creditCode=#{creditcode}
        delete
        from sys_shareholder
        where creditCode = #{ids}
    </delete>
    <delete id="deleteMe">
        delete from sys_member where creditCode=#{creditcode}
        delete
        from sys_member
        where creditCode = #{ids}
    </delete>
    <select id="selectCount" resultType="java.util.HashMap">
        SELECT IFNULL(B.confess, 0)  AS confess,
               IFNULL(C.staff, 0)    AS staff,
               IFNULL(D.security, 0) AS security,
               IFNULL(E.armed, 0)    AS armed,
               IFNULL(F.region, 0)   AS region
        FROM (SELECT jurisdiction FROM sys_information GROUP BY jurisdiction) A
                 LEFT JOIN (SELECT COUNT(stats) AS confess, jurisdiction
                            FROM sys_information
                            WHERE stats = 0
                            GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
                 LEFT JOIN (SELECT COUNT(stats) AS staff, jurisdiction
                            FROM sys_information
                            WHERE stats = 1
                            GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
                 LEFT JOIN (SELECT COUNT(stats) AS security, jurisdiction
                            FROM sys_information
                            WHERE stats = 2
                            GROUP BY jurisdiction) D ON A.jurisdiction = D.jurisdiction
                 LEFT JOIN (SELECT COUNT(stats) AS armed, jurisdiction
                            FROM sys_information
                            WHERE stats = 3
                            GROUP BY jurisdiction) E ON A.jurisdiction = E.jurisdiction
                 LEFT JOIN (SELECT COUNT(stats) AS region, jurisdiction
                            FROM sys_information
                            WHERE stats = 4
                            GROUP BY jurisdiction) F ON A.jurisdiction = E.jurisdiction
        WHERE A.jurisdiction = #{departmentid}
    </select>
    <!--保安公司未持证预警-->
    <select id="selectInCount" resultType="java.util.HashMap">
        SELECT
        d.dept_name,
        j.dept_name as jurname
        FROM
        blade_user u
        LEFT JOIN blade_dept d ON d.id= u.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id= u.jurisdiction
        WHERE
        u.hold = 2 and u.status=1
        <if test="jurisdiction!=null and jurisdiction!=''">
            and u.jurisdiction in(${jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.dept_id =#{deptid}
        </if>
        GROUP BY
        d.dept_name,
        j.dept_name
    </select>
    <!--通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)-->
    <!--    <select id="selectCs" resultType="java.util.HashMap">-->
    <!--        SELECT A.numj,-->
    <!--        B.numz,-->
    <!--        d.dept_name as deptname-->
    <!--        FROM (-->
    <!--        SELECT COUNT-->
    <!--        (*) AS numj,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE deptid IN (SELECT i.departmentid-->
    <!--        FROM sys_information i-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and i.jurisdiction in(${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!='1372091709474910209'">-->
    <!--            and i.jurisdiction in(${jurisdiction})-->
    <!--        </if>-->
    <!--        GROUP BY i.departmentid)-->
    <!--        GROUP BY dept_id-->
    <!--        ) B ON A.deptid = B.dept_id-->
    <!--        LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and A.deptid =#{deptid}-->
    <!--        </if>-->
    <!--    </select>-->
    <select id="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>
    <!--    &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-->
    <!--        FROM (-->
    <!--        SELECT COUNT(*) AS lastmonth,-->
    <!--        amount,-->
    <!--        deptid-->
    <!--        FROM-->
    <!--        sys_socil-->
    <!--        WHERE-->
    <!--        deptid IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction-->
    <!--        where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and i.jurisdiction =#{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-->
    <!--        ) 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!='1372091709474910209'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY i.departmentid )-->
    <!--        AND DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and 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!='1372091709474910209'">-->
    <!--            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!='1372091709474910209'">-->
    <!--            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!='1372091709474910209'">-->
    <!--            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!='1372091709474910209'">-->
    <!--            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 id="selectTo" resultType="java.util.HashMap">
        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,
        IFNULL(B.thismouth, 0) AS thismouth,
        IFNULL(C.thisamount, 0) AS thisamount,
        IFNULL(D.lastamount, 0) AS lastamount,
        IFNULL(E.userthismouth, 0) AS userthismouth,
        IFNULL(F.userlastmouth, 0) AS userlastmouth,
        IFNULL(G.userpcthismouth, 0) AS userpcthismouth,
        IFNULL(J.userpclastmouth, 0) AS userpclastmouth
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        LEFT JOIN (
        SELECT COUNT(*) AS lastmonth,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        ) A ON A.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS thismouth,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        ) B ON B.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS thisamount,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        ) C ON C.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS lastamount,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        ) D ON D.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) E ON E.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userlastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) F ON F.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpcthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpclastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的交社保的数量-->
    <select id="queryYearSoil" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.insuredtime ) = 1 THEN s.cardid END ) AS '1', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 2 THEN s.cardid END )
        AS '2', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 3 THEN s.cardid END ) AS '3', COUNT(CASE WHEN MONTH (
        s.insuredtime ) = 4 THEN s.cardid END ) AS '4', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 5 THEN s.cardid END )
        AS '5', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 6 THEN s.cardid END ) AS '6', COUNT(CASE WHEN MONTH (
        s.insuredtime ) = 7 THEN s.cardid END ) AS '7', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 8 THEN s.cardid END )
        AS '8', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 9 THEN s.cardid END ) AS '9', COUNT(CASE WHEN MONTH (
        s.insuredtime ) = 10 THEN s.cardid END ) AS '10', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 11 THEN s.cardid END
        ) AS '11', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 12 THEN s.cardid END ) AS '12'
        FROM sys_socil AS s
        WHERE
        YEAR ( s.insuredtime ) =#{year}
        AND deptid IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的派遣人数量-->
    <select id="queryYearPz" resultType="java.util.HashMap">
        SELECT COUNT(CASE WHEN MONTH ( s.update_time ) = 1 THEN s.dispatch END ) AS '1', COUNT(CASE WHEN MONTH (
        s.update_time ) = 2 THEN s.dispatch END ) AS '2', COUNT(CASE WHEN MONTH ( s.update_time ) = 3 THEN s.dispatch
        END ) AS '3', COUNT(CASE WHEN MONTH ( s.update_time ) = 4 THEN s.dispatch END ) AS '4', COUNT(CASE WHEN MONTH (
        s.update_time ) = 5 THEN s.dispatch END ) AS '5', COUNT(CASE WHEN MONTH ( s.update_time ) = 6 THEN s.dispatch
        END ) AS '6', COUNT(CASE WHEN MONTH ( s.update_time ) = 7 THEN s.dispatch END ) AS '7', COUNT(CASE WHEN MONTH (
        s.update_time ) = 8 THEN s.dispatch END ) AS '8', COUNT(CASE WHEN MONTH ( s.update_time ) = 9 THEN s.dispatch
        END ) AS '9', COUNT(CASE WHEN MONTH ( s.update_time ) = 10 THEN s.dispatch END ) AS '10', COUNT(CASE WHEN MONTH
        ( s.update_time ) = 11 THEN s.dispatch END ) AS '11', COUNT(CASE WHEN MONTH ( s.update_time ) = 12 THEN
        s.dispatch END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.update_time ) =#{year}
        AND dispatch = 0
        AND `status`=1
        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!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的保安派遣的数量-->
    <select id="queryYearDe" resultType="java.util.HashMap">
        SELECT SUM
        ( CASE WHEN MONTH ( s.dispatcherTime ) = 1 THEN s.num END ) AS '1',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 2 THEN s.num END ) AS '2',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 3 THEN s.num END ) AS '3',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.num END ) AS '4',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.num END ) AS '5',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 6 THEN s.num END ) AS '6',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 7 THEN s.num END ) AS '7',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.num END ) AS '8',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.num END ) AS '9',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 10 THEN s.num END ) AS '10',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 11 THEN s.num END ) AS '11',
        SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 12 THEN s.num END ) AS '12'
        FROM
        sys_dispatcher AS s
        WHERE
        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!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的交社保的金额-->
    <select id="queryYearAn" resultType="java.util.HashMap">
        SELECT IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 1 THEN s.amount END ), 0) AS '1', IFNULL(SUM(CASE WHEN MONTH
        (s.insuredtime) = 2 THEN s.amount END ), 0) AS '2', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 3 THEN s.amount
        END ), 0) AS '3', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 4 THEN s.amount END ), 0) AS '4', IFNULL(SUM(CASE
        WHEN MONTH (s.insuredtime) = 5 THEN s.amount END ), 0) AS '5', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 6
        THEN s.amount END ), 0) AS '6', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 7 THEN s.amount END ), 0) AS '7',
        IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 8 THEN s.amount END ), 0) AS '8', IFNULL(SUM(CASE WHEN MONTH
        (s.insuredtime) = 9 THEN s.amount END ), 0) AS '9', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 10 THEN
        s.amount END ), 0) AS '10', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 11 THEN s.amount END ), 0) AS '11',
        IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 12 THEN s.amount END ), 0) AS '12'
        FROM sys_socil AS s
        WHERE YEAR (s.insuredtime) =#{year}
        AND deptid IN (SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
    </select>
    <!--总保安数量-->
<!--    <select id="queryCountB" resultType="java.util.HashMap">-->
<!--        SELECT-->
<!--        C.thisnum,-->
<!--        C.lastnum,-->
<!--        d.dept_name AS deptname,-->
<!--        j.dept_name AS jurname-->
<!--        FROM-->
<!--        (-->
<!--        SELECT-->
<!--        IFNULL( A.thisnum, 0 ) AS thisnum,-->
<!--        IFNULL( B.lastnum, 0 ) AS lastnum,-->
<!--        A.dept_id,-->
<!--        A.jurisdiction-->
<!--        FROM-->
<!--        (-->
<!--        SELECT-->
<!--        COUNT( * ) AS thisnum,-->
<!--        dept_id,-->
<!--        jurisdiction-->
<!--        FROM-->
<!--        blade_user-->
<!--        WHERE-->
<!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
<!--        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
<!--        GROUP BY-->
<!--        dept_id,-->
<!--        jurisdiction-->
<!--        ) A-->
<!--        LEFT JOIN (-->
<!--        SELECT-->
<!--        COUNT( * ) AS lastnum,-->
<!--        dept_id,-->
<!--        jurisdiction-->
<!--        FROM-->
<!--        blade_user-->
<!--        WHERE-->
<!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
<!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1-->
<!--        GROUP BY-->
<!--        dept_id,-->
<!--        jurisdiction-->
<!--        ) B ON A.dept_id = B.dept_id-->
<!--        ) C-->
<!--        LEFT JOIN blade_dept d ON C.dept_id = d.id-->
<!--        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction-->
<!--        WHERE 1 =1-->
<!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
<!--            and C.jurisdiction =#{jurisdiction}-->
<!--        </if>-->
<!--        <if test="deptid!=null and deptid!=''">-->
<!--            and C.dept_id =#{deptid}-->
<!--        </if>-->
<!--    </select>-->
    <select id="queryCountB" resultType="java.util.HashMap">
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        H.departmentid,
        H.jurisdiction
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        LEFT JOIN (
        SELECT COUNT(*) AS thisnum,
        dept_id
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) A ON A.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS lastnum,
        dept_id
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1
        GROUP BY dept_id
        ) B ON B.dept_id = H.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and 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
        AND examination_type = 0
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--持证保安数量-->
    <select id="queryCountCz" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->
    <select id="queryCountSb" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.deptid,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY deptid,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY deptid,
        jurisdiction
        ) B ON A.deptid = B.deptid
        ) C
        LEFT JOIN blade_dept d ON C.deptid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.deptid =#{deptid}
        </if>
    </select>
    <!--服务客户数量-->
    <select id="queryCountKh" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        C.dept_id,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( start_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id
        ) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--保安派遣数量-->
    <select id="queryCountPq" resultType="java.util.HashMap">
        SELECT IFNULL(G.thisnum, 0) AS thisnum,
        IFNULL(J.lastnum, 0) AS lastnum
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        LEFT JOIN (
        SELECT SUM(num) AS thisnum,
        dept_id
        FROM sys_dispatcher
        WHERE DATE_FORMAT(dispatcherTime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT SUM(num) AS lastnum,
        dept_id
        FROM sys_dispatcher
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(dispatcherTime, '%Y%m')) = 1
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid
        WHERE 1 = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
<!--    <select id="queryCountPq" resultType="java.util.HashMap">-->
<!--        SELECT C.thisnum,-->
<!--        C.lastnum,-->
<!--        d.dept_name as deptname,-->
<!--        j.dept_name as jurname-->
<!--        FROM (-->
<!--        SELECT IFNULL(A.thisnum, 0) AS thisnum,-->
<!--        IFNULL(B.lastnum, 0) AS lastnum,-->
<!--        A.dept_id,-->
<!--        A.jurisdiction-->
<!--        FROM (-->
<!--        SELECT SUM(num) AS thisnum,-->
<!--        dept_id,-->
<!--        jurisdiction-->
<!--        FROM sys_dispatcher-->
<!--        WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
<!--        GROUP BY dept_id, jurisdiction-->
<!--        ) A-->
<!--        left JOIN (-->
<!--        SELECT SUM(num) AS lastnum,-->
<!--        dept_id,-->
<!--        jurisdiction-->
<!--        FROM sys_dispatcher-->
<!--        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1-->
<!--        GROUP BY dept_id, jurisdiction-->
<!--        ) B ON A.dept_id = B.dept_id) C-->
<!--        LEFT JOIN blade_dept d ON C.dept_id = d.id-->
<!--        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1-->
<!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
<!--            and C.jurisdiction =#{jurisdiction}-->
<!--        </if>-->
<!--        <if test="deptid!=null and deptid!=''">-->
<!--            and C.dept_id =#{deptid}-->
<!--        </if>-->
<!--    </select>-->
    <!--查询本年所有月份的总人数-->
    <select id="queryYearZ" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        AND dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586' and status=1 and is_deleted=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的正常保安人数-->
    <select id="queryYearZc" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        AND dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586' AND examination_type=0 and status=1 and is_deleted=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的保安持证人数-->
    <select id="queryYearCz" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        AND dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586' AND hold=1 and status=1 and is_deleted=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的客户数量-->
    <select id="queryYearKh" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.start_time ) = 1 THEN s.id END ) AS '1', COUNT(CASE WHEN MONTH ( s.start_time ) = 2
        THEN s.id END ) AS '2', COUNT(CASE WHEN MONTH ( s.start_time ) = 3 THEN s.id
        END ) AS '3', COUNT(CASE WHEN MONTH ( s.start_time ) = 4 THEN s.id END ) AS '4', COUNT(CASE
        WHEN MONTH ( s.start_time ) = 5 THEN s.id END ) AS '5', COUNT(CASE WHEN MONTH (
        s.start_time ) = 6 THEN s.id END ) AS '6', COUNT(CASE WHEN MONTH ( s.start_time ) = 7
        THEN s.id END ) AS '7', COUNT(CASE WHEN MONTH ( s.start_time ) = 8 THEN s.id
        END ) AS '8', COUNT(CASE WHEN MONTH ( s.start_time ) = 9 THEN s.id END ) AS '9', COUNT(CASE
        WHEN MONTH ( s.start_time ) = 10 THEN s.id END ) AS '10', COUNT(CASE WHEN MONTH (
        s.start_time ) = 11 THEN s.id END ) AS '11', COUNT(CASE WHEN MONTH ( s.start_time ) = 12
        THEN s.id END ) AS '12'
        FROM sys_dispatcher_unit AS s
        WHERE
        YEAR ( s.start_time ) =#{year}
        AND dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的保安派遣数量-->
    <select id="queryYearBanan" resultType="java.util.HashMap">
        SELECT IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 1 THEN s.num END ), 0) AS '1', IFNULL(SUM(CASE WHEN
        MONTH ( s.dispatcherTime ) = 2 THEN s.num END ), 0) AS '2', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 3
        THEN s.num END ), 0) AS '3', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.num END ), 0) AS '4',
        IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.num END ), 0) AS '5', IFNULL(SUM(CASE WHEN MONTH (
        s.dispatcherTime ) = 6 THEN s.num END ), 0) AS '6', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 7 THEN
        s.num END ), 0) AS '7', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.num END ), 0) AS '8',
        IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.num END ), 0) AS '9', IFNULL(SUM(CASE WHEN MONTH (
        s.dispatcherTime ) = 10 THEN s.num END ), 0) AS '10', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 11 THEN
        s.num END ), 0) AS '11', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 12 THEN s.num END ), 0) AS '12'
        FROM sys_dispatcher AS s
        WHERE
        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!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--资格审查异常数量-->
    <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!='1372091709474910209'">
            and u.jurisdiction in (${jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.dept_id =#{deptid}
        </if>
        <if test="type!=null and type=='1'.toString()">
            and to_days(u.update_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' )
        </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!='1372091709474910209'">
            and u.jurisdiction in(${jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.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="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
        FROM
            blade_user
        WHERE
            STATUS != 1
    </select>
    <!--派遣保安人數量-->
    <select id="selectPcount" resultType="java.util.HashMap">
        SELECT COUNT
        (*) AS pnum
        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 dispatch = 0
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and u.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.dept_id =#{deptid}
        </if>
    </select>
    <!--未派遣保安人數量-->
    <select id="selectWPcount" resultType="java.util.HashMap">
        SELECT COUNT
        (*) AS wpnum
        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 dispatch = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and u.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.dept_id =#{deptid}
        </if>
    </select>
    <select id="selectIn" resultType="java.util.HashMap">
        SELECT enterpriseName, departmentid
        FROM sys_information where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and jurisdiction in(${jurisdiction})
        </if>
    </select>
    <delete id="deleteDept">
        delete
        from blade_dept
        where id = #{ids}
    </delete>
    <select id="selectLi" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.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( H.ycaijzpnum, 0 ) AS ycaijzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycaijzwnum,
        IFNULL( G.yicnum, 0 ) AS yicnum,
        A.dept_id,
        d.enterpriseName AS deptname,
        d.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
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        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
        LEFT JOIN (
        SELECT
        COUNT( * ) AS paiqnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND dispatch=0
        GROUP BY
        dept_id,
        jurisdiction
        ) C ON C.dept_id = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS wpaiqnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND dispatch=1
        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
        LEFT JOIN
        (
        SELECT
        COUNT( * ) AS wcaijnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND photo=1
        GROUP BY
        dept_id,
        jurisdiction
        ) F
        ON F.dept_id = A.dept_id
        LEFT JOIN
        (
        SELECT
        COUNT( * ) AS ycaijzpnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND photo=0
        GROUP BY
        dept_id,
        jurisdiction
        ) H
        ON H.dept_id = A.dept_id
        LEFT JOIN
        (
        SELECT
        COUNT( * ) AS ycaijzwnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND fingerprint=0
        GROUP BY
        dept_id,
        jurisdiction
        ) I
        ON I.dept_id = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS yicnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND examination_mx=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
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and A.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and d.enterpriseName like concat(concat('%', #{deptid}),'%')
        </if>
        <if test="stats!=null and stats!=''">
            and d.stats =#{stats}
        </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!='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
        <if test="deptid!=null and deptid!=''">
            and dept_id=#{deptid}
        </if>
        <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
        <if test="deptid!=null and deptid!=''">
            and dept_id=#{deptid}
        </if>
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            AND jurisdiction=#{jurisdiction}
        </if>
    </select>
    <!--公司运营情况进入图表-->
    <select id="selectTb" resultType="java.util.HashMap">
        SELECT
        J.*
        FROM
        (
        SELECT
        A.enterpriseName,
        A.departmentid,
        A.jurisdiction,
        A.dept_name AS jurname,
        IFNULL( B.znum, 0 ) AS znum,
        IFNULL( C.zcnum, 0 ) AS zcnum,
        IFNULL( D.cznum, 0 ) AS cznum,
        IFNULL( E.sbnum, 0 ) AS sbnum,
        IFNULL( F.ghnum, 0 ) AS ghnum,
        IFNULL( G.pcnum, 0 ) AS pcnum
        FROM
        (
        SELECT
        i.enterpriseName,
        i.departmentid,
        i.jurisdiction,
        j.dept_name
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
        ) A
        LEFT JOIN (
        SELECT
        COUNT( * ) AS znum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        GROUP BY
        dept_id,
        jurisdiction
        ) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS zcnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND examination_type = 0
        GROUP BY
        dept_id,
        jurisdiction
        ) C ON A.departmentid = C.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND hold = 1
        GROUP BY
        dept_id,
        jurisdiction
        ) D ON A.departmentid = D.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS sbnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND soil =0
        GROUP BY
        dept_id,
        jurisdiction
        ) E ON A.departmentid = E.dept_id
        LEFT JOIN ( SELECT COUNT( * ) AS ghnum, dept_id, jurisdiction FROM sys_dispatcher_unit GROUP BY dept_id,
        jurisdiction ) F ON A.departmentid = F.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS pcnum,
        dept_id,
        jurisdiction FROM blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        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!='1372091709474910209'">
            and J.jurisdiction in(${jurisdiction})
        </if>
        <if test="enterpriseName!=null and enterpriseName!=''">
            and J.enterpriseName like concat('%', #{enterpriseName},'%')
        </if>
        GROUP BY J.enterpriseName,
        J.departmentid, J.cznum, J.ghnum, J.ghnum, J.pcnum, J.sbnum, J.zcnum, J.znum, J.jurname,J.jurisdiction
    </select>
    <!--公司经济情况进入图表-->
    <select id="selectJj" resultType="java.util.HashMap">
        SELECT J.*
        FROM (
        SELECT A.enterpriseName,
        A.departmentid,
        A.jurisdiction,
        A.dept_name AS jurname,
        IFNULL(B.sbcount, 0) AS sbcount,
        IFNULL(C.sbnum, 0) AS sbnum,
        IFNULL(D.pcnum, 0) AS pcnum,
        IFNULL(E.znum, 0) AS znum,
        TRUNCATE(znum / sbnum, 2) as zb
        FROM (
        SELECT i.enterpriseName,
        i.departmentid,
        i.jurisdiction,
        j.dept_name
        FROM sys_information i
        LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
        ) A
        LEFT JOIN (SELECT SUM(amount) AS sbcount, deptid FROM sys_socil GROUP BY deptid) B
        ON A.departmentid = B.deptid
        LEFT JOIN (
        SELECT COUNT(*) AS sbnum,
        deptid
        FROM sys_socil
        GROUP BY deptid
        ) C ON A.departmentid = C.deptid
        LEFT JOIN (
        SELECT COUNT(*) AS pcnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1
        AND dispatch = 0
        GROUP BY dept_id,
        jurisdiction
        ) D ON A.departmentid = D.dept_id
        LEFT JOIN (SELECT COUNT(*) AS znum, dept_id, jurisdiction
        FROM blade_user
        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!='1372091709474910209'">
            and J.jurisdiction in(${jurisdiction})
        </if>
        <if test="enterpriseName!=null and enterpriseName!=''">
            and J.enterpriseName like concat('%', #{enterpriseName},'%')
        </if>
        GROUP BY J.departmentid, J.enterpriseName, J.jurisdiction, J.jurname, J.pcnum, J.sbcount, J.sbnum, J.zb, J.znum
    </select>
    <!--业务统计情况-->
    <select id="selectYw" resultType="java.util.HashMap">
        SELECT
        A.enterpriseName,
        A.departmentid,
        A.stats,
        A.jurisdiction,
        A.dept_name as jurname,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( C.znum, 0 ) AS znum,
        IFNULL( D.dqnum, 0 ) AS dqnum,
        IFNULL( E.cznum, 0 ) AS cznum,
        IFNULL( F.pqnum, 0 ) AS pqnum
        FROM
        (
        SELECT
        i.enterpriseName,
        i.departmentid,
        i.stats,
        i.jurisdiction,
        j.dept_name
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
        WHERE
        i.enterpriseName IS NOT NULL
        ) 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, dept_id FROM blade_user WHERE role_id = '1412226235153731586'
        and status=1
        GROUP BY 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 GROUP BY dept_id
        ) E
        ON A.departmentid = E.dept_id
        LEFT JOIN
        (
        SELECT COUNT( * ) AS pqnum, dept_id FROM blade_user where dispatch = 0 GROUP BY dept_id
        ) F
        ON A.departmentid = F.dept_id
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
            AND A.jurisdiction in(${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>
    </select>
    <!--保安人员详情-->
    <select id="selectUIn" resultType="java.util.HashMap">
        SELECT
        u.real_name,
        u.securitynumber,
        u.cardid,
        u.phone,
        u.hold,
        u.soil,
        u.photo,
        u.examination_type,
        u.dispatch,
        i.enterpriseName
        FROM
        blade_user u
        LEFT JOIN sys_information i ON i.departmentid = u.dept_id
        WHERE
        u.role_id = '1412226235153731586'
        AND u.is_deleted = 0
        AND u.`status` =1
        <if test="deptid!=null and deptid!=''">
            and dept_id=#{deptid}
        </if>
        <if test="name!=null and name!=''">
            and real_name like concat('%', #{name},'%')
        </if>
        <if test="hold!=null and hold!=''">
            and hold=#{hold}
        </if>
        <if test="photo!=null and photo!=''">
            and photo=#{photo}
        </if>
        <if test="examinationtype!=null and examinationtype!=''">
            and examination_type=#{examinationtype}
        </if>
        <if test="dispatch!=null and dispatch!=''">
            and dispatch=#{dispatch}
        </if>
        <if test="soil !=null and soil !=''">
            and soil =#{soil}
        </if>
    </select>
    <select id="selectDis" resultType="java.util.HashMap">
        SELECT d.dept_name AS gsname,
        di.dispatcherTime,
        di.end_time,
        u.name AS fwname,
        di.num,
        j.dept_name as jurname
        FROM sys_dispatcher di
        LEFT JOIN blade_dept d ON d.id = di.dept_id
        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!='1372091709474910209'">
            and di.jurisdiction =#{jurisdiction}
        </if>
        <if test="fid!=null and fid!=''">
            and u.name like concat('%', #{fid},'%')
        </if>
    </select>
    <!--服务单位下拉-->
    <select id="selectFw" resultType="java.util.HashMap">
        SELECT id, name
        FROM `sys_dispatcher_unit`
    </select>
    <!--单位处罚数量-->
    <select id="selectCf" resultType="java.util.HashMap">
        SELECT COUNT(*) AS num,
        deptid
        FROM `sys_punish` where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and jurisdiction in(${jurisdiction})
        </if>
        GROUP BY deptid
    </select>
    <!--单位材料不全数量-->
    <select id="selectCl" resultType="java.util.HashMap">
        SELECT
        COUNT( * ) AS num,
        i.enterpriseName,
        j.dept_name as jurname
        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!='1372091709474910209'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.enterpriseName,j.dept_name
    </select>
    <!--违规经营-->
    <select id="selectWg" resultType="java.util.HashMap">
        SELECT A.enterpriseName,
        IFNULL(B.cznum, 0) AS cznum,
        IFNULL(C.sbnum, 0) AS sbnum,
        IFNULL(D.znum, 0) AS znum
        FROM (
        SELECT u.enterpriseName,
        u.departmentid,
        u.jurisdiction,
        j.dept_name AS jurname
        FROM sys_information u
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction WHERE u.stats!=0
        ) A
        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 = A.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 = 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 != '1372091709474910209'">
            and A.jurisdiction in(${jurisdiction})
        </if>
    </select>
    <!--经营不善-->
    <select id="selectJy" resultType="java.util.HashMap">
        SELECT
        i.departmentid,
        i.enterpriseName,
        IFNULL( d.num, 0 ) AS fwnum,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.painum, 0 ) AS painum,
        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 =
        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 painum,
        dept_id
        FROM
        blade_user
        WHERE
        dispatch = 0
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) C ON C.dept_id = i.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
        ) E ON E.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="selectYs" resultType="java.util.HashMap">
        SELECT
        i.departmentid,
        i.enterpriseName,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.painum, 0 ) AS painum,
        IFNULL( D.znum, 0 ) AS znum,
        IFNULL( E.fwnum, 0 ) AS fwnum
        FROM
        sys_information i
        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 painum,
        dept_id
        FROM
        blade_user
        WHERE
        dispatch = 0
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) C ON C.dept_id = i.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 = 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 AND i.stats!=0
        <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(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 != '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(J.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 blade_user
        WHERE dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS wpnum,
        dept_id
        FROM blade_user
        WHERE dispatch = 1
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
</mapper>