From 7c8b81425bae4907c82a456bf6433d9438039708 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 08 九月 2023 14:49:16 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/CstmrMapper.xml | 188 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 184 insertions(+), 4 deletions(-)
diff --git a/src/main/resources/mapper/CstmrMapper.xml b/src/main/resources/mapper/CstmrMapper.xml
index 71bfca7..591178e 100644
--- a/src/main/resources/mapper/CstmrMapper.xml
+++ b/src/main/resources/mapper/CstmrMapper.xml
@@ -30,8 +30,27 @@
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="memo" property="memo" />
+ <result column="industry" property="industry" />
+ <result column="product_category" property="productCategory" />
</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
@@ -59,7 +78,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 +91,7 @@
where 1=1
and user_id = #{userId}
)
- )
+ ))
</when>
<otherwise>
and
@@ -109,7 +128,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 +136,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 +149,7 @@
from man_cstmr_foll
where 1=1
and user_id = #{userId}
+ )
)
)
</when>
@@ -202,6 +223,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 +292,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