智慧保安后台管理项目备份
zhongrj
2024-05-24 b5960d1968e007b91d4d33dd7cbb74f1b566f2c1
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -40,83 +40,56 @@
    <select id="selectInformationPage" resultMap="informationResultMap">
        SELECT
        i.*,
        IFNULL( A.znum, 0 ) AS znum,
        IFNULL( B.cnum, 0 ) AS cnum,
        IFNULL( C.pnum, 0 ) AS pnum,
        IFNULL(A.znum ,0) as znum,
        IFNULL(B.cnum ,0) as cnum,
        IFNULL(C.pnum ,0) as pnum,
        sj.dept_name jurisdictionName
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction sj ON sj.id = i.jurisdiction
        LEFT JOIN (
        SELECT
        J.znum + J.fznum AS znum,
        J.dept_id
        FROM
        LEFT JOIN
        (
        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
        SELECT COUNT( * ) AS znum, dept_id FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        GROUP BY dept_id
        ) A
        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
        ) A ON A.dept_id = i.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND hold = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) B ON B.dept_id = i.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS pnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND dispatch = 0
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) C ON C.dept_id = i.departmentid
        WHERE
        1 =1
        ON A.dept_id = i.departmentid
        LEFT JOIN
        (
        SELECT COUNT( * ) AS cnum, dept_id FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND hold=1
        GROUP BY dept_id
        ) B
        ON B.dept_id = i.departmentid
        LEFT JOIN
        (
        SELECT COUNT( * ) AS pnum, dept_id FROM blade_user
        WHERE 1=1
        and is_deleted = 0
        and role_id = '1412226235153731586'
        AND status=1
        AND dispatch='0'
        GROUP BY dept_id
        ) C
        ON C.dept_id = i.departmentid
        left join
        sys_jurisdiction sj
        on
        sj.id = i.jurisdiction
        left join
        blade_dept bd
        on
        bd.id = i.departmentid
        where 1=1
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj.id=#{information.jurisdiction} or sj.parent_id=#{information.jurisdiction})
        </if>
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
@@ -124,14 +97,12 @@
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and i.stats=#{information.stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and i.jurisdiction=#{information.jurisdiction}
            and i.stats=#{information.stats} and bd.dept_category = 1
        </if>
        <if test="information.departmentid!=null and information.departmentid!=''">
            and i.departmentid=#{information.departmentid}
        </if>
        order by i.establishTime asc
    </select>
    <delete id="deleteIn">
@@ -1136,7 +1107,7 @@
        u.dept_id
        FROM
        sys_performance p
        INNER JOIN blade_user u ON p.cardid = u.cardid WHERE 1=1
        INNER JOIN blade_user u ON p.cardid = u.cardid WHERE 1=1 AND score=3
        <if test="type!=null and type=='1'.toString()">
            and to_days(p.time) = to_days(now())
        </if>
@@ -1243,38 +1214,27 @@
        where id = #{ids}
    </delete>
    <select id="selectLi" resultType="java.util.HashMap">
    <!--保安员统计查询-->
    <select id="selectLi" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
        SELECT
        IFNULL( V.num, 0 ) AS num,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.num, 0 ) AS paiqnum,
        IFNULL( D.num, 0 ) AS wpaiqnum,
        IFNULL( E.sbnum, 0 ) AS sbnum,
        IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
        IFNULL( H.ycaijzpnum, 0 ) AS ycaijzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycaijzwnum,
        IFNULL( G.yicnum, 0 ) AS yicnum,
        IFNULL( D.num, 0 ) AS wpqnum,
        IFNULL( C.num, 0 ) AS pqnum,
        IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
        IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
        IFNULL( G.yicnum, 0 ) AS scycnum,
        IFNULL( E.sbnum, 0 ) AS jnsbnum,
        A.departmentid,
        A.enterpriseName AS deptname,
        A.stats,
        j.dept_name AS jurname
        FROM
        ( SELECT jurisdiction, departmentid,enterpriseName,stats,create_time FROM sys_information where stats !=1) A
        ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
        LEFT JOIN (
        SELECT
        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,
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
@@ -1284,22 +1244,6 @@
        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
        ) V ON V.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
@@ -1317,18 +1261,7 @@
        ) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        L.znum+L.fznum as num,
        L.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
@@ -1336,41 +1269,13 @@
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        AND bu.dispatch = 0
        AND bu.dispatch = '0'
        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'
        AND bu.dispatch = 0
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) L
        ) C ON C.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        K.znum+K.fznum as num,
        K.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
@@ -1381,25 +1286,18 @@
        AND bu.dispatch = 1
        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'
        AND bu.dispatch = 1
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) K
        ) D ON D.dept_id = A.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS sbnum, deptid FROM sys_socil GROUP BY deptid ) E ON E.deptid = A.departmentid
        LEFT JOIN (
        SELECT COUNT( * ) AS sbnum,dept_id FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND soil = 0
        GROUP BY
        dept_id
        ) E ON E.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS wcaijnum,
@@ -1410,7 +1308,7 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND photo = 1
        AND (avatar is null or avatar = "")
        GROUP BY
        dept_id
        ) F ON F.dept_id = A.departmentid
@@ -1424,7 +1322,7 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND photo = 0
        AND avatar is not null and avatar!=""
        GROUP BY
        dept_id
        ) H ON H.dept_id = A.departmentid
@@ -1438,7 +1336,7 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND fingerprint = 0
        AND fingerprint is not null and fingerprint!=""
        GROUP BY
        dept_id
        ) I ON I.dept_id = A.departmentid
@@ -1452,13 +1350,15 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_mx = 1
        AND examination_type = 1
        GROUP BY
        dept_id
        ) G ON G.dept_id = A.departmentid
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1 =1
        WHERE
        1 = 1
        AND d.dept_category = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
@@ -1476,6 +1376,7 @@
        </if>
    </select>
    <!--查询-->
    <select id="seCountI" resultType="java.util.HashMap">
        SELECT COUNT(*) as num,stats FROM sys_information
        where 1=1 and stats IS NOT NULL
@@ -1611,7 +1512,7 @@
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND dispatch = 0
        AND dispatch = '0'
        GROUP BY
        dept_id,
        jurisdiction
@@ -1663,7 +1564,7 @@
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1
        AND dispatch = 0
        AND dispatch = '0'
        GROUP BY dept_id,
        jurisdiction
        ) D ON A.departmentid = D.dept_id
@@ -1683,22 +1584,22 @@
    <!--业务统计情况-->
    <select id="selectYw" resultType="java.util.HashMap">
    <select id="selectYw" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
        SELECT
        A.enterpriseName,
        A.departmentid,
        A.stats,
        A.jurisdiction,
        j.dept_name as jurname,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( C.znum, 0 ) AS znum,
        IFNULL( D.dqnum, 0 ) AS dqnum,
        IFNULL( E.cznum, 0 ) AS cznum,
        IFNULL( F.pqnum, 0 ) AS pqnum
        IFNULL( F.pqnum, 0 ) AS pqnum,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( D.dqnum, 0 ) AS dqnum
        FROM
        (
        SELECT enterpriseName,jurisdiction, departmentid,stats FROM sys_information WHERE stats!=1 GROUP BY
        enterpriseName,jurisdiction,departmentid,stats) A
        SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
        enterpriseName,jurisdiction,departmentid,stats,create_time) A
        LEFT JOIN
        (
        SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
@@ -1708,17 +1609,6 @@
        ) B
        ON A.departmentid = B.dept_id
        LEFT JOIN
        (
        SELECT
        J.znum+J.fznum as znum,
        J.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
@@ -1731,22 +1621,6 @@
        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 A.departmentid = C.dept_id
        LEFT JOIN
@@ -1767,10 +1641,15 @@
        LEFT JOIN
        (
        SELECT
        SUM(num) AS pqnum,
        count(*) AS pqnum,
        dept_id
        FROM
        sys_dispatcher
        blade_user
        where 1=1
        and status = 1
        and is_deleted = 0
        and role_id = "1412226235153731586"
        and dispatch = '0'
        GROUP BY
        dept_id
        ) F
@@ -1778,6 +1657,7 @@
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1 =1
        and d.dept_category = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
@@ -2001,7 +1881,7 @@
        FROM
        blade_user
        WHERE
        dispatch = 0
        dispatch = '0'
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
@@ -2058,7 +1938,7 @@
        FROM
        blade_user
        WHERE
        dispatch = 0
        dispatch = '0'
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
@@ -2296,7 +2176,7 @@
            and bu.hold = 1
        </if>
        <if test="type==2">
            and bu.dispatch = 0
            and bu.dispatch = '0'
        </if>
        <if test="type==3">
            and bu.soil = 0
@@ -2756,7 +2636,7 @@
        role_alias = "安保人员"
        AND bu.is_deleted = 0
        AND bu.`status` = 1
        AND bu.dispatch = 0
        AND bu.dispatch = '0'
        GROUP BY
        dept_id
        ) b ON a.dept_id = b.dept_id
@@ -3065,7 +2945,7 @@
            and bu.hold = 1
        </if>
        <if test="type==2">
            and bu.dispatch = 0
            and bu.dispatch = '0'
        </if>
        <if test="type==3">
            and bu.soil = 0
@@ -3203,4 +3083,626 @@
            and i.jurisdiction in(${jurisdiction})
        </if>
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptHashChildrens" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptHashChildren" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
    </select>
    <!--查询单位的人数-->
    <select id="selectInformationUserNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的已派遣人数-->
    <select id="selectInformationDispatcherNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND dispatch='0'
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的未派遣人数-->
    <select id="selectInformationNotDispatcherNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND dispatch=1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位持证的人数-->
    <select id="selectInformationHoldNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND hold=1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询服务单位数-->
    <select id="selectInformationUnitNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM sys_dispatcher_unit
        where
        start_time &lt;= now() and end_time &gt; now()
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询服务单位到期数-->
    <select id="selectInformationUnitExpireNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM sys_dispatcher_unit
        where end_time &lt; now()
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <select id="selectBxc" resultType="java.util.HashMap">
        SELECT u.real_name as realName,
        d.dept_name as deptName,
        u.sex,
        u.cardid,
        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(u.cardid, 7, 4), 0) AS age,
        u.securitynumber,
        u.phone,
        p.score
        FROM sys_performance p
        LEFT JOIN blade_user u ON p.securityId = u.id
        LEFT JOIN blade_dept d ON d.id = p.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = p.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="type!=null and type=='1'.toString()">
            and to_days(p.time) = to_days(now())
        </if>
        <if test="type!=null and type=='2'.toString()">
            and DATE_FORMAT(p.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
        </if>
        and p.score = 3
    </select>
    <!--查询单位的已采集照片人数-->
    <select id="selectInformationUnitAvatarNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND avatar is not null and avatar!=""
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的未采集照片人数-->
    <select id="selectInformationUnitNotAvatarNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND (avatar is null or avatar = "")
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的已采集指纹人数-->
    <select id="selectInformationUnitZwNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND fingerprint is not null and fingerprint!=""
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的审查异常人数-->
    <select id="selectInformationUnitYcNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND examination_type = 1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的社保缴纳人数-->
    <select id="selectInformationUnitJnsbNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
      role_id = '1412226235153731586'
      AND STATUS = 1
      AND is_deleted = 0
      AND soil = 0
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptChildrens" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{param1}
    </select>
    <!--导出保安员统计查询-->
    <select id="exportSecurityStatisInfo" resultType="org.springblade.modules.information.excel.ExportInformationSecurityStatistics">
        SELECT
        IFNULL( V.num, 0 ) AS num,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( D.num, 0 ) AS wpqnum,
        IFNULL( C.num, 0 ) AS pqnum,
        IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
        IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
        IFNULL( G.yicnum, 0 ) AS scycnum,
        IFNULL( E.sbnum, 0 ) AS jnsbnum,
        A.departmentid,
        A.enterpriseName AS deptname,
        case when A.stats=0 then '自招保安单位'
        when A.stats=2 then '本市保安公司'
        when A.stats=4 then '分公司'
        else "其他" end as stats,
        j.dept_name AS jurname
        FROM
        ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) V ON V.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        GROUP BY
        dept_id
        ) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        AND bu.dispatch = '0'
        GROUP BY
        bu.dept_id
        ) C ON C.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        AND bu.dispatch = 1
        GROUP BY
        bu.dept_id
        ) D ON D.dept_id = A.departmentid
        LEFT JOIN (
        SELECT COUNT( * ) AS sbnum,dept_id FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND soil = 0
        GROUP BY
        dept_id
        ) E ON E.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS wcaijnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND (avatar is null or avatar = "")
        GROUP BY
        dept_id
        ) F ON F.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS ycaijzpnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND avatar is not null and avatar!=""
        GROUP BY
        dept_id
        ) H ON H.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS ycaijzwnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND fingerprint is not null and fingerprint!=""
        GROUP BY
        dept_id
        ) I ON I.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS yicnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 1
        GROUP BY
        dept_id
        ) G ON G.dept_id = A.departmentid
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE
        1 = 1
        AND d.dept_category = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.enterpriseName like concat(concat('%', #{deptid}),'%')
        </if>
        <if test="stats!=null and stats!=''">
            and A.stats =#{stats}
        </if>
        <if test="startTime!=null and startTime!=''">
            and A.create_time &gt;= #{startTime}
        </if>
        <if test="endTime!=null and endTime!=''">
            and A.create_time &lt;= #{endTime}
        </if>
    </select>
    <!--导出业务统计情况-->
    <select id="exportBusinessStatis" resultType="org.springblade.modules.information.excel.ExportInformationExcel">
        SELECT
        A.enterpriseName,
        A.departmentid,
        case when A.stats=0 then '自招保安单位'
        when A.stats=2 then '本市保安公司'
        when A.stats=4 then '分公司'
        else "其他" end as stats,
        A.jurisdiction,
        j.dept_name as jurname,
        IFNULL( C.znum, 0 ) AS znum,
        IFNULL( E.cznum, 0 ) AS cznum,
        IFNULL( F.pqnum, 0 ) AS pqnum,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( D.dqnum, 0 ) AS dqnum
        FROM
        (
        SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
        enterpriseName,jurisdiction,departmentid,stats,create_time) A
        LEFT JOIN
        (
        SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
        where
        start_time &lt;= now() and end_time &gt; now()
        GROUP BY dept_id
        ) B
        ON A.departmentid = B.dept_id
        LEFT JOIN
        (
        SELECT
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) C
        ON A.departmentid = C.dept_id
        LEFT JOIN
        (
        SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time &lt; now() GROUP BY dept_id
        ) D
        ON A.departmentid = D.dept_id
        LEFT JOIN
        (
        SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where
        hold = 1
        and role_id = '1412226235153731586'
        and status= 1
        and is_deleted = 0
        GROUP BY dept_id
        ) E
        ON A.departmentid = E.dept_id
        LEFT JOIN
        (
        SELECT
        count(*) AS pqnum,
        dept_id
        FROM
        blade_user
        where 1=1
        and status = 1
        and is_deleted = 0
        and role_id = "1412226235153731586"
        and dispatch = '0'
        GROUP BY
        dept_id
        ) F
        ON A.departmentid = F.dept_id
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1 =1
        and d.dept_category = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.enterpriseName like concat('%', #{deptid},'%')
        </if>
        <if test="stats!=null and stats!=''">
            and A.stats=#{stats}
        </if>
        <if test="startTime!=null and startTime!=''">
            and A.create_time &gt;= #{startTime}
        </if>
        <if test="endTime!=null and endTime!=''">
            and A.create_time &lt;= #{endTime}
        </if>
    </select>
    <!--更具部门id 查询所有的父级部门id包含本身-->
    <select id="getDeptDetails" resultType="java.lang.String">
        SELECT
            T1._id
        FROM
            (
            SELECT
                @r AS _id,
                ( SELECT @r := parent_id FROM blade_dept WHERE id = _id ) AS parent_id,
                @l := @l + 1 AS lvl
            FROM
                ( SELECT @r := #{information.departmentid}, @l := 0 ) vars,
                blade_dept h
            ) T1
        where T1._id!=0
        AND T1._id != 1413470343230877697
        AND T1._id != 1418458374477549569
        AND T1._id != 1420222768149966850
        AND T1._id != 1425366663452196865
        order by T1._id
    </select>
    <!--根据部门id 查询公司信息-->
    <select id="getInformationDetails" resultType="org.springblade.modules.information.vo.InformationVO">
        select si.*,sj.dept_name jurisdictionName from sys_information si
        left join sys_jurisdiction sj on sj.id = si.jurisdiction
        where si.departmentid = #{deptId}
    </select>
</mapper>