From b5960d1968e007b91d4d33dd7cbb74f1b566f2c1 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 24 May 2024 10:20:01 +0800
Subject: [PATCH] 到期时间修改

---
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml |  863 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 743 insertions(+), 120 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 3c9617b..ea043db 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -46,17 +46,50 @@
         sj.dept_name jurisdictionName
         FROM
         sys_information i
+        LEFT JOIN
+        (
+        SELECT COUNT( * ) AS znum, dept_id FROM blade_user
+        WHERE 1=1
+        and role_id = '1412226235153731586'
+        and is_deleted = 0
+        AND status=1
+        GROUP BY dept_id
+        ) A
+        ON A.dept_id = i.departmentid
+        LEFT JOIN
+        (
+        SELECT COUNT( * ) AS cnum, dept_id FROM blade_user
+        WHERE 1=1
+        and role_id = '1412226235153731586'
+        and is_deleted = 0
+        AND status=1
+        AND hold=1
+        GROUP BY dept_id
+        ) B
+        ON B.dept_id = i.departmentid
+        LEFT JOIN
+        (
+        SELECT COUNT( * ) AS pnum, dept_id FROM blade_user
+        WHERE 1=1
+        and is_deleted = 0
+        and role_id = '1412226235153731586'
+        AND status=1
+        AND dispatch='0'
+        GROUP BY dept_id
+        ) C
+        ON C.dept_id = i.departmentid
         left join
         sys_jurisdiction sj
         on
         sj.id = i.jurisdiction
-        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
-        status=1 and is_deleted = 0 GROUP BY dept_id ) A ON A.dept_id = i.departmentid
-        LEFT JOIN ( SELECT COUNT( * ) AS cnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
-        status=1 AND hold=1 and is_deleted = 0 GROUP BY dept_id ) B ON B.dept_id = i.departmentid
-        LEFT JOIN ( SELECT COUNT( * ) AS pnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
-        status=1 AND dispatch=0 and is_deleted = 0 GROUP BY dept_id ) C ON C.dept_id = i.departmentid
+        left join
+        blade_dept bd
+        on
+        bd.id = i.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>
         <if test="information.enterprisename!=null and information.enterprisename!=''">
             and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
         </if>
@@ -64,14 +97,12 @@
             and i.representative like concat(concat('%', #{information.representative}),'%')
         </if>
         <if test="information.stats!=null and information.stats!=''">
-            and i.stats=#{information.stats}
-        </if>
-        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
-            and i.jurisdiction=#{information.jurisdiction}
+            and i.stats=#{information.stats} and bd.dept_category = 1
         </if>
         <if test="information.departmentid!=null and information.departmentid!=''">
             and i.departmentid=#{information.departmentid}
         </if>
+        order by i.establishTime asc
     </select>
 
     <delete id="deleteIn">
@@ -501,7 +532,8 @@
         IFNULL( C.fznum, 0 ) AS fznum,
         H.departmentid,
         H.jurisdiction
-        FROM (SELECT departmentid, jurisdiction FROM sys_information WHERE stats!=1 GROUP BY departmentid, jurisdiction) H
+        FROM (SELECT departmentid, jurisdiction FROM sys_information WHERE stats!=1 GROUP BY departmentid, jurisdiction)
+        H
         LEFT JOIN (
         SELECT COUNT(*) AS thisnum,
         dept_id
@@ -1017,7 +1049,7 @@
         i.departmentid
         FROM
         sys_information i
-        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1
+        LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction where 1=1 and s.status=0
         <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
             and i.jurisdiction =#{jurisdiction}
         </if>
@@ -1075,7 +1107,7 @@
         u.dept_id
         FROM
         sys_performance p
-        INNER JOIN blade_user u ON p.securityId = u.id WHERE 1=1
+        INNER JOIN blade_user u ON p.cardid = u.cardid WHERE 1=1 AND score=3
         <if test="type!=null and type=='1'.toString()">
             and to_days(p.time) = to_days(now())
         </if>
@@ -1085,9 +1117,11 @@
         GROUP BY
         dept_id
         ) J ON J.dept_id = H.departmentid
-        WHERE 1 = 1
+        LEFT JOIN blade_dept d ON H.departmentid = d.id
+        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
+        WHERE 1 =1
         <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
-            AND H.jurisdiction in(${jurisdiction})
+            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
         </if>
         <if test="deptid!=null and deptid!=''">
             AND H.departmentid = #{deptid}
@@ -1180,37 +1214,27 @@
         where id = #{ids}
     </delete>
 
-
-    <select id="selectLi" resultType="java.util.HashMap">
+    <!--保安员统计查询-->
+    <select id="selectLi" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
         SELECT
         IFNULL( V.num, 0 ) AS num,
         IFNULL( B.cznum, 0 ) AS cznum,
-        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,
+        IFNULL( D.num, 0 ) AS wpqnum,
+        IFNULL( C.num, 0 ) AS pqnum,
+        IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
+        IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
+        IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
+        IFNULL( G.yicnum, 0 ) AS scycnum,
+        IFNULL( E.sbnum, 0 ) AS jnsbnum,
         A.departmentid,
         A.enterpriseName AS deptname,
         A.stats,
         j.dept_name AS jurname
         FROM
-        ( SELECT jurisdiction, departmentid,enterpriseName,stats,create_time FROM sys_information where state !=1) A
+        ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
         LEFT JOIN (
         SELECT
-        J.znum+J.fznum as num,
-        J.dept_id
-        FROM
-        (
-        SELECT
-        A.znum,
-        IFNULL( B.znum, 0 ) AS fznum,
-        A.dept_id
-        FROM
-        (
-        SELECT
-        COUNT( * ) AS znum,
+        COUNT( * ) AS num,
         bu.dept_id
         FROM
         blade_user bu
@@ -1220,22 +1244,6 @@
         AND bu.role_id = '1412226235153731586'
         GROUP BY
         bu.dept_id
-        ) A
-        LEFT JOIN (
-        SELECT
-        IFNULL( COUNT( * ), 0 ) AS znum,
-        bd.parent_id
-        FROM
-        blade_user bu
-        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
-        WHERE
-        bu.`status` = 1
-        AND bu.is_deleted = 0
-        AND bu.role_id = '1412226235153731586'
-        GROUP BY
-        bd.parent_id
-        ) B ON B.parent_id = A.dept_id
-        ) J
         ) V ON V.dept_id = A.departmentid
         LEFT JOIN (
         SELECT
@@ -1253,33 +1261,43 @@
         ) B ON A.departmentid = B.dept_id
         LEFT JOIN (
         SELECT
-        COUNT( * ) AS paiqnum,
-        dept_id
+        COUNT( * ) AS num,
+        bu.dept_id
         FROM
-        blade_user
+        blade_user bu
         WHERE
-        role_id = '1412226235153731586'
-        AND STATUS = 1
-        AND is_deleted = 0
-        AND dispatch = 0
+        bu.`status` = 1
+        AND bu.is_deleted = 0
+        AND bu.role_id = '1412226235153731586'
+        AND bu.dispatch = '0'
         GROUP BY
-        dept_id
+        bu.dept_id
         ) C ON C.dept_id = A.departmentid
         LEFT JOIN (
         SELECT
-        COUNT( * ) AS wpaiqnum,
-        dept_id
+        COUNT( * ) AS num,
+        bu.dept_id
         FROM
+        blade_user bu
+        WHERE
+        bu.`status` = 1
+        AND bu.is_deleted = 0
+        AND bu.role_id = '1412226235153731586'
+        AND bu.dispatch = 1
+        GROUP BY
+        bu.dept_id
+        ) D ON D.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT COUNT( * ) AS sbnum,dept_id FROM
         blade_user
         WHERE
         role_id = '1412226235153731586'
         AND STATUS = 1
         AND is_deleted = 0
-        AND dispatch = 1
+        AND soil = 0
         GROUP BY
         dept_id
-        ) D ON D.dept_id = A.departmentid
-        LEFT JOIN ( SELECT COUNT( * ) AS sbnum, deptid FROM sys_socil GROUP BY deptid ) E ON E.deptid = A.departmentid
+        ) E ON E.dept_id = A.departmentid
         LEFT JOIN (
         SELECT
         COUNT( * ) AS wcaijnum,
@@ -1290,7 +1308,7 @@
         role_id = '1412226235153731586'
         AND STATUS = 1
         AND is_deleted = 0
-        AND photo = 1
+        AND (avatar is null or avatar = "")
         GROUP BY
         dept_id
         ) F ON F.dept_id = A.departmentid
@@ -1304,7 +1322,7 @@
         role_id = '1412226235153731586'
         AND STATUS = 1
         AND is_deleted = 0
-        AND photo = 0
+        AND avatar is not null and avatar!=""
         GROUP BY
         dept_id
         ) H ON H.dept_id = A.departmentid
@@ -1318,7 +1336,7 @@
         role_id = '1412226235153731586'
         AND STATUS = 1
         AND is_deleted = 0
-        AND fingerprint = 0
+        AND fingerprint is not null and fingerprint!=""
         GROUP BY
         dept_id
         ) I ON I.dept_id = A.departmentid
@@ -1332,13 +1350,15 @@
         role_id = '1412226235153731586'
         AND STATUS = 1
         AND is_deleted = 0
-        AND examination_mx = 1
+        AND examination_type = 1
         GROUP BY
         dept_id
         ) G ON G.dept_id = A.departmentid
         LEFT JOIN blade_dept d ON A.departmentid = d.id
         LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
-        WHERE 1 =1
+        WHERE
+        1 = 1
+        AND d.dept_category = 1
         <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
             and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
         </if>
@@ -1356,6 +1376,7 @@
         </if>
     </select>
 
+    <!--查询-->
     <select id="seCountI" resultType="java.util.HashMap">
         SELECT COUNT(*) as num,stats FROM sys_information
         where 1=1 and stats IS NOT NULL
@@ -1491,7 +1512,7 @@
         role_id = '1412226235153731586'
         AND is_deleted = 0
         AND STATUS = 1
-        AND dispatch = 0
+        AND dispatch = '0'
         GROUP BY
         dept_id,
         jurisdiction
@@ -1543,7 +1564,7 @@
         jurisdiction
         FROM blade_user
         WHERE role_id = '1412226235153731586' and status=1
-        AND dispatch = 0
+        AND dispatch = '0'
         GROUP BY dept_id,
         jurisdiction
         ) D ON A.departmentid = D.dept_id
@@ -1563,22 +1584,22 @@
 
 
     <!--业务统计情况-->
-    <select id="selectYw" resultType="java.util.HashMap">
+    <select id="selectYw" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
         SELECT
         A.enterpriseName,
         A.departmentid,
         A.stats,
         A.jurisdiction,
         j.dept_name as jurname,
-        IFNULL( B.num, 0 ) AS fwnum,
         IFNULL( C.znum, 0 ) AS znum,
-        IFNULL( D.dqnum, 0 ) AS dqnum,
         IFNULL( E.cznum, 0 ) AS cznum,
-        IFNULL( F.pqnum, 0 ) AS pqnum
+        IFNULL( F.pqnum, 0 ) AS pqnum,
+        IFNULL( B.num, 0 ) AS fwnum,
+        IFNULL( D.dqnum, 0 ) AS dqnum
         FROM
         (
-        SELECT enterpriseName,jurisdiction, departmentid,stats FROM sys_information WHERE stats!=1 GROUP BY
-        enterpriseName,jurisdiction,departmentid,stats) A
+        SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
+        enterpriseName,jurisdiction,departmentid,stats,create_time) A
         LEFT JOIN
         (
         SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
@@ -1588,17 +1609,6 @@
         ) B
         ON A.departmentid = B.dept_id
         LEFT JOIN
-        (
-        SELECT
-        J.znum+J.fznum as znum,
-        J.dept_id
-        FROM
-        (
-        SELECT
-        A.znum,
-        IFNULL( B.znum, 0 ) AS fznum,
-        A.dept_id
-        FROM
         (
         SELECT
         COUNT( * ) AS znum,
@@ -1611,22 +1621,6 @@
         AND bu.role_id = '1412226235153731586'
         GROUP BY
         bu.dept_id
-        ) A
-        LEFT JOIN (
-        SELECT
-        IFNULL( COUNT( * ), 0 ) AS znum,
-        bd.parent_id
-        FROM
-        blade_user bu
-        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
-        WHERE
-        bu.`status` = 1
-        AND bu.is_deleted = 0
-        AND bu.role_id = '1412226235153731586'
-        GROUP BY
-        bd.parent_id
-        ) B ON B.parent_id = A.dept_id
-        ) J
         ) C
         ON A.departmentid = C.dept_id
         LEFT JOIN
@@ -1647,10 +1641,15 @@
         LEFT JOIN
         (
         SELECT
-        SUM(num) AS pqnum,
+        count(*) AS pqnum,
         dept_id
         FROM
-        sys_dispatcher
+        blade_user
+        where 1=1
+        and status = 1
+        and is_deleted = 0
+        and role_id = "1412226235153731586"
+        and dispatch = '0'
         GROUP BY
         dept_id
         ) F
@@ -1658,6 +1657,7 @@
         LEFT JOIN blade_dept d ON A.departmentid = d.id
         LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
         WHERE 1 =1
+        and d.dept_category = 1
         <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
             and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
         </if>
@@ -1687,16 +1687,17 @@
         u.photo,
         u.examination_type,
         u.dispatch,
-        i.enterpriseName
+        bd.dept_name enterpriseName
         FROM
         blade_user u
-        LEFT JOIN sys_information i ON i.departmentid = u.dept_id
+        LEFT JOIN blade_dept bd ON bd.id = u.dept_id
         WHERE
         u.role_id = '1412226235153731586'
         AND u.is_deleted = 0
-        AND u.`status` =1
+        AND u.`status` = 1
+        and bd.is_deleted = 0
         <if test="deptid!=null and deptid!=''">
-            and dept_id=#{deptid}
+            and (bd.id = #{deptid} or bd.parent_id = #{deptid})
         </if>
         <if test="name!=null and name!=''">
             and real_name like concat('%', #{name},'%')
@@ -1880,7 +1881,7 @@
         FROM
         blade_user
         WHERE
-        dispatch = 0
+        dispatch = '0'
         AND role_id = '1412226235153731586'
         AND `status` = 1
         AND is_deleted = 0
@@ -1937,7 +1938,7 @@
         FROM
         blade_user
         WHERE
-        dispatch = 0
+        dispatch = '0'
         AND role_id = '1412226235153731586'
         AND `status` = 1
         AND is_deleted = 0
@@ -2175,7 +2176,7 @@
             and bu.hold = 1
         </if>
         <if test="type==2">
-            and bu.dispatch = 0
+            and bu.dispatch = '0'
         </if>
         <if test="type==3">
             and bu.soil = 0
@@ -2635,7 +2636,7 @@
         role_alias = "安保人员"
         AND bu.is_deleted = 0
         AND bu.`status` = 1
-        AND bu.dispatch = 0
+        AND bu.dispatch = '0'
         GROUP BY
         dept_id
         ) b ON a.dept_id = b.dept_id
@@ -2944,7 +2945,7 @@
             and bu.hold = 1
         </if>
         <if test="type==2">
-            and bu.dispatch = 0
+            and bu.dispatch = '0'
         </if>
         <if test="type==3">
             and bu.soil = 0
@@ -2981,7 +2982,7 @@
         SELECT COUNT(*) AS pnum,
         dept_id
         FROM sys_dispatcher
-        WHERE  STATUS = 0
+        WHERE STATUS = 0
         GROUP BY dept_id
         ) G ON G.dept_id = H.departmentid
         LEFT JOIN (
@@ -3041,7 +3042,7 @@
         SELECT i.departmentid,
         i.enterpriseName,
         IFNULL(D.znum, 0) AS znum,
-        IFNULL(d.num, 0) AS fwnum,
+        IFNULL(F.num, 0) AS fwnum,
         IFNULL(B.cznum, 0) AS cznum,
         IFNULL(C.sbnum, 0) AS sbnum
         FROM sys_information i
@@ -3054,8 +3055,8 @@
         AND is_deleted = 0
         GROUP BY dept_id
         ) D ON D.dept_id = i.departmentid
-        LEFT JOIN (SELECT COUNT(*) num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id) d
-        ON i.departmentid = d.dept_id
+        LEFT JOIN (SELECT COUNT(*) num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id) F
+        ON i.departmentid = D.dept_id
         LEFT JOIN (
         SELECT COUNT(*) AS cznum,
         dept_id
@@ -3082,4 +3083,626 @@
             and i.jurisdiction in(${jurisdiction})
         </if>
     </select>
+
+    <!--查询当前单位是否有子级单位-->
+    <select id="getDeptHashChildrens" resultType="org.springblade.modules.system.entity.Dept">
+        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
+    </select>
+
+    <!--查询当前单位是否有子级单位-->
+    <select id="getDeptHashChildren" resultType="org.springblade.modules.system.entity.Dept">
+        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
+    </select>
+
+    <!--查询单位的人数-->
+    <select id="selectInformationUserNumCount" resultType="java.lang.Integer">
+        SELECT COUNT( * ) FROM blade_user
+        WHERE 1=1
+        and role_id = '1412226235153731586'
+        and is_deleted = 0
+        AND status=1
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询单位的已派遣人数-->
+    <select id="selectInformationDispatcherNumCount" resultType="java.lang.Integer">
+        SELECT COUNT( * ) FROM blade_user
+        WHERE 1=1
+        and role_id = '1412226235153731586'
+        and is_deleted = 0
+        AND status=1
+        AND dispatch='0'
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询单位的未派遣人数-->
+    <select id="selectInformationNotDispatcherNumCount" resultType="java.lang.Integer">
+        SELECT COUNT( * ) FROM blade_user
+        WHERE 1=1
+        and role_id = '1412226235153731586'
+        and is_deleted = 0
+        AND status=1
+        AND dispatch=1
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询单位持证的人数-->
+    <select id="selectInformationHoldNumCount" resultType="java.lang.Integer">
+        SELECT COUNT( * ) FROM blade_user
+        WHERE 1=1
+        and role_id = '1412226235153731586'
+        and is_deleted = 0
+        AND status=1
+        AND hold=1
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询服务单位数-->
+    <select id="selectInformationUnitNumCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM sys_dispatcher_unit
+        where
+        start_time &lt;= now() and end_time &gt; now()
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询服务单位到期数-->
+    <select id="selectInformationUnitExpireNumCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM sys_dispatcher_unit
+        where end_time &lt; now()
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <select id="selectBxc" resultType="java.util.HashMap">
+        SELECT u.real_name as realName,
+        d.dept_name as deptName,
+        u.sex,
+        u.cardid,
+        ifnull(DATE_FORMAT(NOW(), '%Y') - SUBSTRING(u.cardid, 7, 4), 0) AS age,
+        u.securitynumber,
+        u.phone,
+        p.score
+        FROM sys_performance p
+        LEFT JOIN blade_user u ON p.securityId = u.id
+        LEFT JOIN blade_dept d ON d.id = p.departmentid
+        LEFT JOIN sys_jurisdiction j ON j.id = p.jurisdiction
+        WHERE 1 =1
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
+        </if>
+        <if test="type!=null and type=='1'.toString()">
+            and to_days(p.time) = to_days(now())
+        </if>
+        <if test="type!=null and type=='2'.toString()">
+            and DATE_FORMAT(p.time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
+        </if>
+        and p.score = 3
+    </select>
+
+
+    <!--查询单位的已采集照片人数-->
+    <select id="selectInformationUnitAvatarNumCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM blade_user
+        WHERE
+		role_id = '1412226235153731586'
+		AND STATUS = 1
+		AND is_deleted = 0
+		AND avatar is not null and avatar!=""
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询单位的未采集照片人数-->
+    <select id="selectInformationUnitNotAvatarNumCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM blade_user
+        WHERE
+		role_id = '1412226235153731586'
+		AND STATUS = 1
+		AND is_deleted = 0
+		AND (avatar is null or avatar = "")
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询单位的已采集指纹人数-->
+    <select id="selectInformationUnitZwNumCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM blade_user
+        WHERE
+		role_id = '1412226235153731586'
+		AND STATUS = 1
+		AND is_deleted = 0
+		AND fingerprint is not null and fingerprint!=""
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+
+    <!--查询单位的审查异常人数-->
+    <select id="selectInformationUnitYcNumCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM blade_user
+        WHERE
+		role_id = '1412226235153731586'
+		AND STATUS = 1
+		AND is_deleted = 0
+		AND examination_type = 1
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询单位的社保缴纳人数-->
+    <select id="selectInformationUnitJnsbNumCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM blade_user
+        WHERE
+		role_id = '1412226235153731586'
+		AND STATUS = 1
+		AND is_deleted = 0
+		AND soil = 0
+        and dept_id in
+            (
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dept.id} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+    </select>
+
+    <!--查询当前单位是否有子级单位-->
+    <select id="getDeptChildrens" resultType="org.springblade.modules.system.entity.Dept">
+        select * from blade_dept where is_deleted = 0 and parent_id = #{param1}
+    </select>
+
+    <!--导出保安员统计查询-->
+    <select id="exportSecurityStatisInfo" resultType="org.springblade.modules.information.excel.ExportInformationSecurityStatistics">
+        SELECT
+        IFNULL( V.num, 0 ) AS num,
+        IFNULL( B.cznum, 0 ) AS cznum,
+        IFNULL( D.num, 0 ) AS wpqnum,
+        IFNULL( C.num, 0 ) AS pqnum,
+        IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
+        IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
+        IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
+        IFNULL( G.yicnum, 0 ) AS scycnum,
+        IFNULL( E.sbnum, 0 ) AS jnsbnum,
+        A.departmentid,
+        A.enterpriseName AS deptname,
+        case when A.stats=0 then '自招保安单位'
+        when A.stats=2 then '本市保安公司'
+        when A.stats=4 then '分公司'
+        else "其他" end as stats,
+        j.dept_name AS jurname
+        FROM
+        ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS num,
+        bu.dept_id
+        FROM
+        blade_user bu
+        WHERE
+        bu.`status` = 1
+        AND bu.is_deleted = 0
+        AND bu.role_id = '1412226235153731586'
+        GROUP BY
+        bu.dept_id
+        ) V ON V.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS cznum,
+        dept_id
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND STATUS = 1
+        AND is_deleted = 0
+        AND hold = 1
+        GROUP BY
+        dept_id
+        ) B ON A.departmentid = B.dept_id
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS num,
+        bu.dept_id
+        FROM
+        blade_user bu
+        WHERE
+        bu.`status` = 1
+        AND bu.is_deleted = 0
+        AND bu.role_id = '1412226235153731586'
+        AND bu.dispatch = '0'
+        GROUP BY
+        bu.dept_id
+        ) C ON C.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS num,
+        bu.dept_id
+        FROM
+        blade_user bu
+        WHERE
+        bu.`status` = 1
+        AND bu.is_deleted = 0
+        AND bu.role_id = '1412226235153731586'
+        AND bu.dispatch = 1
+        GROUP BY
+        bu.dept_id
+        ) D ON D.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT COUNT( * ) AS sbnum,dept_id FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND STATUS = 1
+        AND is_deleted = 0
+        AND soil = 0
+        GROUP BY
+        dept_id
+        ) E ON E.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS wcaijnum,
+        dept_id
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND STATUS = 1
+        AND is_deleted = 0
+        AND (avatar is null or avatar = "")
+        GROUP BY
+        dept_id
+        ) F ON F.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS ycaijzpnum,
+        dept_id
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND STATUS = 1
+        AND is_deleted = 0
+        AND avatar is not null and avatar!=""
+        GROUP BY
+        dept_id
+        ) H ON H.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS ycaijzwnum,
+        dept_id
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND STATUS = 1
+        AND is_deleted = 0
+        AND fingerprint is not null and fingerprint!=""
+        GROUP BY
+        dept_id
+        ) I ON I.dept_id = A.departmentid
+        LEFT JOIN (
+        SELECT
+        COUNT( * ) AS yicnum,
+        dept_id
+        FROM
+        blade_user
+        WHERE
+        role_id = '1412226235153731586'
+        AND STATUS = 1
+        AND is_deleted = 0
+        AND examination_type = 1
+        GROUP BY
+        dept_id
+        ) G ON G.dept_id = A.departmentid
+        LEFT JOIN blade_dept d ON A.departmentid = d.id
+        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+        WHERE
+        1 = 1
+        AND d.dept_category = 1
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
+        </if>
+        <if test="deptid!=null and deptid!=''">
+            and A.enterpriseName like concat(concat('%', #{deptid}),'%')
+        </if>
+        <if test="stats!=null and stats!=''">
+            and A.stats =#{stats}
+        </if>
+        <if test="startTime!=null and startTime!=''">
+            and A.create_time &gt;= #{startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and A.create_time &lt;= #{endTime}
+        </if>
+    </select>
+
+    <!--导出业务统计情况-->
+    <select id="exportBusinessStatis" resultType="org.springblade.modules.information.excel.ExportInformationExcel">
+        SELECT
+        A.enterpriseName,
+        A.departmentid,
+        case when A.stats=0 then '自招保安单位'
+        when A.stats=2 then '本市保安公司'
+        when A.stats=4 then '分公司'
+        else "其他" end as stats,
+        A.jurisdiction,
+        j.dept_name as jurname,
+        IFNULL( C.znum, 0 ) AS znum,
+        IFNULL( E.cznum, 0 ) AS cznum,
+        IFNULL( F.pqnum, 0 ) AS pqnum,
+        IFNULL( B.num, 0 ) AS fwnum,
+        IFNULL( D.dqnum, 0 ) AS dqnum
+        FROM
+        (
+        SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
+        enterpriseName,jurisdiction,departmentid,stats,create_time) A
+        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,
+        bu.dept_id
+        FROM
+        blade_user bu
+        WHERE
+        bu.`status` = 1
+        AND bu.is_deleted = 0
+        AND bu.role_id = '1412226235153731586'
+        GROUP BY
+        bu.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
+        and role_id = '1412226235153731586'
+        and status= 1
+        and is_deleted = 0
+        GROUP BY dept_id
+        ) E
+        ON A.departmentid = E.dept_id
+        LEFT JOIN
+        (
+        SELECT
+        count(*) AS pqnum,
+        dept_id
+        FROM
+        blade_user
+        where 1=1
+        and status = 1
+        and is_deleted = 0
+        and role_id = "1412226235153731586"
+        and dispatch = '0'
+        GROUP BY
+        dept_id
+        ) F
+        ON A.departmentid = F.dept_id
+        LEFT JOIN blade_dept d ON A.departmentid = d.id
+        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+        WHERE 1 =1
+        and d.dept_category = 1
+        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
+        </if>
+        <if test="deptid!=null and deptid!=''">
+            and A.enterpriseName like concat('%', #{deptid},'%')
+        </if>
+        <if test="stats!=null and stats!=''">
+            and A.stats=#{stats}
+        </if>
+        <if test="startTime!=null and startTime!=''">
+            and A.create_time &gt;= #{startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and A.create_time &lt;= #{endTime}
+        </if>
+    </select>
+
+    <!--更具部门id 查询所有的父级部门id包含本身-->
+    <select id="getDeptDetails" resultType="java.lang.String">
+        SELECT
+            T1._id
+        FROM
+            (
+            SELECT
+                @r AS _id,
+                ( SELECT @r := parent_id FROM blade_dept WHERE id = _id ) AS parent_id,
+                @l := @l + 1 AS lvl
+            FROM
+                ( SELECT @r := #{information.departmentid}, @l := 0 ) vars,
+                blade_dept h
+            ) T1
+        where T1._id!=0
+        AND T1._id != 1413470343230877697
+        AND T1._id != 1418458374477549569
+        AND T1._id != 1420222768149966850
+        AND T1._id != 1425366663452196865
+        order by T1._id
+    </select>
+
+    <!--根据部门id 查询公司信息-->
+    <select id="getInformationDetails" resultType="org.springblade.modules.information.vo.InformationVO">
+        select si.*,sj.dept_name jurisdictionName from sys_information si
+        left join sys_jurisdiction sj on sj.id = si.jurisdiction
+        where si.departmentid = #{deptId}
+    </select>
+
 </mapper>

--
Gitblit v1.9.3