| <?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}) | 
|             </when> | 
|             <otherwise> | 
|                 and | 
|                 ( | 
|                 user_id = #{userId} | 
|                 or | 
|                 mp.id in | 
|                 ( | 
|                     select | 
|                     order_id | 
|                     from man_order_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},'%') | 
|             or mp.remarks like concat('%',#{condition},'%') | 
|             ) | 
|         </if> | 
|         ORDER BY mp.create_time DESC | 
|     </select> | 
|   | 
| </mapper> |