From 6d0909f784a03da5fc4918b759d5bbba16b535c5 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 18 Sep 2021 08:56:24 +0800
Subject: [PATCH] 1.统计
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 482 ++++++++++++++++++++++++++++-------------------------
1 files changed, 255 insertions(+), 227 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 85fca46..9541c05 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -596,29 +596,29 @@
<!-- </select>-->
<select id="queryCountB" resultType="java.util.HashMap">
SELECT IFNULL(A.thisnum, 0) AS thisnum,
- IFNULL(B.lastnum, 0) AS lastnum,
- H.departmentid,
- H.jurisdiction
+ 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 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
+ LEFT JOIN (
+ 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
+ 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 H.jurisdiction =#{jurisdiction}
@@ -804,39 +804,65 @@
</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 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
+ 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
+ LEFT JOIN (
+ SELECT SUM(num) 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
+ LEFT JOIN (
+ SELECT SUM(num) 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
<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>
@@ -1413,7 +1439,7 @@
SELECT COUNT(*) AS pnum,
dept_id
FROM blade_user
- WHERE dispatch = 0
+ WHERE dispatch = 0
AND STATUS = 1
AND is_deleted = 0
GROUP BY dept_id
@@ -2278,200 +2304,202 @@
<!--统计表现差的信息-->
<select id="getSecurityPerformanceGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">
- 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.parent_id
+ 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.parent_id
</select>
<!--统计资格审查异常信息-->
<select id="getSecurityExaminationGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">
- 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.parent_id
+ 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.parent_id
</select>
<!--考试通过率低于50%-->
<select id="getSecurityExamPassingGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">
+ 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 < 50
+ group by e.id
+ ) f
+ on
+ g.id = f.parent_id
+ </select>
+
+ <!--持证率低于50%,社保缴纳率低于50%,派遣率低于50%-->
+ <select id="getSecurityHoldAndSoidAndDispatchGroupCountList"
+ resultType="org.springblade.modules.information.vo.ResponseVo">
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
+ 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(a.count,0) num1,ifnull(b.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 < 50
- group by e.id
+ 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
+ )d
+ left join
+ sys_information si
+ on
+ si.departmentid = d.dept_id
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = si.jurisdiction
+ and (stats = 2 or stats=4)
+ )e
+ where e.num3 < 50
+ group by e.id
) f
on
- g.id = f.parent_id
- </select>
-
- <!--持证率低于50%,社保缴纳率低于50%,派遣率低于50%-->
- <select id="getSecurityHoldAndSoidAndDispatchGroupCountList" resultType="org.springblade.modules.information.vo.ResponseVo">
- 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(a.count,0) num1,ifnull(b.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
- 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
- )d
- left join
- sys_information si
- on
- si.departmentid = d.dept_id
- left join
- sys_jurisdiction sj
- on
- sj.id = si.jurisdiction
- and (stats = 2 or stats=4)
- )e
- where e.num3 < 50
- group by e.id
- ) f
- on
g.id = f.parent_id
</select>
--
Gitblit v1.9.3