| <?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="doumeemes.dao.ext.WarehouseExtMapper"> | 
|   | 
|   <!-- 管理页面查询 --> | 
|   <resultMap id="WarehouseExtListVO" type="doumeemes.dao.ext.vo.WarehouseExtListVO" autoMapping="true"> | 
|     <id column="ID" jdbcType="INTEGER" property="id"/> | 
|     <association property="mmodel" javaType="doumeemes.dao.system.model.SystemUser"> | 
|       <id column="MMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|       <result column="MMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|       <result column="MMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|       <result column="MMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|       <result column="MMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|       <result column="MMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|       <result column="MMODEL_FIXED" jdbcType="TINYINT" property="fixed"/> | 
|       <result column="MMODEL_PASSWORD" jdbcType="VARCHAR" property="password"/> | 
|       <result column="MMODEL_SALT" jdbcType="VARCHAR" property="salt"/> | 
|       <result column="MMODEL_AVATAR" jdbcType="VARCHAR" property="avatar"/> | 
|       <result column="MMODEL_MOBILE" jdbcType="VARCHAR" property="mobile"/> | 
|       <result column="MMODEL_EMAIL" jdbcType="VARCHAR" property="email"/> | 
|       <result column="MMODEL_SEX" jdbcType="VARCHAR" property="sex"/> | 
|       <result column="MMODEL_BIRTHDAY" jdbcType="DATE" property="birthday"/> | 
|       <result column="MMODEL_EMP_NO" jdbcType="VARCHAR" property="empNo"/> | 
|       <result column="MMODEL_REALNAME" jdbcType="VARCHAR" property="realname"/> | 
|       <result column="MMODEL_USERNAME" jdbcType="VARCHAR" property="username"/> | 
|       <result column="MMODEL_SYSTEMID" jdbcType="VARCHAR" property="systemid"/> | 
|       <result column="MMODEL_INVALID_TIME" jdbcType="TIMESTAMP" property="invalidTime"/> | 
|       <result column="MMODEL_TYPE" jdbcType="INTEGER" property="type"/> | 
|     </association> | 
|     <association property="tmodel" javaType="doumeemes.dao.system.model.SystemDictData"> | 
|       <id column="TMODEL_ID" jdbcType="INTEGER" property="id"/> | 
|       <result column="TMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> | 
|       <result column="TMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> | 
|       <result column="TMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> | 
|       <result column="TMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> | 
|       <result column="TMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> | 
|       <result column="TMODEL_DICT_ID" jdbcType="INTEGER" property="dictId"/> | 
|       <result column="TMODEL_CODE" jdbcType="LONGVARCHAR" property="code"/> | 
|       <result column="TMODEL_LABEL" jdbcType="VARCHAR" property="label"/> | 
|       <result column="TMODEL_SORT" jdbcType="INTEGER" property="sort"/> | 
|       <result column="TMODEL_DISABLED" jdbcType="INTEGER" property="disabled"/> | 
|     </association> | 
|   </resultMap> | 
|   <select id="selectList" parameterType="doumeemes.dao.ext.dto.QueryWarehouseExtDTO" resultMap="WarehouseExtListVO"> | 
|     SELECT | 
|       `a`.`ID`, | 
|       `a`.`DELETED`, | 
|       `a`.`CREATE_USER`, | 
|       `a`.`CREATE_TIME`, | 
|       `a`.`UPDATE_USER`, | 
|       `a`.`UPDATE_TIME`, | 
|       `a`.`REMARK`, | 
|       `a`.`ROOT_DEPART_ID`, | 
|       `a`.`DEPART_ID`, | 
|       `a`.`PROCEDURE_ID`, | 
|       `a`.`QRCODE`, | 
|       `a`.`NAME`, | 
|       `a`.`USE_LOCATION`, | 
|       `a`.`STATUS`, | 
|       `a`.`ADDR`, | 
|       `a`.`MANAGER_ID`, | 
|       `a`.`TYPE`, | 
|       `a`.`CODE`, | 
|        a.IS_SALES, | 
|        a.ASCRIPTION, | 
|        a.SYSTEM_DIC_DATA_ID, | 
|       `mmodel`.`ID` AS MMODEL_ID, | 
|       `mmodel`.`DELETED` AS MMODEL_DELETED, | 
|       `mmodel`.`CREATE_USER` AS MMODEL_CREATE_USER, | 
|       `mmodel`.`CREATE_TIME` AS MMODEL_CREATE_TIME, | 
|       `mmodel`.`UPDATE_USER` AS MMODEL_UPDATE_USER, | 
|       `mmodel`.`UPDATE_TIME` AS MMODEL_UPDATE_TIME, | 
|       `mmodel`.`FIXED` AS MMODEL_FIXED, | 
|       `mmodel`.`PASSWORD` AS MMODEL_PASSWORD, | 
|       `mmodel`.`SALT` AS MMODEL_SALT, | 
|       `mmodel`.`AVATAR` AS MMODEL_AVATAR, | 
|       `mmodel`.`MOBILE` AS MMODEL_MOBILE, | 
|       `mmodel`.`EMAIL` AS MMODEL_EMAIL, | 
|       `mmodel`.`SEX` AS MMODEL_SEX, | 
|       `mmodel`.`BIRTHDAY` AS MMODEL_BIRTHDAY, | 
|       `mmodel`.`EMP_NO` AS MMODEL_EMP_NO, | 
|       `mmodel`.`REALNAME` AS MMODEL_REALNAME, | 
|       `mmodel`.`USERNAME` AS MMODEL_USERNAME, | 
|       `mmodel`.`SYSTEMID` AS MMODEL_SYSTEMID, | 
|       `mmodel`.`INVALID_TIME` AS MMODEL_INVALID_TIME, | 
|       `mmodel`.`TYPE` AS MMODEL_TYPE, | 
|     `dmodel`.`name` AS DMODEL_NAME, | 
|     `tmodel`.`ID` AS TMODEL_ID, | 
|     `tmodel`.`DELETED` AS TMODEL_DELETED, | 
|     `tmodel`.`CREATE_USER` AS TMODEL_CREATE_USER, | 
|     `tmodel`.`CREATE_TIME` AS TMODEL_CREATE_TIME, | 
|     `tmodel`.`UPDATE_USER` AS TMODEL_UPDATE_USER, | 
|     `tmodel`.`UPDATE_TIME` AS TMODEL_UPDATE_TIME, | 
|     `tmodel`.`DICT_ID` AS TMODEL_DICT_ID, | 
|     `tmodel`.`CODE` AS TMODEL_CODE, | 
|     `tmodel`.`LABEL` AS TMODEL_LABEL, | 
|     `tmodel`.`SORT` AS TMODEL_SORT, | 
|     `tmodel`.`DISABLED` AS TMODEL_DISABLED | 
|     FROM `warehouse` `a` | 
|     left JOIN `system_user` `mmodel` ON a.MANAGER_ID=mmodel.ID | 
|     left join  `department` `dmodel` on a.DEPART_ID=dmodel.id | 
|     LEFT JOIN `system_dict_data` `tmodel` ON a.SYSTEM_DIC_DATA_ID=tmodel.ID | 
|     <where> | 
|       <if test="id != null"> | 
|         AND `a`.`ID` = #{id} | 
|       </if> | 
|       <if test="deleted != null"> | 
|         AND `a`.`DELETED` = #{deleted} | 
|       </if> | 
|   | 
|       <if test="createTime != null"> | 
|         AND `a`.`CREATE_TIME` = #{createTime} | 
|       </if> | 
|       <if test="updateUser != null"> | 
|         AND `a`.`UPDATE_USER` = #{updateUser} | 
|       </if> | 
|       <if test="updateTime != null"> | 
|         AND `a`.`UPDATE_TIME` = #{updateTime} | 
|       </if> | 
|       <if test="remark != null and remark != ''"> | 
|         AND `a`.`REMARK` = #{remark} | 
|       </if> | 
|       <if test="rootDepartId != null"> | 
|         AND `a`.`ROOT_DEPART_ID` = #{rootDepartId} | 
|       </if> | 
|       <if test="departId != null"> | 
|         AND `a`.`DEPART_ID` = #{departId} | 
|       </if> | 
|       <if test="procedureId != null"> | 
|         AND `a`.`PROCEDURE_ID` = #{procedureId} | 
|       </if> | 
|       <if test="qrcode != null"> | 
|         AND `a`.`QRCODE` = #{qrcode} | 
|       </if> | 
|       <if test="name != null and name != ''"> | 
|         AND `a`.`NAME` like concat('%', #{name},'%') | 
|       </if> | 
|       <if test="useLocation != null"> | 
|         AND `a`.`USE_LOCATION` = #{useLocation} | 
|       </if> | 
|       <if test="status != null"> | 
|         AND `a`.`STATUS` = #{status} | 
|       </if> | 
|       <if test="addr != null and addr != ''"> | 
|         AND `a`.`ADDR` = #{addr} | 
|       </if> | 
|       <if test="managerId != null"> | 
|         AND `a`.`MANAGER_ID` = #{managerId} | 
|       </if> | 
|       <if test="type != null"> | 
|         AND `a`.`TYPE` = #{type} | 
|       </if> | 
|       <if test="code != null and code != ''"> | 
|         AND `a`.`CODE` = #{code} | 
|       </if> | 
|       <if test="ascription != null "> | 
|         AND `a`.`ASCRIPTION` = #{ascription} | 
|       </if> | 
|       <if test="systemDicDataId != null and systemDicDataId != ''"> | 
|         AND   locate( `a`.`SYSTEM_DIC_DATA_ID`,#{systemDicDataId}) | 
|       </if> | 
|   | 
|       <if test="mmodelId != null"> | 
|         AND `mmodel`.`ID` = #{mmodelId} | 
|       </if> | 
|       <if test="mmodelDeleted != null"> | 
|         AND `mmodel`.`DELETED` = #{mmodelDeleted} | 
|       </if> | 
|       <if test="mmodelCreateUser != null"> | 
|         AND `mmodel`.`CREATE_USER` = #{mmodelCreateUser} | 
|       </if> | 
|       <if test="mmodelCreateTime != null"> | 
|         AND `mmodel`.`CREATE_TIME` = #{mmodelCreateTime} | 
|       </if> | 
|       <if test="mmodelUpdateUser != null"> | 
|         AND `mmodel`.`UPDATE_USER` = #{mmodelUpdateUser} | 
|       </if> | 
|       <if test="mmodelUpdateTime != null"> | 
|         AND `mmodel`.`UPDATE_TIME` = #{mmodelUpdateTime} | 
|       </if> | 
|       <if test="mmodelFixed != null"> | 
|         AND `mmodel`.`FIXED` = #{mmodelFixed} | 
|       </if> | 
|       <if test="mmodelPassword != null and mmodelPassword != ''"> | 
|         AND `mmodel`.`PASSWORD` = #{mmodelPassword} | 
|       </if> | 
|       <if test="mmodelSalt != null and mmodelSalt != ''"> | 
|         AND `mmodel`.`SALT` = #{mmodelSalt} | 
|       </if> | 
|       <if test="mmodelAvatar != null and mmodelAvatar != ''"> | 
|         AND `mmodel`.`AVATAR` = #{mmodelAvatar} | 
|       </if> | 
|       <if test="mmodelMobile != null and mmodelMobile != ''"> | 
|         AND `mmodel`.`MOBILE` = #{mmodelMobile} | 
|       </if> | 
|       <if test="mmodelEmail != null and mmodelEmail != ''"> | 
|         AND `mmodel`.`EMAIL` = #{mmodelEmail} | 
|       </if> | 
|       <if test="mmodelSex != null and mmodelSex != ''"> | 
|         AND `mmodel`.`SEX` = #{mmodelSex} | 
|       </if> | 
|       <if test="mmodelBirthday != null"> | 
|         AND `mmodel`.`BIRTHDAY` = #{mmodelBirthday} | 
|       </if> | 
|       <if test="mmodelEmpNo != null and mmodelEmpNo != ''"> | 
|         AND `mmodel`.`EMP_NO` = #{mmodelEmpNo} | 
|       </if> | 
|       <if test="mmodelRealname != null and mmodelRealname != ''"> | 
|         AND `mmodel`.`REALNAME` = #{mmodelRealname} | 
|       </if> | 
|       <if test="mmodelUsername != null and mmodelUsername != ''"> | 
|         AND `mmodel`.`USERNAME` = #{mmodelUsername} | 
|       </if> | 
|       <if test="mmodelSystemid != null and mmodelSystemid != ''"> | 
|         AND `mmodel`.`SYSTEMID` = #{mmodelSystemid} | 
|       </if> | 
|       <if test="mmodelInvalidTime != null"> | 
|         AND `mmodel`.`INVALID_TIME` = #{mmodelInvalidTime} | 
|       </if> | 
|       <if test="mmodelType != null"> | 
|         AND `mmodel`.`TYPE` = #{mmodelType} | 
|       </if> | 
|       <if test="tmodelId != null"> | 
|         AND `tmodel`.`ID` = #{tmodelId} | 
|       </if> | 
|       <if test="tmodelDeleted != null"> | 
|         AND `tmodel`.`DELETED` = #{tmodelDeleted} | 
|       </if> | 
|       <if test="tmodelCreateUser != null"> | 
|         AND `tmodel`.`CREATE_USER` = #{tmodelCreateUser} | 
|       </if> | 
|       <if test="tmodelCreateTime != null"> | 
|         AND `tmodel`.`CREATE_TIME` = #{tmodelCreateTime} | 
|       </if> | 
|       <if test="tmodelUpdateUser != null"> | 
|         AND `tmodel`.`UPDATE_USER` = #{tmodelUpdateUser} | 
|       </if> | 
|       <if test="tmodelUpdateTime != null"> | 
|         AND `tmodel`.`UPDATE_TIME` = #{tmodelUpdateTime} | 
|       </if> | 
|       <if test="tmodelDictId != null"> | 
|         AND `tmodel`.`DICT_ID` = #{tmodelDictId} | 
|       </if> | 
|       <if test="tmodelCode != null and tmodelCode != ''"> | 
|         AND `tmodel`.`CODE` = #{tmodelCode} | 
|       </if> | 
|       <if test="tmodelLabel != null and tmodelLabel != ''"> | 
|         AND `tmodel`.`LABEL` = #{tmodelLabel} | 
|       </if> | 
|       <if test="tmodelSort != null"> | 
|         AND `tmodel`.`SORT` = #{tmodelSort} | 
|       </if> | 
|       <if test="tmodelDisabled != null"> | 
|         AND `tmodel`.`DISABLED` = #{tmodelDisabled} | 
|       </if> | 
|         <if test="departIds != null and departIds.size()>0"> | 
|           AND (`a`.`CREATE_USER`  = #{createUser} or  a.`MANAGER_ID` = #{createUser} or exists (select d.id from company_user d where   d.user_id =a.`MANAGER_ID`   and d.department_id | 
|           in <foreach collection="departIds" item="item" separator="," open="(" close=")">#{item}</foreach>) | 
|   | 
|           ) | 
|         </if> | 
|   | 
|       <if test="departIds != null and departIds.size()==0"> | 
|         AND ( a.`MANAGER_ID` = #{createUser} or  `a`.`CREATE_USER`  = #{createUser}) | 
|       </if> | 
|   | 
|   | 
|     </where> | 
|   | 
|     order  by convert(a.name using gbk)  asc | 
|   </select> | 
| </mapper> |