From f9ff113e9d2e9a3e643b185f08652004e5e43d94 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 06 Dec 2021 16:19:37 +0800
Subject: [PATCH] 保安员统计导出,业务情况统计导出修改
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 266 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
index cd07552..91fcdd8 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/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 >= #{startTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ and A.create_time <= #{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 <= now() and end_time > 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 < 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 >= #{startTime}
+ </if>
+ <if test="endTime!=null and endTime!=''">
+ and A.create_time <= #{endTime}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.3