<?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.CategoryExtMapper"> 
 | 
  
 | 
  <!-- 管理页面查询 --> 
 | 
  <resultMap id="CategoryExtListVO" type="doumeemes.dao.ext.vo.CategoryExtListVO" autoMapping="true"> 
 | 
    <id column="ID" jdbcType="INTEGER" property="id"/> 
 | 
    <association property="pmodel" javaType="doumeemes.dao.business.model.Category"> 
 | 
      <id column="PMODEL_ID" jdbcType="INTEGER" property="id"/> 
 | 
      <result column="PMODEL_DELETED" jdbcType="TINYINT" property="deleted"/> 
 | 
      <result column="PMODEL_CREATE_USER" jdbcType="INTEGER" property="createUser"/> 
 | 
      <result column="PMODEL_CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/> 
 | 
      <result column="PMODEL_UPDATE_USER" jdbcType="INTEGER" property="updateUser"/> 
 | 
      <result column="PMODEL_UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/> 
 | 
      <result column="PMODEL_REMARK" jdbcType="VARCHAR" property="remark"/> 
 | 
      <result column="PMODEL_ROOT_DEPART_ID" jdbcType="INTEGER" property="rootDepartId"/> 
 | 
      <result column="PMODEL_TYPE" jdbcType="VARCHAR" property="type"/> 
 | 
      <result column="PMODEL_CODE" jdbcType="TINYINT" property="code"/> 
 | 
      <result column="PMODEL_NAME" jdbcType="TINYINT" property="name"/> 
 | 
      <result column="PMODEL_PARENT_ID" jdbcType="INTEGER" property="parentId"/> 
 | 
      <result column="PMODEL_CATE_TYPE" jdbcType="CHAR" property="cateType"/> 
 | 
    </association> 
 | 
  </resultMap> 
 | 
  <select id="selectList" parameterType="doumeemes.dao.ext.dto.QueryCategoryExtDTO" resultMap="CategoryExtListVO"> 
 | 
    SELECT 
 | 
      `a`.*, 
 | 
      `pmodel`.`ID` AS PMODEL_ID, 
 | 
      `pmodel`.`DELETED` AS PMODEL_DELETED, 
 | 
      `pmodel`.`CREATE_USER` AS PMODEL_CREATE_USER, 
 | 
      `pmodel`.`CREATE_TIME` AS PMODEL_CREATE_TIME, 
 | 
      `pmodel`.`UPDATE_USER` AS PMODEL_UPDATE_USER, 
 | 
      `pmodel`.`UPDATE_TIME` AS PMODEL_UPDATE_TIME, 
 | 
      `pmodel`.`REMARK` AS PMODEL_REMARK, 
 | 
      `pmodel`.`ROOT_DEPART_ID` AS PMODEL_ROOT_DEPART_ID, 
 | 
      `pmodel`.`TYPE` AS PMODEL_TYPE, 
 | 
      `pmodel`.`CODE` AS PMODEL_CODE, 
 | 
      `pmodel`.`NAME` AS PMODEL_NAME, 
 | 
      `pmodel`.`PARENT_ID` AS PMODEL_PARENT_ID, 
 | 
      `pmodel`.`CATE_TYPE` AS PMODEL_CATE_TYPE, 
 | 
       d.company_id as companyId 
 | 
    FROM `category` `a` 
 | 
    LEFT JOIN `category` `pmodel` ON a.PARENT_ID=pmodel.ID 
 | 
    LEFT JOIN `department` `d` ON a.ROOT_DEPART_ID=d.ID 
 | 
    <where> 
 | 
      <if test="id != null"> 
 | 
        AND `a`.`ID` = #{id} 
 | 
      </if> 
 | 
      <if test="deleted != null"> 
 | 
        AND `a`.`DELETED` = #{deleted} 
 | 
      </if> 
 | 
      <if test="createUser != null"> 
 | 
        AND `a`.`CREATE_USER` = #{createUser} 
 | 
      </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="type != null and type != ''"> 
 | 
        AND `a`.`TYPE` = #{type} 
 | 
      </if> 
 | 
      <if test="code != null and code!=''"> 
 | 
        AND `a`.`CODE` = #{code} 
 | 
      </if> 
 | 
      <if test="name != null and name!=''"> 
 | 
        AND `a`.`NAME` like concat('%',#{name},'%') 
 | 
      </if> 
 | 
      <if test="parentId != null"> 
 | 
        AND `a`.`PARENT_ID` = #{parentId} 
 | 
      </if> 
 | 
      <if test="cateType != null and cateType != ''"> 
 | 
        AND `a`.`CATE_TYPE` = #{cateType} 
 | 
      </if> 
 | 
      <if test="pmodelId != null"> 
 | 
        AND `pmodel`.`ID` = #{pmodelId} 
 | 
      </if> 
 | 
      <if test="pmodelDeleted != null"> 
 | 
        AND `pmodel`.`DELETED` = #{pmodelDeleted} 
 | 
      </if> 
 | 
      <if test="pmodelCreateUser != null"> 
 | 
        AND `pmodel`.`CREATE_USER` = #{pmodelCreateUser} 
 | 
      </if> 
 | 
      <if test="pmodelCreateTime != null"> 
 | 
        AND `pmodel`.`CREATE_TIME` = #{pmodelCreateTime} 
 | 
      </if> 
 | 
      <if test="pmodelUpdateUser != null"> 
 | 
        AND `pmodel`.`UPDATE_USER` = #{pmodelUpdateUser} 
 | 
      </if> 
 | 
      <if test="pmodelUpdateTime != null"> 
 | 
        AND `pmodel`.`UPDATE_TIME` = #{pmodelUpdateTime} 
 | 
      </if> 
 | 
      <if test="pmodelRemark != null and pmodelRemark != ''"> 
 | 
        AND `pmodel`.`REMARK` = #{pmodelRemark} 
 | 
      </if> 
 | 
      <if test="pmodelRootDepartId != null"> 
 | 
        AND `pmodel`.`ROOT_DEPART_ID` = #{pmodelRootDepartId} 
 | 
      </if> 
 | 
      <if test="pmodelType != null and pmodelType != ''"> 
 | 
        AND `pmodel`.`TYPE` = #{pmodelType} 
 | 
      </if> 
 | 
      <if test="pmodelCode != null"> 
 | 
        AND `pmodel`.`CODE` = #{pmodelCode} 
 | 
      </if> 
 | 
      <if test="pmodelName != null"> 
 | 
        AND `pmodel`.`NAME` = #{pmodelName} 
 | 
      </if> 
 | 
      <if test="pmodelParentId != null"> 
 | 
        AND `pmodel`.`PARENT_ID` = #{pmodelParentId} 
 | 
      </if> 
 | 
      <if test="pmodelCateType != null and pmodelCateType != ''"> 
 | 
        AND `pmodel`.`CATE_TYPE` = #{pmodelCateType} 
 | 
      </if> 
 | 
    </where> 
 | 
    order by a.id desc 
 | 
  </select> 
 | 
</mapper> 
 |