From ccebbfd35eca5cd24eb3e32f7c1158e0596c471c Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 27 Jul 2021 15:34:53 +0800
Subject: [PATCH] 1.统计接口调整
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 652 +++++++++++++++++++++++++++++++++++------------------------
1 files changed, 388 insertions(+), 264 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 f153c96..888ac84 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -59,10 +59,10 @@
</delete>
<select id="selectCount" resultType="java.util.HashMap">
- SELECT isnull(B.confess, 0) AS confess,
- isnull(C.staff, 0) AS staff,
- isnull(D.security, 0) AS security,
- isnull(E.armed, 0) AS armed
+ SELECT IFNULL(B.confess, 0) AS confess,
+ IFNULL(C.staff, 0) AS staff,
+ IFNULL(D.security, 0) AS security,
+ IFNULL(E.armed, 0) AS armed
FROM (SELECT jurisdiction FROM sys_information GROUP BY jurisdiction) A
FULL JOIN (SELECT COUNT(stats) AS confess, jurisdiction
FROM sys_information
@@ -82,7 +82,6 @@
GROUP BY jurisdiction) E ON A.jurisdiction = E.jurisdiction
WHERE A.jurisdiction = #{departmentid}
</select>
-
<!--保安公司未持证预警-->
<select id="selectInCount" resultType="java.util.HashMap">
@@ -125,20 +124,20 @@
GROUP BY i.departmentid)
GROUP BY deptid
) A
- FULL JOIN (
+ left JOIN (
SELECT COUNT
(*) AS numz,
- dept_id
- FROM blade_user
- WHERE dept_id IN (SELECT i.departmentid
+ 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!=''">
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
and i.jurisdiction =#{jurisdiction}
</if>
GROUP BY i.departmentid)
- GROUP BY dept_id
- ) B ON A.deptid = B.dept_id
+ GROUP BY deptid
+ ) B ON A.deptid = B.deptid
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}
@@ -147,10 +146,10 @@
<!--统计上个月和这个月交社保的人数以及缴纳金额-->
<select id="selectTo" resultType="java.util.HashMap">
- SELECT ISNULL(A.lastmonth, 0) AS lastmonth,
- ISNULL(B.thismouth, 0) AS thismouth,
- ISNULL(A.amount, 0) AS lastamount,
- ISNULL(b.amount, 0) AS thisamount
+ SELECT IFNULL(A.lastmonth, 0) AS lastmonth,
+ IFNULL(B.thismouth, 0) AS thismouth,
+ IFNULL(A.amount, 0) AS lastamount,
+ IFNULL(b.amount, 0) AS thisamount
FROM (
SELECT COUNT
(*) AS lastmonth,
@@ -165,9 +164,7 @@
and i.jurisdiction =#{jurisdiction}
</if>
GROUP BY i.departmentid )
- AND datediff(month
- , insuredtime
- , getdate())=1
+ AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
<if test="deptid!=null and deptid!=''">
and deptid =#{deptid}
</if>
@@ -175,7 +172,7 @@
amount,
deptid
) A
- FULL JOIN (
+ left JOIN (
SELECT COUNT
(*) AS thismouth,
amount,
@@ -189,9 +186,7 @@
and i.jurisdiction =#{jurisdiction}
</if>
GROUP BY i.departmentid )
- AND datediff(month
- , insuredtime
- , getdate())=0
+ AND DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
<if test="deptid!=null and deptid!=''">
and deptid =#{deptid}
</if>
@@ -232,18 +227,47 @@
and deptid =#{deptid}
</if>
</select>
+ <!--查询本年所有月份的保安派遣的数量-->
+ <select id="queryYearDe" resultType="java.util.HashMap">
+ SELECT SUM
+ ( CASE WHEN MONTH ( s.dispatcherTime ) = 1 THEN s.num END ) AS '1',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 2 THEN s.num END ) AS '2',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 3 THEN s.num END ) AS '3',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.num END ) AS '4',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.num END ) AS '5',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 6 THEN s.num END ) AS '6',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 7 THEN s.num END ) AS '7',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.num END ) AS '8',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.num END ) AS '9',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 10 THEN s.num END ) AS '10',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 11 THEN s.num END ) AS '11',
+ SUM ( CASE WHEN MONTH ( s.dispatcherTime ) = 12 THEN s.num END ) AS '12'
+ FROM
+ sys_dispatcher AS s
+ WHERE
+ YEAR ( s.dispatcherTime ) =#{year}
+ AND 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!='1123598813738675201'">
+ and i.jurisdiction =#{jurisdiction}
+ </if>
+ GROUP BY i.departmentid )
+ <if test="deptid!=null and deptid!=''">
+ and dept_id =#{deptid}
+ </if>
+ </select>
<!--查询本年所有月份的交社保的金额-->
<select id="queryYearAn" resultType="java.util.HashMap">
- SELECT ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 1 THEN s.amount END ), 0) AS '1', ISNULL(SUM(CASE WHEN MONTH
- (s.insuredtime) = 2 THEN s.amount END ), 0) AS '2', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 3 THEN s.amount
- END ), 0) AS '3', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 4 THEN s.amount END ), 0) AS '4', ISNULL(SUM(CASE
- WHEN MONTH (s.insuredtime) = 5 THEN s.amount END ), 0) AS '5', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 6
- THEN s.amount END ), 0) AS '6', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 7 THEN s.amount END ), 0) AS '7',
- ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 8 THEN s.amount END ), 0) AS '8', ISNULL(SUM(CASE WHEN MONTH
- (s.insuredtime) = 9 THEN s.amount END ), 0) AS '9', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 10 THEN
- s.amount END ), 0) AS '10', ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 11 THEN s.amount END ), 0) AS '11',
- ISNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 12 THEN s.amount END ), 0) AS '12'
+ SELECT IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 1 THEN s.amount END ), 0) AS '1', IFNULL(SUM(CASE WHEN MONTH
+ (s.insuredtime) = 2 THEN s.amount END ), 0) AS '2', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 3 THEN s.amount
+ END ), 0) AS '3', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 4 THEN s.amount END ), 0) AS '4', IFNULL(SUM(CASE
+ WHEN MONTH (s.insuredtime) = 5 THEN s.amount END ), 0) AS '5', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 6
+ THEN s.amount END ), 0) AS '6', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 7 THEN s.amount END ), 0) AS '7',
+ IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 8 THEN s.amount END ), 0) AS '8', IFNULL(SUM(CASE WHEN MONTH
+ (s.insuredtime) = 9 THEN s.amount END ), 0) AS '9', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 10 THEN
+ s.amount END ), 0) AS '10', IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 11 THEN s.amount END ), 0) AS '11',
+ IFNULL(SUM(CASE WHEN MONTH (s.insuredtime) = 12 THEN s.amount END ), 0) AS '12'
FROM sys_socil AS s
WHERE YEAR (s.insuredtime) =#{year}
AND deptid IN (SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
@@ -260,282 +284,269 @@
<!--总保安数量-->
<select id="queryCountB" resultType="java.util.HashMap">
- SELECT ISNULL(A.thisnum, 0) as thisnum,
- ISNULL(B.lastnum, 0) as lastnum
- FROM (
- SELECT COUNT
- (*) AS thisnum,
- 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 i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid)
- AND role_id = '1413323482159321089'
- <if test="deptid!=null and deptid!=''">
- and deptid =#{deptid}
- </if>
- AND datediff(
- MONTH, create_time,
- getdate()) = 0
- GROUP BY dept_id
+ 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 = '1413323482159321089'
+ AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
+ GROUP BY
+ dept_id,
+ jurisdiction
) A
- FULL JOIN (
- SELECT COUNT
- (*) AS lastnum,
- 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
- GROUP BY i.departmentid)
- AND role_id = '1413323482159321089'
- AND datediff(
- MONTH, create_time,
- getdate()) = 1
- GROUP BY dept_id
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS lastnum,
+ dept_id,
+ jurisdiction
+ FROM
+ blade_user
+ WHERE
+ role_id = '1413323482159321089'
+ 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!='1123598813738675201'">
+ and C.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and C.dept_id =#{deptid}
+ </if>
</select>
<!--正常保安数量-->
<select id="queryCountZc" resultType="java.util.HashMap">
- SELECT ISNULL(A.thisnum, 0) as thisnum,
- ISNULL(B.lastnum, 0) as lastnum
+ 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
+ dept_id,
+ 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
- <if test="jurisdiction!=null and jurisdiction!=''">
- and i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid)
- AND role_id = '1413323482159321089'
- AND examination = 0
- <if test="deptid!=null and deptid!=''">
- and deptid =#{deptid}
- </if>
- AND datediff(
- MONTH, create_time,
- getdate()) = 0
- GROUP BY dept_id
+ WHERE role_id = '1413323482159321089'
+ AND examination_type = 0
+ AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
+ GROUP BY dept_id,
+ jurisdiction
) A
- FULL JOIN (
+ left JOIN (
SELECT COUNT
(*) AS lastnum,
- dept_id
+ dept_id,
+ 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
- GROUP BY i.departmentid)
- AND role_id = '1413323482159321089'
- AND examination = 0
- AND datediff(
- MONTH, create_time,
- getdate()) = 1
- GROUP BY dept_id
- ) B ON A.dept_id = B.dept_id
+ WHERE role_id = '1413323482159321089'
+ AND examination_type = 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!='1123598813738675201'">
+ and C.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and C.dept_id =#{deptid}
+ </if>
</select>
<!--持证保安数量-->
<select id="queryCountCz" resultType="java.util.HashMap">
- SELECT ISNULL(A.thisnum, 0) as thisnum,
- ISNULL(B.lastnum, 0) as lastnum
+ 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
+ dept_id,
+ 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
- <if test="jurisdiction!=null and jurisdiction!=''">
- and i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid)
- AND role_id = '1413323482159321089'
+ WHERE role_id = '1413323482159321089'
AND hold = 0
- <if test="deptid!=null and deptid!=''">
- and deptid =#{deptid}
- </if>
- AND datediff(
- MONTH, create_time,
- getdate()) = 0
- GROUP BY dept_id
+ AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
+ GROUP BY dept_id,
+ jurisdiction
) A
- FULL JOIN (
+ left JOIN (
SELECT COUNT
(*) AS lastnum,
- dept_id
+ dept_id,
+ 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
- GROUP BY i.departmentid)
- AND role_id = '1413323482159321089'
+ WHERE role_id = '1413323482159321089'
AND hold = 0
- AND datediff(
- MONTH, create_time,
- getdate()) = 1
- GROUP BY dept_id
- ) B ON A.dept_id = B.dept_id
+ 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!='1123598813738675201'">
+ and C.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and C.dept_id =#{deptid}
+ </if>
</select>
<!--缴纳社保数量-->
<select id="queryCountSb" resultType="java.util.HashMap">
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum
+ 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.deptid,
+ A.jurisdiction
FROM (
SELECT COUNT
(*) AS thisnum,
- 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!='1123598813738675201'">
- and i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid )
- AND datediff(month
- , insuredtime
- , getdate())=0
- <if test="deptid!=null and deptid!=''">
- and deptid =#{deptid}
- </if>
- GROUP BY
- deptid
+ deptid,
+ jurisdiction
+ FROM sys_socil
+ WHERE DATE_FORMAT(insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
+ GROUP BY deptid,
+ jurisdiction
) A
- FULL JOIN (
+ left JOIN (
SELECT COUNT
(*) AS lastnum,
- 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!='1123598813738675201'">
- and i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid )
- AND datediff(month
- , insuredtime
- , getdate())=1
- <if test="deptid!=null and deptid!=''">
- and deptid =#{deptid}
- </if>
- GROUP BY
- deptid
+ deptid,
+ jurisdiction
+ FROM sys_socil
+ WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
+ GROUP BY deptid,
+ jurisdiction
) B ON A.deptid = B.deptid
+ ) C
+ LEFT JOIN blade_dept d ON C.deptid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = c.jurisdiction where 1=1
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+ and C.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and C.dept_id =#{deptid}
+ </if>
</select>
<!--服务客户数量-->
<select id="queryCountKh" resultType="java.util.HashMap">
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum
+ SELECT C.thisnum,
+ C.lastnum,
+ C.dept_id,
+ 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
- FROM
- sys_dispatcher_unit
- 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!='1123598813738675201'">
- and i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid )
- AND datediff(month
- , create_time
- , getdate())=0
- <if test="deptid!=null and deptid!=''">
- and dept_id =#{deptid}
- </if>
- GROUP BY
- dept_id
+ dept_id,
+ jurisdiction
+ FROM sys_dispatcher
+ WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
+ GROUP BY dept_id,
+ jurisdiction
) A
- FULL JOIN (
+ left JOIN (
SELECT COUNT
(*) AS lastnum,
- dept_id
- FROM
- sys_dispatcher_unit
- 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!='1123598813738675201'">
- and i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid )
- AND datediff(month
- , create_time
- , getdate())=1
- <if test="deptid!=null and deptid!=''">
- and dept_id =#{deptid}
- </if>
- GROUP BY
- dept_id
+ 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!='1123598813738675201'">
+ 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 ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum
+ SELECT C.thisnum,
+ C.lastnum,
+ d.dept_name as deptname,
+ j.dept_name as jurname
FROM (
- SELECT COUNT
- (*) AS thisnum,
- dept_id
- FROM
- sys_dispatcher
- 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!='1123598813738675201'">
- and i.jurisdiction =#{jurisdiction}
- </if>
- GROUP BY i.departmentid )
- AND datediff(month
- , dispatcherTime
- , getdate())=0
- <if test="deptid!=null and deptid!=''">
- and dept_id =#{deptid}
- </if>
- GROUP BY
- dept_id
+ 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
- FULL JOIN (
- SELECT COUNT
- (*) AS lastnum,
- dept_id
- FROM
- sys_dispatcher
- WHERE
- dept_id IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
- where 1=1
+ 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!='1123598813738675201'">
- and i.jurisdiction =#{jurisdiction}
+ and C.jurisdiction =#{jurisdiction}
</if>
- GROUP BY i.departmentid )
- AND datediff(month
- , dispatcherTime
- , getdate())=1
<if test="deptid!=null and deptid!=''">
- and dept_id =#{deptid}
+ and C.dept_id =#{deptid}
</if>
- GROUP BY
- dept_id
- ) B ON A.dept_id = B.dept_id
</select>
@@ -598,7 +609,7 @@
GROUP BY
i.departmentid
)
- AND role_id='1413323482159321089' AND examination=0
+ AND role_id='1413323482159321089' AND examination_type=0
<if test="deptid!=null and deptid!=''">
and dept_id =#{deptid}
</if>
@@ -639,22 +650,20 @@
<!--查询本年所有月份的客户数量-->
<select id="queryYearKh" resultType="java.util.HashMap">
SELECT COUNT
- ( CASE WHEN MONTH ( s.create_time ) = 1 THEN s.dept_id END ) AS '1',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 2 THEN s.dept_id END ) AS '2',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 3 THEN s.dept_id END ) AS '3',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 4 THEN s.dept_id END ) AS '4',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 5 THEN s.dept_id END ) AS '5',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 6 THEN s.dept_id END ) AS '6',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 7 THEN s.dept_id END ) AS '7',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 8 THEN s.dept_id END ) AS '8',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 9 THEN s.dept_id END ) AS '9',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 10 THEN s.dept_id END ) AS '10',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 11 THEN s.dept_id END ) AS '11',
- COUNT ( CASE WHEN MONTH ( s.create_time ) = 12 THEN s.dept_id END ) AS '12'
- FROM
- sys_dispatcher_unit AS s
+ (CASE WHEN MONTH (
+ s.dispatcherTime ) = 1 THEN s.dispatcher_unit_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 2
+ THEN s.dispatcher_unit_id END ) AS '2', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 3 THEN s.dispatcher_unit_id
+ END ) AS '3', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.dispatcher_unit_id END ) AS '4', COUNT(CASE
+ WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.dispatcher_unit_id END ) AS '5', COUNT(CASE WHEN MONTH (
+ s.dispatcherTime ) = 6 THEN s.dispatcher_unit_id END ) AS '6', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 7
+ THEN s.dispatcher_unit_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.dispatcher_unit_id
+ END ) AS '8', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.dispatcher_unit_id END ) AS '9', COUNT(CASE
+ WHEN MONTH ( s.dispatcherTime ) = 10 THEN s.dispatcher_unit_id END ) AS '10', COUNT(CASE WHEN MONTH (
+ s.dispatcherTime ) = 11 THEN s.dispatcher_unit_id END ) AS '11', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 12
+ THEN s.dispatcher_unit_id END ) AS '12'
+ FROM sys_dispatcher AS s
WHERE
- YEAR ( s.create_time ) =#{year}
+ YEAR ( s.dispatcherTime ) =#{year}
AND dept_id IN (
SELECT
i.departmentid
@@ -671,4 +680,119 @@
and dept_id =#{deptid}
</if>
</select>
+
+ <!--查询本年所有月份的保安派遣数量-->
+ <select id="queryYearBanan" resultType="java.util.HashMap">
+ SELECT IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 1 THEN s.num END ), 0) AS '1', IFNULL(SUM(CASE WHEN
+ MONTH ( s.dispatcherTime ) = 2 THEN s.num END ), 0) AS '2', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 3
+ THEN s.num END ), 0) AS '3', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.num END ), 0) AS '4',
+ IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.num END ), 0) AS '5', IFNULL(SUM(CASE WHEN MONTH (
+ s.dispatcherTime ) = 6 THEN s.num END ), 0) AS '6', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 7 THEN
+ s.num END ), 0) AS '7', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.num END ), 0) AS '8',
+ IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.num END ), 0) AS '9', IFNULL(SUM(CASE WHEN MONTH (
+ s.dispatcherTime ) = 10 THEN s.num END ), 0) AS '10', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 11 THEN
+ s.num END ), 0) AS '11', IFNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 12 THEN s.num END ), 0) AS '12'
+ FROM sys_dispatcher AS s
+ WHERE
+ YEAR ( s.dispatcherTime ) =#{year}
+ AND 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!='1123598813738675201'">
+ and i.jurisdiction =#{jurisdiction}
+ </if>
+ GROUP BY
+ i.departmentid )
+ <if test="deptid!=null and deptid!=''">
+ and deptid =#{deptid}
+ </if>
+ </select>
+
+
+ <!--资格审查异常数量-->
+ <select id="selectExtype" resultType="java.util.HashMap">
+ SELECT COUNT
+ (*) as num,
+ d.dept_name,
+ j.dept_name AS jurname
+ FROM blade_user u
+ LEFT JOIN blade_dept d ON d.id = u.dept_id
+ LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
+ WHERE u.examination_type = 2
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+ and u.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and u.dept_id =#{deptid}
+ </if>
+ GROUP BY d.dept_name,
+ j.dept_name
+ </select>
+ <!--表现差的数量-->
+ <select id="selectBx" resultType="java.util.HashMap">
+ SELECT IFNULL(COUNT( * ),0) AS num,
+ d.dept_name,
+ j.dept_name AS jurname
+ FROM sys_performance u
+ LEFT JOIN blade_dept d ON d.id = u.departmentid
+ LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
+ WHERE score = 3
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+ and u.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and u.departmentid =#{deptid}
+ </if>
+ GROUP BY d.dept_name,
+ j.dept_name
+ </select>
+
+ <!--查询出所有辖区信息-->
+ <select id="selectJur" resultType="java.util.HashMap">
+ SELECT id, dept_name
+ FROM sys_jurisdiction
+ WHERE id!=1123598813738675201
+ </select>
+
+ <!--派遣保安人數量-->
+ <select id="selectPcount" resultType="java.util.HashMap">
+ SELECT COUNT
+ (*) AS pnum
+ FROM blade_user u
+ LEFT JOIN blade_dept d ON d.id = u.dept_id
+ LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
+ WHERE dispatch = 0
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+ and u.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and u.dept_id =#{deptid}
+ </if>
+ </select>
+ <!--未派遣保安人數量-->
+ <select id="selectWPcount" resultType="java.util.HashMap">
+ SELECT COUNT
+ (*) AS wpnum
+ FROM blade_user u
+ LEFT JOIN blade_dept d ON d.id = u.dept_id
+ LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
+ WHERE dispatch = 1
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+ and u.jurisdiction =#{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ and u.dept_id =#{deptid}
+ </if>
+ </select>
+
+ <select id="selectIn" resultType="java.util.HashMap">
+ SELECT enterpriseName, departmentid
+ FROM sys_information where 1=1
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+ and jurisdiction =#{jurisdiction}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.3