From 4c19ddd36bdfb43b5ef4e8df3c9a98cd4d356d6c Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Thu, 26 May 2022 10:55:04 +0800
Subject: [PATCH] 1、资讯模糊匹配修改

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |  261 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 247 insertions(+), 14 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 71692b9..754b61d 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -29,6 +29,10 @@
         <result column="work_status" property="work_status"/>
         <result column="examination_type" property="examination_type"/>
         <result column="examination_mx" property="examination_mx"/>
+        <result column="audit_time" property="auditTime"/>
+        <result column="cardid" property="cardid"/>
+        <result column="district" property="district"/>
+        <result column="jurisdiction" property="jurisdiction"/>
     </resultMap>
     <resultMap id="userResultMaps" type="org.springblade.modules.system.vo.UsersVo">
         <result column="id" property="id"/>
@@ -59,10 +63,13 @@
         <result column="examination_type" property="examination_type"/>
         <result column="examination_mx" property="examination_mx"/>
         <result column="dept_name" property="deptName"/>
+        <result column="audit_time" property="auditTime"/>
+        <result column="cardid" property="cardid"/>
+        <result column="jurisdiction" property="jurisdiction"/>
     </resultMap>
 
     <select id="selectUserPage" resultMap="userResultMap">
-        select *  from blade_user
+        select * from blade_user
         where is_deleted = 0
         <if test="tenantId!=null and tenantId != ''">
             and tenant_id = #{tenantId}
@@ -71,10 +78,13 @@
             and tenant_id = #{user.tenantId}
         </if>
         <if test="user.account!=null and user.account != ''">
-            and account = #{user.account}
+            and account like concat('%',#{user.account},'%')
+        </if>
+        <if test="user.jurisdiction!=null and user.jurisdiction != ''">
+            and jurisdiction like concat('%',#{user.jurisdiction},'%')
         </if>
         <if test="user.realName!=null and user.realName != ''">
-            and real_name = #{user.realName}
+            and real_name like concat('%',#{user.realName},'%')
         </if>
         <if test="user.userType!=null and user.userType != ''">
             and user_type = #{user.userType}
@@ -94,23 +104,28 @@
         </if>
         ORDER BY id
     </select>
+
+
     <select id="selectUserPages" resultMap="userResultMaps">
-        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate )  from blade_user s
+        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate ) from blade_user s
         LEFT JOIN sys_position p ON p.snumber = s.CODE
         LEFT JOIN sys_enclosure e ON e.anumber = s.CODE
         left join
         blade_role br
         on
         s.role_id=br.id
-        where s.is_deleted = 0 and br.role_alias ='处警员'
+        where s.is_deleted = 0
         <if test="user.account!=null and user.account != ''">
-            and s.account = #{user.account}
+            and s.account like concat('%',#{user.account},'%')
+        </if>
+        <if test="user.cardid!=null and user.cardid != ''">
+            and s.cardid like concat('%',#{user.cardid},'%')
         </if>
         <if test="user.id!=null and user.id != ''">
             and s.id = #{user.id}
         </if>
         <if test="user.realName!=null and user.realName != ''">
-            and s.real_name = #{user.realName}
+            and s.real_name like concat('%',#{user.real_name},'%')
         </if>
         <if test="user.userType!=null and user.userType != ''">
             and s.user_type = #{user.userType}
@@ -131,11 +146,11 @@
             </foreach>
             )
         </if>
-        ORDER BY id
+        ORDER BY id desc
     </select>
 
     <select id="selectUserPagetxl" resultMap="userResultMaps">
-        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate )  from blade_user s
+        select s.*,p.jd,p.wd,ST_ASTEXT ( e.coordinate ) from blade_user s
         LEFT JOIN sys_position p ON p.snumber = s.CODE
         LEFT JOIN sys_enclosure e ON e.anumber = s.CODE
         left join
@@ -176,11 +191,13 @@
 
     <select id="getUser" resultMap="userResultMap">
         SELECT
-            *
+            r.role_name as rolename,
+            u.*
         FROM
-            blade_user
+            blade_user u
+            LEFT JOIN blade_role r ON u.role_id = r.id
         WHERE
-            tenant_id = #{param1} and account = #{param2} and password = #{param3} and is_deleted = 0
+            u.tenant_id = #{param1} and u.account = #{param2} and u.password = #{param3} and u.is_deleted = 0
     </select>
 
     <select id="exportUser" resultType="org.springblade.modules.system.excel.UserExcel">
@@ -210,8 +227,7 @@
         on
         bu.role_id=br.id
         where
-        br.role_alias ='处警员'
-        and bu.is_deleted=0
+        bu.is_deleted=0
         <if test="user.realName!=null and user.realName !=''">
             <bind name="realName" value="'%'+user.realName+'%'"/>
             and bu.real_name like #{realName}
@@ -231,4 +247,221 @@
     <select id="selectUser" resultType="java.util.HashMap">
         select CAST(id AS CHAR) as groupmember,real_name as rname from blade_user
     </select>
+
+    <!--统计用户注册数据-->
+    <select id="getUserRegisterStatisticsData" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
+        SELECT
+            br.name as region,
+            count(*) num
+        FROM  blade_user bu
+            left join
+        blade_region br
+            on
+        bu.district = br.code
+            where bu.district is not null
+        group by bu.district
+    </select>
+
+    <!-- 统计六大队伍数量 -->
+    <select id="getUserTypeCount" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
+        SELECT
+            '治保会队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615693403414529'
+            UNION ALL
+            SELECT
+            '内保干部队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615773594312705'
+            UNION ALL
+            SELECT
+            '治安巡防队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615835435130881'
+            UNION ALL
+            SELECT
+            '信息员队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615909959524354'
+            UNION ALL
+            SELECT
+            '保安员队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615972718895106'
+            UNION ALL
+            SELECT
+            '警务辅助队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424616047083905026'
+    </select>
+
+    <!-- 按辖区统计六大队伍数量 -->
+    <select id="getUserTypeCountXq" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
+        SELECT
+            '治保会队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615693403414529' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '内保干部队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615773594312705' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '治安巡防队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615835435130881' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '信息员队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615909959524354' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '保安员队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615972718895106' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '警务辅助队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424616047083905026' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '平安志愿者' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1416225906918195201' and bu.jurisdiction = #{xid}
+    </select>
+
+    <!-- 按辖区统计六大队伍数量 -->
+    <select id="getUserTypeList" resultType="org.springblade.modules.system.vo.UserVO">
+        SELECT
+            bu.*
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            bu.jurisdiction = #{xid}
+            <if test="index == 1">
+                AND dept.id = '1424615693403414529'
+            </if>
+            <if test="index == 2">
+                AND  dept.id = '1424615773594312705'
+            </if>
+            <if test="index == 3">
+                AND  dept.id = '1424615835435130881'
+            </if>
+            <if test="index == 4">
+                AND  dept.id = '1424615909959524354'
+            </if>
+            <if test="index == 5">
+                AND  dept.id = '1424615972718895106'
+            </if>
+            <if test="index == 6">
+                AND  dept.id = '1424616047083905026'
+            </if>
+            <if test="index == 7">
+                AND  dept.id ='1416225906918195201'
+            </if>
+    </select>
+
+    <select id="getUserDistrictTypeCount" resultType="org.springblade.modules.system.vo.UserDistrictStatisVO">
+        SELECT
+            br.NAME AS region,
+            count( * ) num ,
+            count( CASE WHEN dept.dept_name = '治保会队伍' THEN 1 END) as zbh,
+            count( CASE WHEN dept.dept_name = '内保干部队伍' THEN 1 END) as nbgb,
+            count( CASE WHEN dept.dept_name = '治安巡防队伍' THEN 1 END) as zaxf,
+            count( CASE WHEN dept.dept_name = '信息员队伍' THEN 1 END) as xxy,
+            count( CASE WHEN dept.dept_name = '保安员队伍' THEN 1 END) as bay,
+            count( CASE WHEN dept.dept_name = '警务辅助队伍' THEN 1 END) as jwfz
+        FROM
+            blade_user bu
+            LEFT JOIN blade_region br ON bu.district = br.CODE
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            bu.district IS NOT NULL
+        GROUP BY
+            bu.district
+    </select>
+
+
+    <!--查询用户数据,未审核的-->
+    <select id="getNotAuditAllUserList" resultType="org.springblade.modules.system.entity.User">
+        select id, cardid
+        from blade_user
+        where examination_type is null
+    </select>
+
+    <!--查询账号相同的数量-->
+    <select id="selectCountAccount" resultType="java.lang.Integer">
+        select count(*) from blade_user where 1=1
+        and status = 1
+        and is_deleted = 0
+        and account = #{account}
+    </select>
+
+    <update id="updateAcc">
+        update blade_user set stype=#{stype},firstlogin = "1" where  account=#{account}
+    </update>
+    <update id="firstLogin">
+        update blade_user set firstlogin = "0" where  id=#{id}
+    </update>
+
+    <delete id="delete">
+        delete from  blade_user where account=#{account}
+    </delete>
+
 </mapper>

--
Gitblit v1.9.3