From a841e7d34df4edf9955da8e1db09ed8de079ad95 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 15 Sep 2021 19:23:44 +0800
Subject: [PATCH] 1.现场检查新增字段 2.用户表新增是否缴纳保险字段 3.统计接口新增,修改

---
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml |  171 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 144 insertions(+), 27 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..f35fe24 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -1079,6 +1079,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 +1134,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 +1424,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 +1442,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})
@@ -1793,7 +1858,7 @@
         where 1=1
         and (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}
         </if>
     </select>
 
@@ -1847,7 +1912,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}
         </if>
     </select>
 
@@ -1879,6 +1944,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 +1958,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}
+        </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 +2054,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}
         </if>
     </select>
 
@@ -2082,4 +2155,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}
+            </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