From 531114059500b39d9573890b5a2af7a9fa88089b Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Fri, 23 Jul 2021 14:05:52 +0800
Subject: [PATCH] 1.统计

---
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml |  159 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 131 insertions(+), 28 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 7bdf3c1..524af7c 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -83,7 +83,6 @@
         WHERE A.jurisdiction = #{departmentid}
     </select>
 
-
     <!--保安公司未持证预警-->
     <select id="selectInCount" resultType="java.util.HashMap">
         SELECT
@@ -133,7 +132,7 @@
         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!=''">
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
             and i.jurisdiction =#{jurisdiction}
         </if>
         GROUP BY i.departmentid)
@@ -232,6 +231,35 @@
             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">
@@ -297,7 +325,7 @@
         ) 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!=''">
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
             and C.jurisdiction =#{jurisdiction}
         </if>
         <if test="deptid!=null and deptid!=''">
@@ -322,7 +350,7 @@
         dept_id,
         jurisdiction
         FROM blade_user
-        WHERE  role_id = '1413323482159321089'
+        WHERE role_id = '1413323482159321089'
         AND examination_type = 0
         AND datediff(
         MONTH, create_time,
@@ -346,7 +374,7 @@
         ) 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!=''">
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
             and C.jurisdiction =#{jurisdiction}
         </if>
         <if test="deptid!=null and deptid!=''">
@@ -371,7 +399,7 @@
         dept_id,
         jurisdiction
         FROM blade_user
-        WHERE  role_id = '1413323482159321089'
+        WHERE role_id = '1413323482159321089'
         AND hold = 0
         AND datediff(
         MONTH, create_time,
@@ -385,7 +413,7 @@
         dept_id,
         jurisdiction
         FROM blade_user
-        WHERE  role_id = '1413323482159321089'
+        WHERE role_id = '1413323482159321089'
         AND hold = 0
         AND datediff(
         MONTH, create_time,
@@ -395,7 +423,7 @@
         ) 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!=''">
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
             and C.jurisdiction =#{jurisdiction}
         </if>
         <if test="deptid!=null and deptid!=''">
@@ -441,7 +469,7 @@
         ) 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!=''">
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
             and C.jurisdiction =#{jurisdiction}
         </if>
         <if test="deptid!=null and deptid!=''">
@@ -467,7 +495,7 @@
         dept_id,
         jurisdiction
         FROM sys_dispatcher
-        WHERE  datediff(
+        WHERE datediff(
         MONTH, dispatcherTime,
         getdate()) = 0
         GROUP BY dept_id,
@@ -488,7 +516,7 @@
         ) 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!=''">
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
             and C.jurisdiction =#{jurisdiction}
         </if>
         <if test="deptid!=null and deptid!=''">
@@ -529,7 +557,7 @@
         ) 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!=''">
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
             and C.jurisdiction =#{jurisdiction}
         </if>
         <if test="deptid!=null and deptid!=''">
@@ -597,7 +625,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>
@@ -638,22 +666,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
@@ -670,4 +696,81 @@
             and dept_id =#{deptid}
         </if>
     </select>
+
+    <!--查询本年所有月份的保安派遣数量-->
+    <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'
+        FROM sys_dispatcher AS s
+        WHERE
+        YEAR ( s.dispatcherTime ) = '2021'
+        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 COUNT
+        (*) 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>
 </mapper>

--
Gitblit v1.9.3