tangzy
2021-08-22 fd7b9aabefdcfa4e2f8504c77d5a4e6f4f955585
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -8,7 +8,6 @@
        <result column="creditCode" property="creditcode"/>
        <result column="enterpriseName" property="enterprisename"/>
        <result column="representative" property="representative"/>
        <result column="regstsat" property="regstsat"/>
        <result column="establishTime" property="establishtime"/>
        <result column="registeredCapital" property="registeredcapital"/>
        <result column="capital" property="capital"/>
@@ -21,13 +20,17 @@
        <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"/>
    </resultMap>
    <select id="selectInformationPage" resultMap="informationResultMap">
        select * from sys_information where  1=1
        select * from sys_information where 1=1
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
@@ -37,16 +40,1301 @@
        <if test="information.stats!=null and information.stats!=''">
            and stats=#{stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!=''">
            and jurisdiction=#{jurisdiction}
        </if>
    </select>
    <delete id="deleteIn">
        delete from  sys_information where creditCode=#{creditcode}
        delete
        from sys_information
        where creditCode = #{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
        hold = 2
        <if test="jurisdiction!=null and jurisdiction!=''">
            and u.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.dept_id =#{deptid}
        </if>
        GROUP BY
        d.dept_name,
        j.dept_name
    </select>
    <!--通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)-->
    <select id="selectCs" resultType="java.util.HashMap">
        SELECT A.numj,
        B.numz,
        d.dept_name as deptname
        FROM (
        SELECT COUNT
        (*) AS numj,
        deptid
        FROM sys_socil
        WHERE deptid IN (SELECT i.departmentid
        FROM sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid)
        GROUP BY deptid
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS numz,
        dept_id
        FROM blade_user
        WHERE dept_id IN (SELECT i.departmentid
        FROM sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid)
        GROUP BY dept_id
        ) B ON A.deptid = B.dept_id
        LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1
        <if test="deptid!=null and deptid!=''">
            and A.deptid =#{deptid}
        </if>
    </select>
    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
    <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!='1123598813738675201'">
            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!='1123598813738675201'">
            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!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND status=1
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
        GROUP BY
        dept_id
        ) C ON C.dept_id = A.deptid
        LEFT JOIN(
        SELECT COUNT(*) AS userlastmouth,
        dept_id
        FROM
        blade_user
        WHERE
        dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND status=1
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
        GROUP BY
        dept_id
        ) D ON D.dept_id = A.deptid
        LEFT JOIN (
        SELECT COUNT(*) AS userpcthismouth,
        dept_id
        FROM
        blade_user
        WHERE
        dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND dispatch=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
        GROUP BY
        dept_id
        ) E ON E.dept_id = A.deptid
        LEFT JOIN(
        SELECT COUNT(*) AS userpclastmouth,dept_id
        FROM
        blade_user
        WHERE
        dept_id IN (
        SELECT i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND dispatch=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
        GROUP BY
        dept_id
        ) F ON F.dept_id = A.deptid
    </select>
    <!--查询本年所有月份的交社保的数量-->
    <select id="queryYearSoil" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.insuredtime ) = 1 THEN s.cardid END ) AS '1', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 2 THEN s.cardid END )
        AS '2', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 3 THEN s.cardid END ) AS '3', COUNT(CASE WHEN MONTH (
        s.insuredtime ) = 4 THEN s.cardid END ) AS '4', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 5 THEN s.cardid END )
        AS '5', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 6 THEN s.cardid END ) AS '6', COUNT(CASE WHEN MONTH (
        s.insuredtime ) = 7 THEN s.cardid END ) AS '7', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 8 THEN s.cardid END )
        AS '8', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 9 THEN s.cardid END ) AS '9', COUNT(CASE WHEN MONTH (
        s.insuredtime ) = 10 THEN s.cardid END ) AS '10', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 11 THEN s.cardid END
        ) AS '11', COUNT(CASE WHEN MONTH ( s.insuredtime ) = 12 THEN s.cardid END ) AS '12'
        FROM sys_socil AS s
        WHERE
        YEAR ( s.insuredtime ) =#{year}
        AND deptid IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的派遣人数量-->
    <select id="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 dept_id IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id =
        i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的保安派遣的数量-->
    <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!='1123598813738675201'">
            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!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
    </select>
    <!--总保安数量-->
    <select id="queryCountB" resultType="java.util.HashMap">
        SELECT
        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 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 PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY
        dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id
        ) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        </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 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 examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        </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 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 hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        </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!='1123598813738675201'">
            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
        WHERE DATE_FORMAT( dispatcherTime, '%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
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id
        ) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and C.jurisdiction =#{jurisdiction}
        </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!='1123598813738675201'">
            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!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586'
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的正常保安人数-->
    <select id="queryYearZc" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        AND dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586' AND examination_type=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的保安持证人数-->
    <select id="queryYearCz" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.create_time ) = 1 THEN s.role_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.create_time ) = 2 THEN s.role_id END
        ) AS '2', COUNT(CASE WHEN MONTH ( s.create_time ) = 3 THEN s.role_id END ) AS '3', COUNT(CASE WHEN MONTH (
        s.create_time ) = 4 THEN s.role_id END ) AS '4', COUNT(CASE WHEN MONTH ( s.create_time ) = 5 THEN s.role_id END
        ) AS '5', COUNT(CASE WHEN MONTH ( s.create_time ) = 6 THEN s.role_id END ) AS '6', COUNT(CASE WHEN MONTH (
        s.create_time ) = 7 THEN s.role_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.create_time ) = 8 THEN s.role_id END
        ) AS '8', COUNT(CASE WHEN MONTH ( s.create_time ) = 9 THEN s.role_id END ) AS '9', COUNT(CASE WHEN MONTH (
        s.create_time ) = 10 THEN s.role_id END ) AS '10', COUNT(CASE WHEN MONTH ( s.create_time ) = 11 THEN s.role_id
        END ) AS '11', COUNT(CASE WHEN MONTH ( s.create_time ) = 12 THEN s.role_id END ) AS '12'
        FROM blade_user AS s
        WHERE
        YEAR ( s.create_time ) =#{year}
        AND dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586' AND hold=1
        <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.dispatcherTime ) = 1 THEN s.dispatcher_unit_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 2
        THEN s.dispatcher_unit_id END ) AS '2', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 3 THEN s.dispatcher_unit_id
        END ) AS '3', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.dispatcher_unit_id END ) AS '4', COUNT(CASE
        WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.dispatcher_unit_id END ) AS '5', COUNT(CASE WHEN MONTH (
        s.dispatcherTime ) = 6 THEN s.dispatcher_unit_id END ) AS '6', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 7
        THEN s.dispatcher_unit_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.dispatcher_unit_id
        END ) AS '8', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.dispatcher_unit_id END ) AS '9', COUNT(CASE
        WHEN MONTH ( s.dispatcherTime ) = 10 THEN s.dispatcher_unit_id END ) AS '10', COUNT(CASE WHEN MONTH (
        s.dispatcherTime ) = 11 THEN s.dispatcher_unit_id END ) AS '11', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 12
        THEN s.dispatcher_unit_id 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!='1123598813738675201'">
            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!='1123598813738675201'">
            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 is_deleted=0
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and u.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and u.dept_id =#{deptid}
        </if>
        <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!='1123598813738675201'">
            and u.jurisdiction =#{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="selectJur" resultType="java.util.HashMap">
        SELECT id, dept_name
        FROM sys_jurisdiction
        WHERE id!=1123598813738675201
    </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!='1123598813738675201'">
            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!='1123598813738675201'">
            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!='1123598813738675201'">
            and jurisdiction =#{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( G.yicnum, 0 ) AS yicnum,
        A.dept_id,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM
        ( SELECT COUNT( * ) AS num, dept_id, jurisdiction FROM blade_user WHERE role_id = '1412226235153731586' GROUP BY
        dept_id, jurisdiction ) A
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        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 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 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 photo=1
        GROUP BY
        dept_id,
        jurisdiction
        ) F ON F.dept_id = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS yicnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND examination_mx=1
        GROUP BY
        dept_id,
        jurisdiction
        ) G ON G.dept_id = A.dept_id
        LEFT JOIN blade_dept d ON A.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and A.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.dept_id =#{deptid}
        </if>
        limit #{current},#{size};
    </select>
    <select id="seCountI" resultType="java.util.HashMap">
        SELECT COUNT(*) as num,stats FROM sys_information
        where 1=1
        <if test="deptid!=null and deptid!=''">
            and departmentid=#{deptid}
        </if>
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            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!='1123598813738675201'">
            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!='1123598813738675201'">
            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'
        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 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 hold = 1
        GROUP BY dept_id,
        jurisdiction
        ) D ON A.departmentid = D.dept_id
        LEFT JOIN (SELECT COUNT(*) AS sbnum, deptid, jurisdiction
        FROM sys_socil
        GROUP BY deptid, jurisdiction) E ON A.departmentid = E.deptid
        LEFT JOIN (
        SELECT COUNT(*) AS ghnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher
        GROUP BY dept_id, jurisdiction) F ON A.departmentid = F.dept_id
        LEFT JOIN (SELECT SUM(num) AS pcnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher
        GROUP BY dept_id, jurisdiction) G ON A.departmentid = G.dept_id ) J
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            and J.jurisdiction =#{jurisdiction}
        </if>
        <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 limit
        #{current},#{size};
    </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 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'
        GROUP BY dept_id, jurisdiction) E ON A.departmentid = E.dept_id) J
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            and J.jurisdiction =#{jurisdiction}
        </if>
        <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
        limit #{current},#{size};
    </select>
    <!--业务统计情况-->
    <select id="selectYw" resultType="java.util.HashMap">
        SELECT
        A.enterpriseName,
        A.dept_name as jurname,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( C.znum, 0 ) AS znum
        FROM
        (
        SELECT
        i.enterpriseName,
        i.departmentid,
        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 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' GROUP BY
        dept_id ) C ON A.departmentid = C.dept_id
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            AND A.jurisdiction=#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.departmentid=#{deptid}
        </if>
        limit #{current},#{size};
    </select>
    <!--保安人员详情-->
    <select id="selectUIn" resultType="java.util.HashMap">
        SELECT real_name,securitynumber,cardid,phone,hold,soil,photo,examination_type,dispatch FROM blade_user WHERE
        role_id='1412226235153731586'
        <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!='1123598813738675201'">
            and di.jurisdiction =#{jurisdiction}
        </if>
        <if test="fid!=null and fid!=''">
            and di.dispatcher_unit_id=#{fid}
        </if>
        limit #{current},#{size};
    </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,
        i.enterpriseName,
        j.dept_name as jurname,
        i.departmentid
        FROM `sys_punish` p
        LEFT JOIN sys_information i ON i.departmentid = p.deptid
        LEFT JOIN sys_jurisdiction j ON j.id = p.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and p.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.enterpriseName, i.departmentid, j.dept_name
    </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!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.enterpriseName,j.dept_name
    </select>
</mapper>