From bcb742a2682e7e33621fc028cee9da033cf2ad80 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Fri, 17 Sep 2021 16:29:33 +0800
Subject: [PATCH] 1.用户

---
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml |  249 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 188 insertions(+), 61 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 e9880b8..054d807 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -136,44 +136,54 @@
         j.dept_name
     </select>
 
-    <!--通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)-->
     <select id="selectCs" resultType="java.util.HashMap">
-        SELECT A.numj,
-        B.numz,
-        d.dept_name as deptname
-        FROM (
-        SELECT COUNT
-        (*) AS numj,
-        deptid
-        FROM sys_socil
-        WHERE deptid IN (SELECT i.departmentid
-        FROM sys_information i
-        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
-        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
-            and i.jurisdiction in(${jurisdiction})
-        </if>
-        GROUP BY i.departmentid)
-        GROUP BY deptid
-        ) A
-        left JOIN (
-        SELECT COUNT
-        (*) AS numz,
-        dept_id
+        SELECT COUNT(*) as numj,jurisdiction
         FROM blade_user
-        WHERE dept_id IN (SELECT i.departmentid
-        FROM sys_information i
-        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1
+        WHERE soil = 1
         <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
-            and i.jurisdiction in(${jurisdiction})
+            and jurisdiction in(${jurisdiction})
         </if>
-        GROUP BY i.departmentid)
-        GROUP BY dept_id
-        ) B ON A.deptid = B.dept_id
-        LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1
-        <if test="deptid!=null and deptid!=''">
-            and A.deptid =#{deptid}
-        </if>
+        group by jurisdiction
     </select>
+
+    <!--通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)-->
+<!--    <select id="selectCs" resultType="java.util.HashMap">-->
+<!--        SELECT A.numj,-->
+<!--        B.numz,-->
+<!--        d.dept_name as deptname-->
+<!--        FROM (-->
+<!--        SELECT COUNT-->
+<!--        (*) AS numj,-->
+<!--        deptid-->
+<!--        FROM sys_socil-->
+<!--        WHERE deptid IN (SELECT i.departmentid-->
+<!--        FROM sys_information i-->
+<!--        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1-->
+<!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
+<!--            and i.jurisdiction in(${jurisdiction})-->
+<!--        </if>-->
+<!--        GROUP BY i.departmentid)-->
+<!--        GROUP BY deptid-->
+<!--        ) A-->
+<!--        left JOIN (-->
+<!--        SELECT COUNT-->
+<!--        (*) AS numz,-->
+<!--        dept_id-->
+<!--        FROM blade_user-->
+<!--        WHERE dept_id IN (SELECT i.departmentid-->
+<!--        FROM sys_information i-->
+<!--        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction where 1=1-->
+<!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
+<!--            and i.jurisdiction in(${jurisdiction})-->
+<!--        </if>-->
+<!--        GROUP BY i.departmentid)-->
+<!--        GROUP BY dept_id-->
+<!--        ) B ON A.deptid = B.dept_id-->
+<!--        LEFT JOIN (SELECT id, dept_name FROM blade_dept) d ON d.id = A.deptid where 1=1-->
+<!--        <if test="deptid!=null and deptid!=''">-->
+<!--            and A.deptid =#{deptid}-->
+<!--        </if>-->
+<!--    </select>-->
 
     <!--    &lt;!&ndash;统计上个月和这个月交社保的人数以及缴纳金额&ndash;&gt;-->
     <!--    <select id="selectTo" resultType="java.util.HashMap">-->
@@ -1079,6 +1089,8 @@
         IFNULL( D.wpaiqnum, 0 ) AS wpaiqnum,
         IFNULL( E.sbnum, 0 ) AS sbnum,
         IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
+        IFNULL( H.ycaijzpnum, 0 ) AS ycaijzpnum,
+        IFNULL( I.ycaijzwnum, 0 ) AS ycaijzwnum,
         IFNULL( G.yicnum, 0 ) AS yicnum,
         A.dept_id,
         d.enterpriseName AS deptname,
@@ -1132,21 +1144,56 @@
         ) D ON D.dept_id = A.dept_id
         LEFT JOIN (
         SELECT COUNT( * ) AS sbnum, deptid, jurisdiction FROM sys_socil GROUP BY deptid, jurisdiction
-        ) E ON E.deptid = A.dept_id
-        LEFT JOIN (
-        SELECT
-        COUNT( * ) AS wcaijnum,
-        dept_id,
-        jurisdiction
-        FROM
-        blade_user
-        WHERE
-        role_id = '1412226235153731586' and status=1 AND is_deleted=0
-        AND photo=1
-        GROUP BY
-        dept_id,
-        jurisdiction
-        ) F ON F.dept_id = A.dept_id
+        ) E
+        ON E.deptid = A.dept_id
+        LEFT JOIN
+        (
+            SELECT
+            COUNT( * ) AS wcaijnum,
+            dept_id,
+            jurisdiction
+            FROM
+            blade_user
+            WHERE
+            role_id = '1412226235153731586' and status=1 AND is_deleted=0
+            AND photo=1
+            GROUP BY
+            dept_id,
+            jurisdiction
+        ) F
+        ON F.dept_id = A.dept_id
+        LEFT JOIN
+        (
+            SELECT
+            COUNT( * ) AS ycaijzpnum,
+            dept_id,
+            jurisdiction
+            FROM
+            blade_user
+            WHERE
+            role_id = '1412226235153731586' and status=1 AND is_deleted=0
+            AND photo=0
+            GROUP BY
+            dept_id,
+            jurisdiction
+        ) H
+        ON H.dept_id = A.dept_id
+        LEFT JOIN
+        (
+            SELECT
+            COUNT( * ) AS ycaijzwnum,
+            dept_id,
+            jurisdiction
+            FROM
+            blade_user
+            WHERE
+            role_id = '1412226235153731586' and status=1 AND is_deleted=0
+            AND fingerprint=0
+            GROUP BY
+            dept_id,
+            jurisdiction
+        ) I
+        ON I.dept_id = A.dept_id
         LEFT JOIN (
         SELECT
         COUNT( * ) AS yicnum,
@@ -1387,7 +1434,10 @@
         A.jurisdiction,
         A.dept_name as jurname,
         IFNULL( B.num, 0 ) AS fwnum,
-        IFNULL( C.znum, 0 ) AS znum
+        IFNULL( C.znum, 0 ) AS znum,
+        IFNULL( D.dqnum, 0 ) AS dqnum,
+        IFNULL( E.cznum, 0 ) AS cznum,
+        IFNULL( F.pqnum, 0 ) AS pqnum
         FROM
         (
         SELECT
@@ -1402,11 +1452,36 @@
         WHERE
         i.enterpriseName IS NOT NULL
         ) A
-        LEFT JOIN ( SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) B ON A.departmentid =
-        B.dept_id
-        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' and
-        status=1 GROUP BY
-        dept_id ) C ON A.departmentid = C.dept_id
+        LEFT JOIN
+        (
+            SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
+            where
+            start_time &lt;= now() and end_time &gt; now()
+            GROUP BY dept_id
+        ) B
+        ON A.departmentid = B.dept_id
+        LEFT JOIN
+        (
+            SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586'
+            and status=1
+            GROUP BY dept_id
+        ) C
+        ON A.departmentid = C.dept_id
+        LEFT JOIN
+        (
+        SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time &lt; now() GROUP BY dept_id
+        ) D
+        ON A.departmentid = D.dept_id
+        LEFT JOIN
+        (
+        SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where hold = 1 GROUP BY dept_id
+        ) E
+        ON A.departmentid = E.dept_id
+        LEFT JOIN
+        (
+        SELECT COUNT( * ) AS pqnum, dept_id FROM blade_user where dispatch = 0 GROUP BY dept_id
+        ) F
+        ON A.departmentid = F.dept_id
         where 1=1
         <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'">
             AND A.jurisdiction in(${jurisdiction})
@@ -1791,9 +1866,9 @@
         on
         si.jurisdiction = sj.id
         where 1=1
-        and (stats = 2 or stats = 4)
+        and (stats = 0 or stats = 1 or stats = 2 or stats = 4)
         <if test="information.jurisdiction!=null and information.jurisdiction!=''">
-            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+            and (sj.id = #{information.jurisdiction} or sj.parent_id =  #{information.jurisdiction})
         </if>
     </select>
 
@@ -1847,7 +1922,7 @@
         where 1=1
         and (si.stats = 2 or si.stats = 4)
         <if test="information.jurisdiction!=null and information.jurisdiction!=''">
-            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+            and (sj.id = #{information.jurisdiction} or sj.parent_id =  #{information.jurisdiction})
         </if>
     </select>
 
@@ -1879,6 +1954,9 @@
                 <if test="type==3">
                     and bu.soil = 0
                 </if>
+                <if test="type==4">
+                    and bu.insurance = 0
+                </if>
                 group by dept_id
             ) b
             on
@@ -1890,11 +1968,16 @@
         c.jurisdiction = sj.id
         where 1=1
         and (c.stats = 2 or c.stats = 4)
-        and pnum &lt; 50
+        and pnum &lt; #{information.proportion}
         <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
-            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+            and (sj.id = #{information.jurisdiction} or sj.parent_id =  #{information.jurisdiction})
+        </if>
+        <if test="information.departmentid!=null and information.departmentid!=''">
+            and c.departmentid = #{information.departmentid}
         </if>
     </select>
+
+    <!-- and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})-->
 
     <!--根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司)-->
     <select id="getSecurityUnitExamLess50Page" resultType="org.springblade.modules.information.vo.InformationVO">
@@ -1981,9 +2064,9 @@
         d.jurisdiction = sj.id
         where 1=1
         and (d.stats = 2 or d.stats = 4)
-        and pnum &lt; 50
+        and pnum &lt; #{information.proportion}
         <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
-            and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
+            and (sj.id = #{information.jurisdiction} or sj.parent_id =  #{information.jurisdiction})
         </if>
     </select>
 
@@ -2082,4 +2165,48 @@
             and (a.id = #{information.jurisdiction} or a.parent_id = #{information.jurisdiction})
         </if>
     </select>
+
+    <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息-->
+    <select id="getSecurityUnitServerLess2Page" resultType="org.springblade.modules.information.vo.InformationVO">
+        select * from
+        (
+            select
+            DISTINCT
+            si.id,
+            si.departmentid,
+            si.jurisdiction,
+            si.enterprisename,
+            sj.dept_name jurisdictionName,
+            ifnull(a.count,0) znum,
+            sdu.name dispatchUnitName,
+            sdu.end_time
+            from sys_information si
+            left join
+            sys_dispatcher_unit sdu
+            on
+            si.departmentid = sdu.dept_id
+            left join
+            sys_jurisdiction sj
+            on
+            sj.id = si.jurisdiction
+            left join
+            (
+            select  ifnull(count(*),0) count,dept_id from sys_dispatcher_unit
+            where 1=1
+            and start_time &lt;= now()
+            and end_time &gt; now()
+            GROUP BY dept_id
+            ) a
+            on
+            a.dept_id = si.departmentid
+            where 1=1
+            <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+                and (sj.id = #{information.jurisdiction} or sj.parent_id =  #{information.jurisdiction})
+            </if>
+        ) b
+        where b.znum &lt; 2
+        <if test="information.departmentid!=null and information.departmentid!=''">
+            and b.departmentid = #{information.departmentid}
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.9.3