From 564bf7ab6a639c2c4557d35b8fd9b51dca60a738 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 22 八月 2023 13:32:34 +0800
Subject: [PATCH] #规则完善
---
src/main/resources/mapper/CstmrMapper.xml | 186 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 182 insertions(+), 4 deletions(-)
diff --git a/src/main/resources/mapper/CstmrMapper.xml b/src/main/resources/mapper/CstmrMapper.xml
index 71bfca7..c2d0a4a 100644
--- a/src/main/resources/mapper/CstmrMapper.xml
+++ b/src/main/resources/mapper/CstmrMapper.xml
@@ -33,6 +33,23 @@
</resultMap>
+ <sql id="roleIdSelect">
+ <choose>
+ <when test="roleId != null and roleId != '' and roleId!= 3 ">
+ <choose>
+ <when test="roleId == 2 ">
+ and mc.dept_id = #{deptId}
+ </when>
+ <otherwise>
+ </otherwise>
+ </choose>
+ </when>
+ <otherwise>
+ and mc.user_id = #{userId}
+ </otherwise>
+ </choose>
+ </sql>
+
<select id="selectByUuid" resultMap="BaseResultMap">
select * from man_cstmr
where 1=1
@@ -59,7 +76,7 @@
WHERE 1=1
<choose>
<when test="deptId != null and deptId != ''">
- AND (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
+ AND ((CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
or
(
user_id = #{userId}
@@ -72,7 +89,7 @@
where 1=1
and user_id = #{userId}
)
- )
+ ))
</when>
<otherwise>
and
@@ -109,7 +126,7 @@
ORDER BY mc.create_time DESC
</select>
- <select id="listByPage2" resultMap="BaseResultMap">
+ <select id="listByPage1" resultMap="BaseResultMap">
SELECT
mc.*
FROM man_cstmr mc
@@ -117,7 +134,8 @@
WHERE 1=1
<choose>
<when test="deptId != null and deptId != ''">
- AND (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
+ AND (
+ (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
or
(
user_id = #{userId}
@@ -129,6 +147,7 @@
from man_cstmr_foll
where 1=1
and user_id = #{userId}
+ )
)
)
</when>
@@ -202,6 +221,62 @@
ORDER BY mc.create_time DESC
</select>
+ <select id="listByPage2" resultMap="BaseResultMap">
+ SELECT DISTINCT mc.*
+ FROM man_cstmr mc
+ WHERE 1=1
+ <include refid="roleIdSelect"></include>
+ <choose>
+ <when test="conditionName != null and conditionName != ''">
+ <if test="condition != null and condition != ''">
+ <if test="conditionName == 'uuid'">
+ and mc.uuid like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'name'">
+ and mc.name like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'simple'">
+ and mc.simple like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'rela'">
+ and mc.rela like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'tel'">
+ and mc.tel like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'contacts'">
+ and mc.contacts like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'remarks'">
+ and mc.remarks like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'director'">
+ and mc.director = #{condition}
+ </if>
+ <if test="conditionName == 'addr'">
+ and mc.addr like concat('%',#{condition},'%')
+ </if>
+ </if>
+ </when>
+ <otherwise>
+ <if test="condition != null and condition != ''">
+ and (
+ mc.uuid like concat('%',#{condition},'%')
+ or mc.name like concat('%',#{condition},'%')
+ or mc.simple like concat('%',#{condition},'%')
+ or mc.rela like concat('%',#{condition},'%')
+ or mc.tel like concat('%',#{condition},'%')
+ or mc.contacts like concat('%',#{condition},'%')
+ or mc.remarks like concat('%',#{condition},'%')
+ or mc.director like concat('%',#{condition},'%')
+ or mc.addr like concat('%',#{condition},'%')
+ )
+ </if>
+ </otherwise>
+ </choose>
+ ORDER BY mc.create_time DESC
+ </select>
+
<update id="updateDeptIdByUserId">
update man_cstmr set dept_id = #{deptId} where user_id = #{userId}
</update>
@@ -215,4 +290,107 @@
</if>
</select>
+ <select id="listByPage3" resultMap="BaseResultMap">
+ SELECT
+ mc.*
+ FROM man_cstmr mc
+ LEFT JOIN sys_dept sd ON mc.dept_id = sd.id
+ WHERE 1=1
+ <choose>
+ <when test="deptId != null and deptId != ''">
+ AND (
+ (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
+ or
+ (
+ user_id = #{userId}
+ or
+ mc.id in
+ (
+ select
+ cstmr_id
+ from man_cstmr_foll
+ where 1=1
+ and user_id = #{userId}
+ )
+ )
+ )
+ </when>
+ <otherwise>
+ and
+ (
+ user_id = #{userId}
+ or
+ mc.id in
+ (
+ select
+ cstmr_id
+ from man_cstmr_foll
+ where 1=1
+ and user_id = #{userId}
+ )
+ )
+ </otherwise>
+ </choose>
+ <if test="cstmrIds != null">
+ and mc.id in
+ <foreach collection="cstmrIds" item="cstmrId" index="index" open="(" close=")" separator=",">
+ #{cstmrId}
+ </foreach>
+ </if>
+ <if test="hostId != null">
+ and mc.host_id = #{hostId}
+ </if>
+ <choose>
+ <when test="conditionName != null and conditionName != ''">
+ <if test="condition != null and condition != ''">
+ <if test="conditionName == 'uuid'">
+ and mc.uuid like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'name'">
+ and mc.name like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'simple'">
+ and mc.simple like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'rela'">
+ and mc.rela like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'tel'">
+ and mc.tel like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'contacts'">
+ and mc.contacts like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'remarks'">
+ and mc.remarks like concat('%',#{condition},'%')
+ </if>
+ <if test="conditionName == 'director'">
+ and mc.director = #{condition}
+ </if>
+ <if test="conditionName == 'addr'">
+ and mc.addr like concat('%',#{condition},'%')
+ </if>
+ </if>
+ </when>
+ <otherwise>
+ <if test="condition != null and condition != ''">
+ and (
+ mc.uuid like concat('%',#{condition},'%')
+ or mc.name like concat('%',#{condition},'%')
+ or mc.simple like concat('%',#{condition},'%')
+ or mc.rela like concat('%',#{condition},'%')
+ or mc.tel like concat('%',#{condition},'%')
+ or mc.contacts like concat('%',#{condition},'%')
+ or mc.remarks like concat('%',#{condition},'%')
+ or mc.director like concat('%',#{condition},'%')
+ or mc.addr like concat('%',#{condition},'%')
+ )
+ </if>
+ </otherwise>
+ </choose>
+
+
+ ORDER BY mc.create_time DESC
+ </select>
+
</mapper>
--
Gitblit v1.9.1