<?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.PlanMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.zy.crm.manager.entity.Plan">
|
<id column="id" property="id" />
|
<result column="host_id" property="hostId" />
|
<result column="dept_id" property="deptId" />
|
<result column="plan_type" property="planType" />
|
<result column="user_id" property="userId" />
|
<result column="order_id" property="orderId" />
|
<result column="cstmr_id" property="cstmrId" />
|
<result column="uuid" property="uuid" />
|
<result column="name" property="name" />
|
<result column="apple_time" property="appleTime" />
|
<result column="plan_need" property="planNeed" />
|
<result column="be_item" property="beItem" />
|
<result column="form" property="form" />
|
<result column="planner" property="planner" />
|
<result column="finish_time" property="finishTime" />
|
<result column="change" property="change" />
|
<result column="change_time" property="changeTime" />
|
<result column="change_reason" property="changeReason" />
|
<result column="plan_bonus" property="planBonus" />
|
<result column="plan_leader_bonus" property="planLeaderBonus" />
|
<result column="files" property="files" />
|
<result column="settle" property="settle" />
|
<result column="settle_msg" property="settleMsg" />
|
<result column="comment" property="comment" />
|
<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>
|
|
<select id="selectByUuid" resultMap="BaseResultMap">
|
select * from man_plan
|
where 1=1
|
and uuid = #{uuid}
|
<if test="hostId != null">
|
and host_id = #{hostId}
|
</if>
|
</select>
|
|
<select id="selectPlanByNewestUuid" resultMap="BaseResultMap">
|
select top 1 * from man_plan
|
where 1=1
|
<if test="hostId != null">
|
and host_id = #{hostId}
|
</if>
|
order by uuid + 0 desc
|
</select>
|
|
<select id="listByPage" resultMap="BaseResultMap">
|
SELECT
|
mp.*
|
FROM man_plan mp
|
LEFT JOIN sys_dept sd ON mp.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
|
mp.id in
|
(
|
select
|
plan_id
|
from man_plan_foll
|
where 1=1
|
and user_id = #{userId}
|
)
|
)
|
</when>
|
<otherwise>
|
and
|
(
|
user_id = #{userId}
|
or
|
mp.id in
|
(
|
select
|
plan_id
|
from man_plan_foll
|
where 1=1
|
and user_id = #{userId}
|
)
|
)
|
</otherwise>
|
</choose>
|
<if test="hostId != null">
|
and mp.host_id = #{hostId}
|
</if>
|
<if test="condition != null and condition != ''">
|
and (
|
mp.uuid like concat('%',#{condition},'%')
|
or mp.name like concat('%',#{condition},'%')
|
or mp.planner like concat('%',#{condition},'%')
|
)
|
</if>
|
ORDER BY mp.create_time DESC
|
</select>
|
|
</mapper>
|