<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.zy.crm.manager.mapper.CstmrMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.zy.crm.manager.entity.Cstmr">
|
<id column="id" property="id" />
|
<result column="host_id" property="hostId" />
|
<result column="dept_id" property="deptId" />
|
<result column="user_id" property="userId" />
|
<result column="cstmr_type" property="cstmrType" />
|
<result column="uuid" property="uuid" />
|
<result column="name" property="name" />
|
<result column="simple" property="simple" />
|
<result column="rela" property="rela" />
|
<result column="tel" property="tel" />
|
<result column="contacts" property="contacts" />
|
<result column="remarks" property="remarks" />
|
<result column="director" property="director" />
|
<result column="province" property="province" />
|
<result column="city" property="city" />
|
<result column="district" property="district" />
|
<result column="town" property="town" />
|
<result column="addr" property="addr" />
|
<result column="type" property="type" />
|
<result column="files" property="files" />
|
<result column="status" property="status" />
|
<result column="create_by" property="createBy" />
|
<result column="create_time" property="createTime" />
|
<result column="update_by" property="updateBy" />
|
<result column="update_time" property="updateTime" />
|
<result column="memo" property="memo" />
|
|
</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
|
and uuid = #{uuid}
|
<if test="hostId != null">
|
and host_id = #{hostId}
|
</if>
|
</select>
|
|
<select id="selectCstmrByNewestUuid" resultMap="BaseResultMap">
|
select top 1 * from man_cstmr
|
where 1=1
|
<if test="hostId != null">
|
and host_id = #{hostId}
|
</if>
|
order by uuid + 0 desc
|
</select>
|
|
<select id="listByPage" 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="hostId != null">
|
and mc.host_id = #{hostId}
|
</if>
|
<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>
|
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>
|
|
<select id="selectByName" resultMap="BaseResultMap">
|
select * from man_cstmr
|
where 1=1
|
and name = #{name}
|
<if test="hostId != null">
|
and host_id = #{hostId}
|
</if>
|
</select>
|
|
</mapper>
|