From 8234e14fcae7596f733abf8a20578b608a951dd8 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 27 Jul 2021 11:01:40 +0800
Subject: [PATCH] 1.统计接口调整
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 230 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 124 insertions(+), 106 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 524af7c..d54eb00 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
@@ -124,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!='' 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}
@@ -146,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,
@@ -263,15 +263,15 @@
<!--查询本年所有月份的交社保的金额-->
<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
@@ -288,43 +288,51 @@
<!--总保安数量-->
<select id="queryCountB" resultType="java.util.HashMap">
- SELECT C.thisnum,
+ SELECT
+ C.thisnum,
C.lastnum,
- d.dept_name as deptname,
- j.dept_name as jurname
- FROM (
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS 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,
+ FROM
+ (
+ SELECT
+ COUNT( * ) AS thisnum,
dept_id,
jurisdiction
- FROM blade_user
- WHERE role_id = '1413323482159321089'
- AND datediff(
- MONTH, create_time,
- getdate()) = 0
- GROUP BY dept_id,
+ 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,
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS lastnum,
dept_id,
jurisdiction
- FROM blade_user
- WHERE role_id = '1413323482159321089'
- AND datediff(
- MONTH, create_time,
- getdate()) = 1
- GROUP BY dept_id,
+ 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
+ ) 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
+ 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>
@@ -340,8 +348,8 @@
d.dept_name as deptname,
j.dept_name as jurname
FROM (
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum,
+ SELECT IFNULL(A.thisnum, 0) AS thisnum,
+ IFNULL(B.lastnum, 0) AS lastnum,
A.dept_id,
A.jurisdiction
FROM (
@@ -352,13 +360,11 @@
FROM blade_user
WHERE role_id = '1413323482159321089'
AND examination_type = 0
- AND datediff(
- MONTH, create_time,
- getdate()) = 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,
@@ -366,9 +372,7 @@
FROM blade_user
WHERE role_id = '1413323482159321089'
AND examination_type = 0
- AND datediff(
- MONTH, create_time,
- getdate()) = 1
+ 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
@@ -389,8 +393,8 @@
d.dept_name as deptname,
j.dept_name as jurname
FROM (
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum,
+ SELECT IFNULL(A.thisnum, 0) AS thisnum,
+ IFNULL(B.lastnum, 0) AS lastnum,
A.dept_id,
A.jurisdiction
FROM (
@@ -401,13 +405,11 @@
FROM blade_user
WHERE role_id = '1413323482159321089'
AND hold = 0
- AND datediff(
- MONTH, create_time,
- getdate()) = 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,
@@ -415,9 +417,7 @@
FROM blade_user
WHERE role_id = '1413323482159321089'
AND hold = 0
- AND datediff(
- MONTH, create_time,
- getdate()) = 1
+ 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
@@ -438,8 +438,8 @@
d.dept_name AS deptname,
j.dept_name AS jurname
FROM (
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum,
+ SELECT IFNULL(A.thisnum, 0) AS thisnum,
+ IFNULL(B.lastnum, 0) AS lastnum,
A.deptid,
A.jurisdiction
FROM (
@@ -448,21 +448,17 @@
deptid,
jurisdiction
FROM sys_socil
- WHERE datediff(
- MONTH, insuredtime,
- getdate()) = 0
+ 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,
jurisdiction
FROM sys_socil
- WHERE datediff(
- MONTH, insuredtime,
- getdate()) = 1
+ WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
GROUP BY deptid,
jurisdiction
) B ON A.deptid = B.deptid
@@ -485,8 +481,8 @@
d.dept_name AS deptname,
j.dept_name AS jurname
FROM (
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum,
+ SELECT IFNULL(A.thisnum, 0) AS thisnum,
+ IFNULL(B.lastnum, 0) AS lastnum,
A.dept_id,
A.jurisdiction
FROM (
@@ -495,21 +491,17 @@
dept_id,
jurisdiction
FROM sys_dispatcher
- WHERE datediff(
- MONTH, dispatcherTime,
- getdate()) = 0
+ 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,
jurisdiction
FROM sys_dispatcher
- WHERE datediff(
- MONTH, dispatcherTime,
- getdate()) = 1
+ 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
@@ -531,8 +523,8 @@
d.dept_name as deptname,
j.dept_name as jurname
FROM (
- SELECT ISNULL(A.thisnum, 0) AS thisnum,
- ISNULL(B.lastnum, 0) AS lastnum,
+ SELECT IFNULL(A.thisnum, 0) AS thisnum,
+ IFNULL(B.lastnum, 0) AS lastnum,
A.dept_id,
A.jurisdiction
FROM (
@@ -540,19 +532,15 @@
dept_id,
jurisdiction
FROM sys_dispatcher
- WHERE datediff(
- MONTH, dispatcherTime,
- getdate()) = 0
+ WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
GROUP BY dept_id, jurisdiction
) A
- FULL JOIN (
+ left JOIN (
SELECT SUM(num) AS lastnum,
dept_id,
jurisdiction
FROM sys_dispatcher
- WHERE datediff(
- MONTH, dispatcherTime,
- getdate()) = 1
+ 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
@@ -699,18 +687,18 @@
<!--查询本年所有月份的保安派遣数量-->
<select id="queryYearBanan" resultType="java.util.HashMap">
- SELECT ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 1 THEN s.num END ), 0) AS '1', ISNULL(SUM(CASE WHEN
- MONTH ( s.dispatcherTime ) = 2 THEN s.num END ), 0) AS '2', ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 3
- THEN s.num END ), 0) AS '3', ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.num END ), 0) AS '4',
- ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.num END ), 0) AS '5', ISNULL(SUM(CASE WHEN MONTH (
- s.dispatcherTime ) = 6 THEN s.num END ), 0) AS '6', ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 7 THEN
- s.num END ), 0) AS '7', ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.num END ), 0) AS '8',
- ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.num END ), 0) AS '9', ISNULL(SUM(CASE WHEN MONTH (
- s.dispatcherTime ) = 10 THEN s.num END ), 0) AS '10', ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 11 THEN
- s.num END ), 0) AS '11', ISNULL(SUM(CASE WHEN MONTH ( s.dispatcherTime ) = 12 THEN s.num END ), 0) AS '12'
+ 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 ) = '2021'
+ YEAR ( s.dispatcherTime ) =#{year}
AND dept_id IN (
SELECT
i.departmentid
@@ -749,8 +737,7 @@
</select>
<!--表现差的数量-->
<select id="selectBx" resultType="java.util.HashMap">
- SELECT COUNT
- (*) as num,
+ SELECT IFNULL(COUNT( * ),0) AS num,
d.dept_name,
j.dept_name AS jurname
FROM sys_performance u
@@ -773,4 +760,35 @@
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>
</mapper>
--
Gitblit v1.9.3