From 3432fad3ebcecd73d3d50fa8dfb7934cc61cfd06 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 16 Aug 2021 15:04:16 +0800
Subject: [PATCH] 保安员查询新增审查排序

---
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml |  841 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 568 insertions(+), 273 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..220ac1c 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -23,6 +23,9 @@
         <result column="departmentid" property="departmentid"/>
         <result column="stats" property="stats"/>
         <result column="jurisdiction" property="jurisdiction"/>
+        <result column="representativecell" property="representativecell"/>
+        <result column="contacts" property="contacts"/>
+        <result column="contactscell" property="contactscell"/>
     </resultMap>
 
 
@@ -45,44 +48,48 @@
     <delete id="deleteIn">
         delete
         from sys_information
-        where creditCode = #{creditcode}
+        where creditCode = #{ids}
     </delete>
     <delete id="deleteSh">
         delete
         from sys_shareholder
-        where creditCode = #{creditcode}
+        where creditCode = #{ids}
     </delete>
     <delete id="deleteMe">
         delete
         from sys_member
-        where creditCode = #{creditcode}
+        where creditCode = #{ids}
     </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,
+               IFNULL(F.region, 0)    AS region
         FROM (SELECT jurisdiction FROM sys_information GROUP BY jurisdiction) A
-                 FULL JOIN (SELECT COUNT(stats) AS confess, jurisdiction
+                 LEFT JOIN (SELECT COUNT(stats) AS confess, jurisdiction
                             FROM sys_information
                             WHERE stats = 0
                             GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
-                 FULL JOIN (SELECT COUNT(stats) AS staff, jurisdiction
+                 LEFT JOIN (SELECT COUNT(stats) AS staff, jurisdiction
                             FROM sys_information
                             WHERE stats = 1
                             GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
-                 FULL JOIN (SELECT COUNT(stats) AS security, jurisdiction
+                 LEFT JOIN (SELECT COUNT(stats) AS security, jurisdiction
                             FROM sys_information
                             WHERE stats = 2
                             GROUP BY jurisdiction) D ON A.jurisdiction = D.jurisdiction
-                 FULL JOIN (SELECT COUNT(stats) AS armed, jurisdiction
+                 LEFT JOIN (SELECT COUNT(stats) AS armed, jurisdiction
                             FROM sys_information
                             WHERE stats = 3
                             GROUP BY jurisdiction) E ON A.jurisdiction = E.jurisdiction
+                 LEFT JOIN (SELECT COUNT(stats) AS region, jurisdiction
+                            FROM sys_information
+                            WHERE stats = 4
+                            GROUP BY jurisdiction) F ON A.jurisdiction = E.jurisdiction
         WHERE A.jurisdiction = #{departmentid}
     </select>
-
 
     <!--保安公司未持证预警-->
     <select id="selectInCount" resultType="java.util.HashMap">
@@ -95,7 +102,7 @@
         LEFT JOIN sys_jurisdiction j ON j.id= u.jurisdiction
         WHERE
         hold = 1
-        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+        <if test="jurisdiction!=null and jurisdiction!=''">
             and u.jurisdiction =#{jurisdiction}
         </if>
         <if test="deptid!=null and deptid!=''">
@@ -125,7 +132,7 @@
         GROUP BY i.departmentid)
         GROUP BY deptid
         ) A
-        FULL JOIN (
+        left JOIN (
         SELECT COUNT
         (*) AS numz,
         dept_id
@@ -133,7 +140,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)
@@ -147,13 +154,12 @@
 
     <!--统计上个月和这个月交社保的人数以及缴纳金额-->
     <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,
+        SELECT COUNT(*) AS lastmonth,
         amount,
         deptid
         FROM
@@ -165,9 +171,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,9 +179,8 @@
         amount,
         deptid
         ) A
-        FULL JOIN (
-        SELECT COUNT
-        (*) AS thismouth,
+        left JOIN (
+        SELECT COUNT(*) AS thismouth,
         amount,
         deptid
         FROM
@@ -189,9 +192,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 +233,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 +290,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 = '1412226235153731586'
+        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 = '1412226235153731586'
+        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 = '1412226235153731586'
+        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 = '1412226235153731586'
+        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 = '1412226235153731586'
         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 = '1412226235153731586'
         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.deptid =#{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>
 
 
@@ -566,7 +583,7 @@
         GROUP BY
         i.departmentid
         )
-        AND role_id='1413323482159321089'
+        AND role_id='1412226235153731586'
         <if test="deptid!=null and deptid!=''">
             and dept_id =#{deptid}
         </if>
@@ -598,7 +615,7 @@
         GROUP BY
         i.departmentid
         )
-        AND role_id='1413323482159321089' AND examination=0
+        AND role_id='1412226235153731586' AND examination_type=0
         <if test="deptid!=null and deptid!=''">
             and dept_id =#{deptid}
         </if>
@@ -630,7 +647,7 @@
         GROUP BY
         i.departmentid
         )
-        AND role_id='1413323482159321089' AND hold=0
+        AND role_id='1412226235153731586' AND hold=0
         <if test="deptid!=null and deptid!=''">
             and dept_id =#{deptid}
         </if>
@@ -639,22 +656,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 +686,284 @@
             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 dept_id =#{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 = 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>
+        <if test="type!=null and type=='1'">
+            and to_days(u.update_time) = to_days(now());
+        </if>
+        <if test="type!=null and type=='2'">
+            and DATE_FORMAT(u.update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
+        </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>
+        <if test="type!=null and type=='1'">
+            and to_days(u.time) = to_days(now());
+        </if>
+        <if test="type!=null and type=='2'">
+            and DATE_FORMAT(u.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
+        </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="selectExtypeUser" resultType="java.lang.Integer">
+        SELECT
+            COUNT( CASE WHEN ( examination_mx IS NOT NULL OR examination_mx != "" ) THEN 1 END ) AS sum
+        FROM
+            blade_user
+        WHERE
+            STATUS != 1
+    </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>
+    <delete id="deleteDept">
+        delete from  blade_dept where id=#{ids}
+    </delete>
+
+
+    <select id="selectLi" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( A.num, 0 ) AS num,
+        IFNULL( B.cznum, 0 ) AS cznum,
+        IFNULL( C.paiqnum, 0 ) AS paiqnum,
+        IFNULL( D.wpaiqnum, 0 ) AS wpaiqnum,
+        IFNULL( E.caijnum, 0 ) AS caijnum,
+        IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
+        IFNULL( G.yicnum, 0 ) AS yicnum,
+        A.dept_id,
+        d.dept_name AS deptname,
+        j.dept_name AS jurname
+        FROM
+        ( SELECT COUNT( * ) AS num, dept_id, jurisdiction FROM blade_user WHERE role_id = '1412226235153731586' GROUP BY
+        dept_id, jurisdiction ) A
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS cznum,
+        dept_id,
+        jurisdiction
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND hold=0
+        GROUP BY
+        dept_id,
+        jurisdiction
+        ) B ON A.dept_id = B.dept_id
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS paiqnum,
+        dept_id,
+        jurisdiction
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND dispatch=0
+        GROUP BY
+        dept_id,
+        jurisdiction
+        ) C ON C.dept_id = A.dept_id
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS wpaiqnum,
+        dept_id,
+        jurisdiction
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND dispatch=1
+        GROUP BY
+        dept_id,
+        jurisdiction
+        ) D ON D.dept_id = A.dept_id
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS caijnum,
+        dept_id,
+        jurisdiction
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND photo=0
+        GROUP BY
+        dept_id,
+        jurisdiction
+        ) E ON E.dept_id = A.dept_id
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS wcaijnum,
+        dept_id,
+        jurisdiction
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND photo=1
+        GROUP BY
+        dept_id,
+        jurisdiction
+        ) F ON F.dept_id = A.dept_id
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS yicnum,
+        dept_id,
+        jurisdiction
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND examination_mx=1
+        GROUP BY
+        dept_id,
+        jurisdiction
+        ) G ON G.dept_id = A.dept_id
+        LEFT JOIN blade_dept d ON A.dept_id = d.id
+        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+        WHERE 1=1
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
+            and A.jurisdiction =#{jurisdiction}
+        </if>
+        <if test="deptid!=null and deptid!=''">
+            and A.dept_id =#{deptid}
+        </if>
+    </select>
+
+    <select id="seCountI" resultType="java.util.HashMap">
+        SELECT COUNT(*) as num,stats FROM sys_information
+        where 1=1
+        <if test="deptid!=null and deptid!=''">
+            and departmentid=#{deptid}
+        </if>
+        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
+            AND jurisdiction=#{jurisdiction}
+        </if>
+        GROUP BY stats
+    </select>
+    <select id="seCountUm" resultType="java.lang.String">
+        SELECT COUNT(*) as mnum FROM `blade_user` WHERE status=1 AND sex=1
+        <if test="deptid!=null and deptid!=''">
+            and dept_id=#{deptid}
+        </if>
+        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
+            AND jurisdiction=#{jurisdiction}
+        </if>
+    </select>
+    <select id="seCountUg" resultType="java.lang.String">
+        SELECT COUNT(*) as gnum FROM `blade_user` WHERE status=1 AND sex=2
+        <if test="deptid!=null and deptid!=''">
+            and dept_id=#{deptid}
+        </if>
+        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
+            AND jurisdiction=#{jurisdiction}
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.9.3