From 3b1e22dc8460daafc2ecbae478ddcbe5ea21b944 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Sat, 18 Sep 2021 17:27:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 1084 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 878 insertions(+), 206 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 fe2149a..6e41400 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -137,42 +137,51 @@
</select>
<!--通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)-->
+ <!-- <select id="selectCs" resultType="java.util.HashMap">-->
+ <!-- SELECT A.numj,-->
+ <!-- B.numz,-->
+ <!-- d.dept_name as deptname-->
+ <!-- FROM (-->
+ <!-- SELECT COUNT-->
+ <!-- (*) AS numj,-->
+ <!-- deptid-->
+ <!-- FROM sys_socil-->
+ <!-- WHERE deptid IN (SELECT i.departmentid-->
+ <!-- FROM sys_information i-->
+ <!-- LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1-->
+ <!-- <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
+ <!-- and i.jurisdiction in(${jurisdiction})-->
+ <!-- </if>-->
+ <!-- GROUP BY i.departmentid)-->
+ <!-- GROUP BY deptid-->
+ <!-- ) A-->
+ <!-- left JOIN (-->
+ <!-- SELECT COUNT-->
+ <!-- (*) AS numz,-->
+ <!-- dept_id-->
+ <!-- FROM blade_user-->
+ <!-- WHERE dept_id IN (SELECT i.departmentid-->
+ <!-- FROM sys_information i-->
+ <!-- LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1-->
+ <!-- <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
+ <!-- and i.jurisdiction in(${jurisdiction})-->
+ <!-- </if>-->
+ <!-- GROUP BY i.departmentid)-->
+ <!-- GROUP BY dept_id-->
+ <!-- ) B ON A.deptid = B.dept_id-->
+ <!-- LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1-->
+ <!-- <if test="deptid!=null and deptid!=''">-->
+ <!-- and A.deptid =#{deptid}-->
+ <!-- </if>-->
+ <!-- </select>-->
<select id="selectCs" resultType="java.util.HashMap">
- SELECT A.numj,
- B.numz,
- d.dept_name as deptname
- FROM (
- SELECT COUNT
- (*) AS numj,
- deptid
- FROM sys_socil
- WHERE deptid IN (SELECT i.departmentid
- FROM sys_information i
- LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
- <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and i.jurisdiction in(${jurisdiction})
- </if>
- GROUP BY i.departmentid)
- GROUP BY deptid
- ) A
- left JOIN (
- SELECT COUNT
- (*) AS numz,
- dept_id
+ SELECT COUNT(*) as numj,jurisdiction
FROM blade_user
- WHERE dept_id IN (SELECT i.departmentid
- FROM sys_information i
- LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
+ WHERE soil = 1
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and i.jurisdiction in(${jurisdiction})
+ and jurisdiction in(${jurisdiction})
</if>
- GROUP BY i.departmentid)
- GROUP BY dept_id
- ) B ON A.deptid = B.dept_id
- LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1
- <if test="deptid!=null and deptid!=''">
- and A.deptid =#{deptid}
- </if>
+ group by jurisdiction
</select>
<!-- <!–统计上个月和这个月交社保的人数以及缴纳金额–>-->
@@ -531,57 +540,90 @@
<!--总保安数量-->
+<!-- <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-->
+<!-- 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-->
+<!-- <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="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>
@@ -762,40 +804,66 @@
<!--保安派遣数量-->
<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 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,
- jurisdiction
+ dept_id
FROM sys_dispatcher
- WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
- GROUP BY dept_id, jurisdiction
- ) A
- left JOIN (
+ 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,
- jurisdiction
+ dept_id
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
+ 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>
+<!-- <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>-->
<!--查询本年所有月份的总人数-->
@@ -1011,12 +1079,41 @@
j.dept_name
</select>
-<!-- <!–查询出所有辖区信息–>-->
-<!-- <select id="selectJur" resultType="java.util.HashMap">-->
-<!-- SELECT id, dept_name-->
-<!-- FROM sys_jurisdiction-->
-<!-- WHERE id!=1372091709474910209-->
-<!-- </select> -->
+
+ <select id="selectBxs" resultType="java.util.HashMap">
+ select
+ si.jurisdiction id,
+ sj.parent_id,
+ sj.dept_name jurisdictionName,
+ si.enterprisename,
+ "表现差" detail
+ 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
+ </select>
+
+ <!-- <!–查询出所有辖区信息–>-->
+ <!-- <select id="selectJur" resultType="java.util.HashMap">-->
+ <!-- SELECT id, dept_name-->
+ <!-- FROM sys_jurisdiction-->
+ <!-- WHERE id!=1372091709474910209-->
+ <!-- </select> -->
<select id="selectExtypeUser" resultType="java.lang.Integer">
SELECT COUNT(CASE WHEN (examination_mx IS NOT NULL OR examination_mx != "") THEN 1 END) AS sum
@@ -1833,16 +1930,15 @@
<!--获取保安公司信息(本市保安公司,分公司)包含经纬度-->
<select id="getSecurityUnitPositionInfo" resultType="org.springblade.modules.information.vo.InformationVO">
- select
- si.*,sj.dept_name jurisdictionName
- from
- sys_information si
- left join
- sys_jurisdiction sj
- on
- si.jurisdiction = sj.id
- where 1=1
- and (stats = 2 or stats = 4)
+ select si.*,
+ sj.dept_name jurisdictionName
+ from sys_information si
+ left join
+ sys_jurisdiction sj
+ on
+ si.jurisdiction = sj.id
+ where 1 = 1
+ and (stats = 2 or stats = 4)
</select>
<!--根据辖区查询保安公司分页信息(本市保安公司,分公司)-->
@@ -1858,20 +1954,20 @@
where 1=1
and (stats = 0 or stats = 1 or stats = 2 or stats = 4)
<if test="information.jurisdiction!=null and information.jurisdiction!=''">
- and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+ and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
</if>
</select>
<sql id="getSecurity">
- select
- dept_id,ifnull(count(*),0) count
- from blade_user bu
+ select dept_id,
+ ifnull(count(*), 0) count
+ from blade_user bu
left join blade_role br
- on bu.role_id = br.id
- where
+ on bu.role_id = br.id
+ where
role_alias = "安保人员"
- and bu.is_deleted = 0
- and bu.`status` = 1
+ and bu.is_deleted = 0
+ and bu.`status` = 1
</sql>
<!--根据辖区查询统计保安公司持证情况分页信息(本市保安公司,分公司)-->
@@ -1912,29 +2008,42 @@
where 1=1
and (si.stats = 2 or si.stats = 4)
<if test="information.jurisdiction!=null and information.jurisdiction!=''">
- and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+ and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
</if>
</select>
<!--根据辖区查询统计保安公司(1:持证率低于50% 2:派遣率低于50% 3:缴纳社保率低于50% 的保安公司个数及保安公司分页信息(本市保安公司,分公司)-->
<select id="getSecurityUnitLess50Page" resultType="org.springblade.modules.information.vo.InformationVO">
- select c.*,sj.dept_name jurisdictionName from (
+ select c.*,sj.dept_name jurisdictionName,si.enterpriseName enterprisename from (
select
- si.*,
+ a.dept_id,
ifnull(a.count,0) znum,
ifnull(b.count,0) cnum,
ifnull(FORMAT((b.count/a.count)*100,2),0) pnum
- from sys_information si
- left join
+ from
(
- <include refid="getSecurity"/>
+ select 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
- on
- a.dept_id = si.departmentid
left join
(
- <include refid="getSecurity"/>
+ select 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>
@@ -1950,23 +2059,28 @@
group by dept_id
) b
on
- b.dept_id = si.departmentid
+ a.dept_id = b.dept_id
)c
+ left join
+ sys_information si
+ on
+ si.departmentid = c.dept_id
left join
sys_jurisdiction sj
on
- c.jurisdiction = sj.id
+ si.jurisdiction = sj.id
where 1=1
- and (c.stats = 2 or c.stats = 4)
+ and (si.stats = 2 or si.stats = 4)
and pnum < #{information.proportion}
<if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
- and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+ 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}
</if>
</select>
+ <!-- and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})-->
<!--根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司)-->
<select id="getSecurityUnitExamLess50Page" resultType="org.springblade.modules.information.vo.InformationVO">
@@ -1975,7 +2089,8 @@
si.*,
ifnull(a.count,0) znum,
ifnull(b.count,0) cnum,
- ifnull(FORMAT((b.count/c.count)*100,2),0) pnum
+ ifnull(FORMAT((b.count/c.count)*100,2),0) pnum,
+ ifnull(c.count,0) knum
from sys_information si
left join
(
@@ -2053,9 +2168,10 @@
d.jurisdiction = sj.id
where 1=1
and (d.stats = 2 or d.stats = 4)
+ and knum != 0
and pnum < #{information.proportion}
<if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
- and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+ and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
</if>
</select>
@@ -2075,84 +2191,346 @@
and bu.`status` = 1
</sql>
- <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,现实表现差,未缴纳社保,资格审查异常)-->
+ <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,资格审查异常,考试通过率低于50%,持证率低于50%)-->
<select id="getSubstationWarnInfoPage" resultType="org.springblade.modules.information.vo.InformationVO">
- select jurisdictionName,enterprisename,detail from (
- (
+ (select
+ sj1.dept_name jurisdictionName,
+ si1.enterpriseName enterprisename,
+ "表现差" detail,
+ a.count znum
+ from (
select
- si.jurisdiction id,
- sj.parent_id,
- sj.dept_name jurisdictionName,
- si.enterprisename,
- "表现差" detail
+ bu.dept_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
- )
-
- union
- (
- select
- sj.id,
- sj.parent_id,
- sj.dept_name jurisdictionName,
- si.enterprisename,
- if(bu.hold=2,"未持证","证件吊销") as detail
- from
- blade_user bu
- <include refid="getSubstationWarn"/>
- and (bu.hold = 2 or bu.hold = 3)
- )
-
-
- union
- (
- select
- sj.id,
- sj.parent_id,
- sj.dept_name jurisdictionName,
- si.enterprisename,
- "未缴纳社保" as detail
- from
- blade_user bu
- <include refid="getSubstationWarn"/>
- and bu.soil = 1
- )
-
- union
- (
- select
- sj.id,
- sj.parent_id,
- sj.dept_name jurisdictionName,
- si.enterprisename,
- "审查异常" as detail
- from
- blade_user bu
- <include refid="getSubstationWarn"/>
- and bu.examination_type = 1
- )
+ GROUP BY bu.dept_id
) a
+ left join
+ sys_information si1
+ on
+ a.dept_id = si1.departmentid
+ left join
+ sys_jurisdiction sj1
+ on
+ sj1.id = si1.jurisdiction
where 1=1
+ and (si1.stats = 2 or si1.stats =4)
<if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
- and (a.id = #{information.jurisdiction} or a.parent_id = #{information.jurisdiction})
+ and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
</if>
+ )
+
+ union
+
+ (
+ select
+ sj1.dept_name jurisdictionName,
+ si1.enterpriseName enterprisename,
+ "资格审查异常" detail,
+ a.count znum
+ from (
+ select
+ bu.dept_id,count(*) count
+ from
+ blade_user bu
+ where
+ 1=1
+ and bu.is_deleted = 0
+ and bu.`status` = 1
+ and bu.examination_type = 1
+ GROUP BY bu.dept_id
+ ) a
+ left join
+ sys_information si1
+ on
+ a.dept_id = si1.departmentid
+ left join
+ sys_jurisdiction sj1
+ on
+ sj1.id = si1.jurisdiction
+ where 1=1
+ and (si1.stats = 2 or si1.stats =4)
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
+ </if>
+ )
+
+ union
+
+ (
+ select
+ sj1.dept_name jurisdictionName,
+ si1.enterpriseName enterprisename,
+ "考试通过率低于50%" detail,
+ e.count znum
+ from
+ (
+ select d.dept_id,count(*) count from (
+ select a.dept_id, ifnull(b.count, 0) num1, ifnull(c.count, 0) num2,ifnull(FORMAT((c.count/b.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 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
+ c.dept_id = a.dept_id
+ where 1=1
+ ) d
+ where 1=1
+ and num1!=0
+ and num3 < 50
+ GROUP BY dept_id
+ ) e
+ left join
+ sys_information si1
+ on
+ e.dept_id = si1.departmentid
+ left join
+ sys_jurisdiction sj1
+ on
+ sj1.id = si1.jurisdiction
+ where 1=1
+ and (stats = 2 or stats=4)
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
+ </if>
+ )
+
+ union
+
+ (
+ select
+ sj1.dept_name jurisdictionName,
+ si1.enterpriseName enterprisename,
+ "持证率低于50%" detail,
+ e.count znum
+ from
+ (
+ select c.dept_id,count(*) count from (
+ SELECT
+ 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
+ AND bu.hold = 1
+ GROUP BY
+ dept_id
+ ) b ON a.dept_id = b.dept_id
+ ) c
+ where 1=1
+ and num3 < 50
+ GROUP BY c.dept_id
+ ) e
+ left join
+ sys_information si1
+ on
+ e.dept_id = si1.departmentid
+ left join
+ sys_jurisdiction sj1
+ on
+ sj1.id = si1.jurisdiction
+ where 1=1
+ AND ( stats = 2 OR stats = 4 )
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
+ </if>
+ )
+
+ union
+
+ (
+ select
+ sj1.dept_name jurisdictionName,
+ si1.enterpriseName enterprisename,
+ "社保缴纳率低于50%" detail,
+ e.count znum
+ from
+ (
+ select c.dept_id,count(*) count from (
+ SELECT
+ 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
+ AND bu.soil = 0
+ GROUP BY
+ dept_id
+ ) b ON a.dept_id = b.dept_id
+ ) c
+ where 1=1
+ and num3 < 50
+ GROUP BY c.dept_id
+ ) e
+ left join
+ sys_information si1
+ on
+ e.dept_id = si1.departmentid
+ left join
+ sys_jurisdiction sj1
+ on
+ sj1.id = si1.jurisdiction
+ where 1=1
+ AND ( stats = 2 OR stats = 4 )
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
+ </if>
+ )
+
+ union
+
+ (
+ select
+ sj1.dept_name jurisdictionName,
+ si1.enterpriseName enterprisename,
+ "派遣率低于50%" detail,
+ e.count znum
+ from
+ (
+ select c.dept_id,count(*) count from (
+ SELECT
+ 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
+ AND bu.dispatch = 0
+ GROUP BY
+ dept_id
+ ) b ON a.dept_id = b.dept_id
+ ) c
+ where 1=1
+ and num3 < 50
+ GROUP BY c.dept_id
+ ) e
+ left join
+ sys_information si1
+ on
+ e.dept_id = si1.departmentid
+ left join
+ sys_jurisdiction sj1
+ on
+ sj1.id = si1.jurisdiction
+ where 1=1
+ AND ( stats = 2 OR stats = 4 )
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (sj1.id = #{information.jurisdiction} or sj1.parent_id = #{information.jurisdiction})
+ </if>
+ )
+
</select>
<!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息-->
@@ -2180,7 +2558,7 @@
sj.id = si.jurisdiction
left join
(
- select ifnull(count(*),0) count,dept_id from sys_dispatcher_unit
+ select ifnull(count(*),0) count,dept_id from sys_dispatcher_unit
where 1=1
and start_time <= now()
and end_time > now()
@@ -2190,7 +2568,7 @@
a.dept_id = si.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})
+ and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
</if>
) b
where b.znum < 2
@@ -2199,6 +2577,300 @@
</if>
</select>
+ <!--统计表现差的信息-->
+ <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>
+ <!--统计资格审查异常信息-->
+ <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>
+
+
+ <!--考试通过率低于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(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>-->
+
+
+ <!--持证率低于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 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 < 50
+ group by c.id
+ ) f
+ on
+ g.id = f.parent_id
+ </select>
+
+
+ <select id="seleP" resultType="java.util.HashMap">
+ SELECT
+ IFNULL(G.pnum, 0) AS pnum,
+ IFNULL(J.wpnum, 0) AS wpnum
+ FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
+ LEFT JOIN (
+ SELECT COUNT(*) AS pnum,
+ dept_id
+ FROM blade_user
+ WHERE 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 wpnum,
+ dept_id
+ FROM blade_user
+ WHERE dispatch = 1
+ 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>
+
</mapper>
--
Gitblit v1.9.3