<?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.qs.serve.modules.bms.mapper.BmsSupplierMapper" >
<resultMap id= "bmsSupplierMap" type= "com.qs.serve.modules.bms.entity.BmsSupplier" >
<result property= "id" column= "id" />
<result property= "regionFirst" column= "region_first" />
<result property= "regionSecond" column= "region_second" />
<result property= "regionThird" column= "region_third" />
<result property= "regionLast" column= "region_last" />
<result property= "region2First" column= "region2_first" />
<result property= "region2Second" column= "region2_second" />
<result property= "region2Third" column= "region2_third" />
<result property= "region2Last" column= "region2_last" />
<result property= "address" column= "address" />
<result property= "name" column= "name" />
<result property= "code" column= "code" />
<result property= "pid" column= "pid" />
<result property= "parentCode" column= "parent_code" />
<result property= "userId" column= "user_id" />
<result property= "userCode" column= "user_code" />
<result property= "userName" column= "user_name" />
<result property= "stopFlag" column= "stop_flag" />
<result property= "belong" column= "belong" />
<result property= "otherUserIds" column= "other_user_ids" typeHandler= "com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler" />
<result property= "otherUserNames" column= "other_user_names" />
<result property= "otherUserCodes" column= "other_user_codes" />
<result property= "createTime" column= "create_time" />
<result property= "createBy" column= "create_by" />
<result property= "updateTime" column= "update_time" />
<result property= "updateBy" column= "update_by" />
<result property= "tenantId" column= "tenant_id" />
<result property= "costFlag" column= "cost_flag" />
<result property= "delFlag" column= "del_flag" />
</resultMap>
<sql id= "bmsSupplierSql" >
bms_supplier.`id`,
bms_supplier.`region_first`,
bms_supplier.`region_second`,
bms_supplier.`region_third`,
bms_supplier.`region_last`,
bms_supplier.`region2_first`,
bms_supplier.`region2_second`,
bms_supplier.`region2_third`,
bms_supplier.`region2_last`,
bms_supplier.`address`,
bms_supplier.`name`,
bms_supplier.`code`,
bms_supplier.`pid`,
bms_supplier.`parent_code`,
bms_supplier.`user_id`,
bms_supplier.`user_code`,
bms_supplier.`user_name`,
bms_supplier.`other_user_ids`,
bms_supplier.`other_user_names`,
bms_supplier.`other_user_codes`,
bms_supplier.`stop_flag`,
bms_supplier.`belong`,
bms_supplier.`create_time`,
bms_supplier.`create_by`,
bms_supplier.`update_time`,
bms_supplier.`update_by`,
bms_supplier.`tenant_id`,
bms_supplier.`cost_flag`,
bms_supplier.`del_flag` </sql>
<select id= "selectSupplierList" parameterType= "com.qs.serve.modules.bms.entity.BmsSupplier" resultMap= "bmsSupplierMap" >
SELECT <include refid= "bmsSupplierSql" /> FROM `bms_supplier` `bms_supplier`
<if test= "query.currUserId!=null and query.currUserId != ''" >
LEFT JOIN `bms_supplier_user` ON `bms_supplier`.`id` = `bms_supplier_user`.`supplier_id`
</if>
<where >
<if test= "query.id != null" > and `bms_supplier`.`id` = #{query.id}</if>
<if test= "query.regionFirst != null" > and `bms_supplier`.`region_first` = #{query.regionFirst}</if>
<if test= "query.regionSecond != null" > and `bms_supplier`.`region_second` = #{query.regionSecond}</if>
<if test= "query.regionThird != null" > and `bms_supplier`.`region_third` = #{query.regionThird}</if>
<if test= "query.address != null and query.address != ''" > and `bms_supplier`.`address` = #{query.address}</if>
<if test= "query.name != null and query.name != ''" > and `bms_supplier`.`name` = #{query.name}</if>
<if test= "query.code != null and query.code != ''" > and `bms_supplier`.`code` = #{query.code}</if>
<if test= "query.pid != null" > and `bms_supplier`.`pid` = #{query.pid}</if>
<if test= "query.parentCode != null and query.parentCode != ''" > and `bms_supplier`.`parent_code` = #{query.parentCode}</if>
<if test= "query.stopFlag != null" > and `bms_supplier`.`stop_flag` = #{query.stopFlag}</if>
<if test= "query.belong != null" > and `bms_supplier`.`belong` = #{query.belong}</if>
<if test= "query.createTime != null" > and `bms_supplier`.`create_time` = #{query.createTime}</if>
<if test= "query.createBy != null and query.createBy != ''" > and `bms_supplier`.`create_by` = #{query.createBy}</if>
<if test= "query.updateTime != null" > and `bms_supplier`.`update_time` = #{query.updateTime}</if>
<if test= "query.updateBy != null and query.updateBy != ''" > and `bms_supplier`.`update_by` = #{query.updateBy}</if>
<if test= "query.tenantId != null and query.tenantId != ''" > and `bms_supplier`.`tenant_id` = #{query.tenantId}</if>
<if test= "query.delFlag != null" > and `bms_supplier`.`del_flag` = #{query.delFlag}</if>
<if test= "query.delFlag == null" > and `bms_supplier`.`del_flag` = '0'</if>
<if test= "query.currUserId!=null and query.currUserId != ''" >
and (`bms_supplier`.`user_id` = #{query.currUserId} or FIND_IN_SET(#{query.currUserId},`bms_supplier`.`other_user_ids`) )
</if>
<if test= "query.searchUserName!=null and query.searchUserName != ''" >
and (`bms_supplier`.`user_name` LIKE CONCAT('%',#{query.searchUserName},'%') or `bms_supplier`.`other_user_names` LIKE CONCAT('%',#{query.searchUserName},'%') )
</if>
<if test= "query.searchUserCode!=null and query.searchUserCode != ''" >
and (`bms_supplier`.`user_code` LIKE CONCAT('%',#{query.searchUserCode},'%') or `bms_supplier`.`other_user_codes` LIKE CONCAT('%',#{query.searchUserCode},'%') )
</if>
<if test= "query.regionIds!=null and query.regionIds.size > 0" >
and bms_supplier.region_last in
<foreach collection= "query.regionIds" item = "selectId" index= "i" open= "(" close= ")" separator= "," >
#{selectId}
</foreach>
</if>
</where>
</select>
</mapper>