| <?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.OrderMapper"> | 
|   | 
|     <!-- 通用查询映射结果 --> | 
|     <resultMap id="BaseResultMap" type="com.zy.crm.manager.entity.Order"> | 
|         <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_id" property="cstmrId" /> | 
|         <result column="uuid" property="uuid" /> | 
|         <result column="name" property="name" /> | 
|         <result column="money" property="money" /> | 
|         <result column="company" property="company" /> | 
|         <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="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> | 
|   | 
|     <select id="selectByUuid" resultMap="BaseResultMap"> | 
|         select * from man_order | 
|         where 1=1 | 
|         and uuid = #{uuid} | 
|         <if test="hostId != null"> | 
|             and host_id = #{hostId} | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="selectOrderByNewestUuid" resultMap="BaseResultMap"> | 
|         select top 1 * from man_order | 
|         where 1=1 | 
|         <if test="hostId != null"> | 
|             and host_id = #{hostId} | 
|         </if> | 
|         order by uuid + 0 desc | 
|     </select> | 
|   | 
|     <select id="listByPage" resultMap="BaseResultMap"> | 
|         SELECT | 
|         mo.* | 
|         FROM man_order mo | 
|         LEFT JOIN sys_dept sd ON mo.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 | 
|                     mo.id in | 
|                     ( | 
|                         select | 
|                         order_id | 
|                         from man_order_foll | 
|                         where 1=1 | 
|                         and user_id = #{userId} | 
|                     ) | 
|                 ) | 
|             </when> | 
|             <otherwise> | 
|                 and | 
|                 ( | 
|                     user_id = #{userId} | 
|                     or | 
|                     mo.id in | 
|                     ( | 
|                         select | 
|                         order_id | 
|                         from man_order_foll | 
|                         where 1=1 | 
|                         and user_id = #{userId} | 
|                     ) | 
|                 ) | 
|             </otherwise> | 
|         </choose> | 
|         <if test="hostId != null"> | 
|             and mo.host_id = #{hostId} | 
|         </if> | 
|         <if test="condition != null and condition != ''"> | 
|             and ( | 
|             mo.uuid like concat('%',#{condition},'%') | 
|             or mo.name like concat('%',#{condition},'%') | 
|             or mo.remarks like concat('%',#{condition},'%') | 
|             or mo.addr like concat('%',#{condition},'%') | 
|             ) | 
|         </if> | 
|         ORDER BY mo.create_time DESC | 
|     </select> | 
|   | 
| </mapper> |