From 46f7fdff7f7c7640e899b686031b8ccbc9c8b14c Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Fri, 27 May 2022 10:52:42 +0800
Subject: [PATCH] 1、资讯模糊匹配修改

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |  143 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 126 insertions(+), 17 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 b5cfe99..53b2200 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -81,7 +81,10 @@
             and account like concat('%',#{user.account},'%')
         </if>
         <if test="user.jurisdiction!=null and user.jurisdiction != ''">
-            and jurisdiction like concat('%',#{user.jurisdiction},'%')
+            and (jurisdiction = #{user.jurisdiction} or workjurisdiction = #{user.jurisdiction})
+        </if>
+        <if test="user.workjurisdiction!=null and user.workjurisdiction != ''">
+            and workjurisdiction = #{user.workjurisdiction}
         </if>
         <if test="user.realName!=null and user.realName != ''">
             and real_name like concat('%',#{user.realName},'%')
@@ -89,19 +92,22 @@
         <if test="user.userType!=null and user.userType != ''">
             and user_type = #{user.userType}
         </if>
-        <if test="deptIdList!=null and deptIdList.size>0">
-            and id in (
-            SELECT
-            user_id
-            FROM
-            blade_user_dept
-            WHERE
-            dept_id IN
-            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
-                #{item}
-            </foreach>
-            )
+        <if test="user.deptId!=null and user.deptId != ''">
+            and (jurisdiction = #{user.deptId} or workjurisdiction = #{user.deptId})
         </if>
+<!--        <if test="deptIdList!=null and deptIdList.size>0">-->
+<!--            and id in (-->
+<!--            SELECT-->
+<!--            user_id-->
+<!--            FROM-->
+<!--            blade_user_dept-->
+<!--            WHERE-->
+<!--            dept_id IN-->
+<!--            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">-->
+<!--                #{item}-->
+<!--            </foreach>-->
+<!--            )-->
+<!--        </if>-->
         ORDER BY id
     </select>
 
@@ -191,11 +197,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">
@@ -317,6 +325,104 @@
             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,
@@ -354,7 +460,10 @@
     </select>
 
     <update id="updateAcc">
-        update blade_user set stype=#{stype} where  account=#{account}
+        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">

--
Gitblit v1.9.3