智慧保安后台管理-验收版本
tangzy
2021-12-06 30df94c05573a426d030510d4dd58ae1d93bfb7a
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -57,6 +57,15 @@
        <if test="information.representative!=null and information.representative!=''">
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.creditcode!=null and information.creditcode!=''">
            and i.creditCode like concat(concat('%', #{information.creditcode}),'%')
        </if>
        <if test="information.representativecell!=null and information.representativecell!=''">
            and i.representativecell like concat(concat('%', #{information.representativecell}),'%')
        </if>
        <if test="information.address!=null and information.address!=''">
            and i.address like concat(concat('%', #{information.address}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and i.stats=#{information.stats}
        </if>
@@ -341,91 +350,278 @@
    <!--        ) F ON F.dept_id = A.deptid-->
    <!--    </select> -->
    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
    <!--    <select id="selectTo" resultType="java.util.HashMap">-->
    <!--        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,-->
    <!--        IFNULL(B.thismouth, 0) AS thismouth,-->
    <!--        IFNULL(C.thisamount, 0) AS thisamount,-->
    <!--        IFNULL(D.lastamount, 0) AS lastamount,-->
    <!--        IFNULL(E.userthismouth, 0) AS userthismouth,-->
    <!--        IFNULL(F.userlastmouth, 0) AS userlastmouth,-->
    <!--        IFNULL(G.userpcthismouth, 0) AS userpcthismouth,-->
    <!--        IFNULL(J.userpclastmouth, 0) AS userpclastmouth-->
    <!--        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS lastmonth,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1-->
    <!--        GROUP BY deptid-->
    <!--        ) A ON A.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS thismouth,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY deptid-->
    <!--        ) B ON B.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT SUM(amount) AS thisamount,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY deptid-->
    <!--        ) C ON C.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT SUM(amount) AS lastamount,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1-->
    <!--        GROUP BY deptid-->
    <!--        ) D ON D.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userthismouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) E ON E.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userlastmouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) F ON F.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpcthismouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        AND dispatch = 0-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) G ON G.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpclastmouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1-->
    <!--        AND dispatch = 0-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) J ON J.dept_id = H.departmentid where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and H.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and H.departmentid =#{deptid}-->
    <!--        </if>-->
    <!--    </select>-->
    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
    <select id="selectTo" resultType="java.util.HashMap">
        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,
        IFNULL(B.thismouth, 0) AS thismouth,
        IFNULL(C.thisamount, 0) AS thisamount,
        IFNULL(D.lastamount, 0) AS lastamount,
        IFNULL(E.userthismouth, 0) AS userthismouth,
        IFNULL(F.userlastmouth, 0) AS userlastmouth,
        IFNULL(G.userpcthismouth, 0) AS userpcthismouth,
        IFNULL(J.userpclastmouth, 0) AS userpclastmouth
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        SELECT
        IFNULL( A.lastmonth, 0 ) AS lastmonth,
        IFNULL( B.thismouth, 0 ) AS thismouth,
        IFNULL( Z.num, 0 ) AS num,
        IFNULL( C.thisamount, 0 ) AS thisamount,
        IFNULL( D.lastamount, 0 ) AS lastamount,
        IFNULL( R.amountnum, 0 ) AS amountnum,
        IFNULL( E.userthismouth, 0 ) AS userthismouth,
        IFNULL( F.userlastmouth, 0 ) AS userlastmouth,
        IFNULL( I.usernum, 0 ) AS usernum,
        IFNULL( G.userpcthismouth, 0 ) AS userpcthismouth,
        IFNULL( J.userpclastmouth, 0 ) AS userpclastmouth,
        IFNULL( P.userpcnum, 0 ) AS userpcnum
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT COUNT(*) AS lastmonth,
        SELECT
        COUNT( * ) AS lastmonth,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) A ON A.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS thismouth,
        SELECT
        COUNT( * ) AS thismouth,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) B ON B.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS thisamount,
        SELECT
        COUNT( * ) AS num,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) Z ON Z.deptid = H.departmentid
        LEFT JOIN (
        SELECT
        SUM( amount ) AS thisamount,
        deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) C ON C.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS lastamount,
        SELECT
        SUM( amount ) AS lastamount,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) D ON D.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userthismouth,
        SELECT
        SUM(amount) AS amountnum,
        deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) R ON R.deptid = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS userthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        FROM
        blade_user
        WHERE
        DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        AND is_deleted = 0 AND role_id='1412226235153731586'
        GROUP BY
        dept_id
        ) E ON E.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userlastmouth,
        SELECT
        COUNT( * ) AS userlastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        FROM
        blade_user
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        AND is_deleted = 0 AND role_id='1412226235153731586'
        GROUP BY
        dept_id
        ) F ON F.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpcthismouth,
        SELECT
        J.znum+J.fznum as usernum,
        J.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) A
        LEFT JOIN (
        SELECT
        IFNULL( COUNT( * ), 0 ) AS znum,
        bd.parent_id
        FROM
        blade_user bu
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) J) I ON I.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS userpcthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        FROM
        sys_dispatcher
        WHERE
        DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND STATUS = 0
        GROUP BY
        dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpclastmouth,
        SELECT
        COUNT( * ) AS userpclastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid where 1=1
        FROM
        sys_dispatcher
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        AND STATUS = 0
        GROUP BY
        dept_id
        ) J ON J.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS userpcnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE STATUS = 0
        GROUP BY
        dept_id
        ) P ON P.dept_id = H.departmentid
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的交社保的数量-->
    <select id="queryYearSoil" resultType="java.util.HashMap">
        SELECT COUNT
@@ -540,66 +736,49 @@
    </select>
    <!--总保安数量-->
    <!--    &lt;!&ndash;总保安数量&ndash;&gt;-->
    <!--    <select id="queryCountB" resultType="java.util.HashMap">-->
    <!--        SELECT-->
    <!--        C.thisnum,-->
    <!--        C.lastnum,-->
    <!--        d.dept_name AS deptname,-->
    <!--        j.dept_name AS jurname-->
    <!--        FROM-->
    <!--        (-->
    <!--        SELECT-->
    <!--        IFNULL( A.thisnum, 0 ) AS thisnum,-->
    <!--        IFNULL( B.lastnum, 0 ) AS lastnum,-->
    <!--        A.dept_id,-->
    <!--        A.jurisdiction-->
    <!--        FROM-->
    <!--        (-->
    <!--        SELECT-->
    <!--        COUNT( * ) AS thisnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
    <!--        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        GROUP BY-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        ) A-->
    <!--        SELECT IFNULL(A.thisnum, 0) AS thisnum,-->
    <!--        IFNULL(B.lastnum, 0) AS lastnum,-->
    <!--        H.departmentid,-->
    <!--        H.jurisdiction-->
    <!--        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H-->
    <!--        LEFT JOIN (-->
    <!--        SELECT-->
    <!--        COUNT( * ) AS lastnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1-->
    <!--        GROUP BY-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        ) B ON A.dept_id = B.dept_id-->
    <!--        ) C-->
    <!--        LEFT JOIN blade_dept d ON C.dept_id = d.id-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction-->
    <!--        WHERE 1 =1-->
    <!--        SELECT COUNT(*) AS thisnum,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE role_id = '1412226235153731586'-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        AND DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY dept_id-->
    <!--        ) A ON A.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS lastnum,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE role_id = '1412226235153731586'-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1-->
    <!--        GROUP BY dept_id-->
    <!--        ) B ON B.dept_id = H.departmentid where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and C.jurisdiction =#{jurisdiction}-->
    <!--            and H.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and C.dept_id =#{deptid}-->
    <!--            and H.departmentid =#{deptid}-->
    <!--        </if>-->
    <!--    </select>-->
    <select id="queryCountB" resultType="java.util.HashMap">
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        IFNULL( C.fznum, 0 ) AS fznum,
        H.departmentid,
        H.jurisdiction
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        FROM (SELECT departmentid, jurisdiction FROM sys_information WHERE stats!=1 GROUP BY departmentid, jurisdiction)
        H
        LEFT JOIN (
        SELECT COUNT(*) AS thisnum,
        dept_id
@@ -607,7 +786,7 @@
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND DATE_FORMAT(rtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) A ON A.dept_id = H.departmentid
        LEFT JOIN (
@@ -617,11 +796,54 @@
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1
        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(rtime, '%Y%m')) = 1
        GROUP BY dept_id
        ) B ON B.dept_id = H.departmentid where 1=1
        ) B ON B.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        J.fznum,
        J.znum+J.fznum as num,
        J.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) A
        LEFT JOIN (
        SELECT
        IFNULL( COUNT( * ), 0 ) AS znum,
        bd.parent_id
        FROM
        blade_user bu
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) J
        ) C ON C.dept_id = H.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
@@ -630,242 +852,295 @@
    <!--正常保安数量-->
    <select id="queryCountZc" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND examination_type = 0
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--持证保安数量-->
    <select id="queryCountCz" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->
    <select id="queryCountSb" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( D.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.deptid,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY deptid,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY deptid,
        jurisdiction
        ) B ON A.deptid = B.deptid
        ) C
        LEFT JOIN blade_dept d ON C.deptid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.deptid =#{deptid}
        </if>
    </select>
    <!--服务客户数量-->
    <select id="queryCountKh" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        C.dept_id,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( start_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id
        ) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--保安派遣数量-->
    <!--    <select id="queryCountPq" resultType="java.util.HashMap">-->
    <!--        SELECT C.thisnum,-->
    <!--        C.lastnum,-->
    <!--        d.dept_name as deptname,-->
    <!--        j.dept_name as jurname-->
    <!--        FROM (-->
    <!--        SELECT IFNULL(A.thisnum, 0) AS thisnum,-->
    <!--        IFNULL(B.lastnum, 0) AS lastnum,-->
    <!--        A.dept_id,-->
    <!--        A.jurisdiction-->
    <!--        FROM (-->
    <!--        SELECT SUM(num) AS thisnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM sys_dispatcher-->
    <!--        WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        GROUP BY dept_id, jurisdiction-->
    <!--        ) A-->
    <!--        left JOIN (-->
    <!--        SELECT SUM(num) AS lastnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM sys_dispatcher-->
    <!--        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1-->
    <!--        GROUP BY dept_id, jurisdiction-->
    <!--        ) B ON A.dept_id = B.dept_id) C-->
    <!--        LEFT JOIN blade_dept d ON C.dept_id = d.id-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and C.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and C.dept_id =#{deptid}-->
    <!--        </if>-->
    <!--    </select> -->
    <select id="queryCountPq" resultType="java.util.HashMap">
        SELECT IFNULL(G.thisnum, 0) AS thisnum,
        IFNULL(J.lastnum, 0) AS lastnum
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT SUM(num) AS thisnum,
        SELECT
        COUNT( * ) AS thisnum,
        dept_id
        FROM sys_dispatcher
        WHERE DATE_FORMAT(dispatcherTime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) G ON G.dept_id = H.departmentid
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        AND DATE_FORMAT( rtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT SUM(num) AS lastnum,
        SELECT
        COUNT( * ) AS lastnum,
        dept_id
        FROM sys_dispatcher
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(dispatcherTime, '%Y%m')) = 1
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid
        WHERE 1 = 1
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( rtime, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        GROUP BY
        dept_id
        ) D ON H.departmentid = D.dept_id
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--持证保安数量-->
    <select id="queryCountCz" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        H.enterpriseName AS deptname,
        j.dept_name AS jurname
        FROM
        ( SELECT departmentid, jurisdiction,enterpriseName FROM sys_information GROUP BY departmentid,
        jurisdiction,enterpriseName ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        AND DATE_FORMAT( rtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( rtime, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        GROUP BY
        dept_id
        ) C ON H.departmentid = C.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->
    <select id="queryCountSb" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT( * ) AS thisnum,
        deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) A ON H.departmentid = A.deptid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS lastnum,
        deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) B ON H.departmentid = B.deptid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) C ON H.departmentid = C.deptid
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--服务客户数量-->
    <select id="queryCountKh" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        sys_dispatcher_unit
        WHERE
        DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        sys_dispatcher_unit
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( start_time, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        sys_dispatcher_unit
        GROUP BY
        dept_id
        ) C ON H.departmentid = C.dept_id
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--保安派遣数量-->
    <select id="queryCountPq" resultType="java.util.HashMap">
        SELECT
        IFNULL( G.thisnum, 0 ) AS thisnum,
        IFNULL( J.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE
        DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND `status`=0
        GROUP BY
        dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        AND `status`=0
        GROUP BY
        dept_id
        ) J ON J.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        sys_dispatcher
        where `status`=0
        GROUP BY
        dept_id
        ) C ON C.dept_id = H.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的总人数-->
    <select id="queryYearZ" resultType="java.util.HashMap">
@@ -1130,7 +1405,7 @@
        u.dept_id
        FROM
        sys_performance p
        INNER JOIN blade_user u ON p.securityId = u.id WHERE 1=1
        INNER JOIN blade_user u ON p.securityId = u.id WHERE 1=1 AND score=3
        <if test="type!=null and type=='1'.toString()">
            and to_days(p.time) = to_days(now())
        </if>
@@ -1218,7 +1493,7 @@
        A.stats,
        j.dept_name AS jurname
        FROM
        ( SELECT jurisdiction, departmentid,enterpriseName,stats,create_time FROM sys_information where stats !=1) A
        ( SELECT jurisdiction, departmentid,enterpriseName,stats FROM sys_information where stats !=1) A
        LEFT JOIN (
        SELECT
        J.znum+J.fznum as num,
@@ -2238,7 +2513,7 @@
            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}
            and c.dept_id = #{information.departmentid}
        </if>
    </select>
@@ -2734,7 +3009,7 @@
            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
        </if>
        ) b
        where b.znum &lt; 2
        where b.znum &lt; #{information.proportion}
        <if test="information.departmentid!=null and information.departmentid!=''">
            and b.departmentid = #{information.departmentid}
        </if>
@@ -2776,6 +3051,42 @@
             ) b
             on
                 a.id = b.parent_id
        union all
        (
            select a.id,
                   a.dept_name        name,
                   ifnull(b.count, 0) num
            from (select id, dept_name from sys_jurisdiction where parent_id = 1372091709474910209) a
                     left join
                 (
                     select sj.id,
                            sj.parent_id,
                            count(*) count
                     from sys_performance sp
                         left join
                         blade_user bu
                     on
                         bu.id = sp.securityId
                         left join
                         sys_information si
                         on
                         bu.dept_id = si.departmentid
                         left join
                         sys_jurisdiction sj
                         on
                         sj.id = si.jurisdiction
                     where
                         1=1
                       and (si.stats = 2
                        or si.stats =4)
                       and bu.is_deleted = 0
                       and bu.`status` = 1
                       and sp.score = 3
                     group by si.jurisdiction
                 ) b
                 on
                     a.id = b.id
        )
    </select>
@@ -2809,6 +3120,37 @@
             ) b
             on
                 a.id = b.parent_id
        union all
        (
            select a.id, a.dept_name name, ifnull(b.count, 0) num
            from (select id, dept_name from sys_jurisdiction where parent_id = 1372091709474910209) a
                     left join
                 (
                     select sj.id,
                            sj.parent_id,
                            count(*) count
                     from
                         blade_user bu
                         left join
                         sys_information si
                     on
                         bu.dept_id = si.departmentid
                         left join
                         sys_jurisdiction sj
                         on
                         sj.id = si.jurisdiction
                     where
                         1=1
                       and (si.stats = 2
                        or si.stats =4)
                       and bu.is_deleted = 0
                       and bu.`status` = 1
                       and bu.examination_type = 1
                     group by si.jurisdiction
                 ) b
                 on
                     a.id = b.id
        )
    </select>
@@ -2874,6 +3216,69 @@
             ) f
             on
                 g.id = f.parent_id
        union all
        (
            select g.id, g.dept_name name, ifnull(f.count, 0) num
            from (select id, dept_name from sys_jurisdiction where parent_id = 1372091709474910209) g
                     left join
                 (
                     select e.id, e.parent_id, count(*) count
                     from (
                         select d.*, ifnull(FORMAT((num2/num1)*100, 2), 0) num3, sj.* from (
                         select a.dept_id, ifnull(b.count, 0) num1, ifnull(c.count, 0) num2 from
                         (
                         select
                         bu.dept_id, ifnull(count (*), 0) count
                         from blade_user bu
                         left join blade_role br
                         on bu.role_id = br.id
                         where
                         role_alias = "安保人员"
                         and bu.is_deleted = 0
                         and bu.`status` = 1
                         group by dept_id
                         ) a
                         left join
                         (
                         select count (*) count, bu.dept_id from
                         exam_score es
                         left join
                         blade_user bu
                         on
                         bu.id = es.user_id
                         where 1=1 group by bu.dept_id
                         ) b
                         on
                         a.dept_id = b.dept_id
                         left join
                         (
                         select count (*) count, bu.dept_id from
                         exam_score es
                         left join
                         blade_user bu
                         on
                         bu.id = es.user_id
                         where qualified = 0 group by bu.dept_id
                         ) c
                         on a.dept_id = c.dept_id
                         ) d
                         left join
                         sys_information si
                         on
                         si.departmentid = d.dept_id
                         left join
                         sys_jurisdiction sj
                         on
                         sj.id = si.jurisdiction
                         where d.num1!=0
                         and (stats = 2 or stats=4)
                         ) e
                     where e.num3 &lt; 50
                     group by e.id
                 ) f
                 on
                     g.id = f.id
        )
    </select>
    <!--持证率低于50%,社保缴纳率低于50%,派遣率低于50%-->
@@ -3005,6 +3410,96 @@
        ) f
        on
        g.id = f.parent_id
        union all
        (
        select g.id,g.dept_name name,ifnull(f.count,0) num
        from
        (select id,dept_name from sys_jurisdiction where parent_id = 1372091709474910209) g
        left join
        (
        select c.id,c.parent_id,count(*) count from (
        select si.enterpriseName,sj.id,sj.parent_id,a.dept_id,ifnull(a.count,0) num1,ifnull(b.count,0)
        num2,ifnull(FORMAT((b.count/a.count)*100,2),0) num3 from
        (
        select
        bu.dept_id,ifnull(count(*),0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        group by dept_id
        ) a
        left join
        (
        select
        bu.dept_id,ifnull(count(*),0) count
        from blade_user bu
        left join blade_role br
        on bu.role_id = br.id
        where
        role_alias = "安保人员"
        and bu.is_deleted = 0
        and bu.`status` = 1
        <if test="type==1">
            and bu.hold = 1
        </if>
        <if test="type==2">
            and bu.dispatch = 0
        </if>
        <if test="type==3">
            and bu.soil = 0
        </if>
        group by dept_id
        ) b
        on
        a.dept_id = b.dept_id
        left join
        sys_information si
        on
        a.dept_id = si.departmentid
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        where 1=1
        and (stats = 2 or stats=4)
        )c
        where c.num3 &lt; 50
        group by c.id
        ) f
        on
        g.id = f.id
        )
    </select>
    <select id="selectBxc" resultType="java.util.HashMap">
        SELECT u.real_name as realName,
        d.dept_name as deptName,
        u.sex,
        u.cardid,
        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(u.cardid, 7, 4), 0) AS age,
        u.securitynumber,
        u.phone,
        p.score
        FROM sys_performance p
        LEFT JOIN blade_user u ON p.securityId = u.id
        LEFT JOIN blade_dept d ON d.id = p.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = p.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="type!=null and type=='1'.toString()">
            and to_days(p.time) = to_days(now())
        </if>
        <if test="type!=null and type=='2'.toString()">
            and DATE_FORMAT(p.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
        </if>
        and p.score = 3
    </select>
</mapper>