智慧保安后台管理-验收版本
Administrator
2021-09-16 6b7dfddb2325267574e84b375b9147a8b2c2bc02
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,2183 @@
        <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>
    <!--    &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="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 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>
<!--    &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 from (
            select
            si.*,
            ifnull(a.count,0) znum,
            ifnull(b.count,0) cnum,
            ifnull(FORMAT((b.count/a.count)*100,2),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"/>
                <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
            b.dept_id = si.departmentid
        )c
        left join
        sys_jurisdiction sj
        on
        c.jurisdiction = sj.id
        where 1=1
        and (c.stats = 2 or c.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
            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 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>
    <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,现实表现差,未缴纳社保,资格审查异常)-->
    <select id="getSubstationWarnInfoPage" resultType="org.springblade.modules.information.vo.InformationVO">
        select jurisdictionName,enterprisename,detail from (
        (
        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
        )
        union
        (
        select
        sj.id,
        sj.parent_id,
        sj.dept_name jurisdictionName,
        si.enterprisename,
        if(bu.hold=2,"未持证","证件吊销") as detail
        from
        blade_user bu
        <include refid="getSubstationWarn"/>
        and (bu.hold = 2 or bu.hold = 3)
        )
        union
        (
        select
        sj.id,
        sj.parent_id,
        sj.dept_name jurisdictionName,
        si.enterprisename,
        "未缴纳社保" as detail
        from
        blade_user bu
        <include refid="getSubstationWarn"/>
        and bu.soil = 1
        )
        union
        (
        select
        sj.id,
        sj.parent_id,
        sj.dept_name jurisdictionName,
        si.enterprisename,
        "审查异常" as detail
        from
        blade_user bu
        <include refid="getSubstationWarn"/>
        and bu.examination_type = 1
        )
        ) a
        where 1=1
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (a.id = #{information.jurisdiction} or a.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>
</mapper>