智慧保安后台管理项目备份
Administrator
2021-12-06 f9ff113e9d2e9a3e643b185f08652004e5e43d94
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -1596,8 +1596,8 @@
        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
@@ -3409,5 +3409,269 @@
            )
    </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>
</mapper>