You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
5.2 KiB
72 lines
5.2 KiB
<?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.his.mapper.HisUserSupplierMapper">
|
|
|
|
|
|
<resultMap id="supplierVisitAddressMap" type="com.qs.serve.modules.his.entity.dto.HisUserSupplierAddressVo" >
|
|
<result property="supplierId" column="supplier_id"/>
|
|
<result property="addressId" column="address_id"/>
|
|
<result property="distance" column="distance"/>
|
|
</resultMap>
|
|
|
|
<select id="selectHisUserSupplierAddressList" parameterType="com.qs.serve.modules.his.entity.HisUserSupplier" resultMap="supplierVisitAddressMap">
|
|
SELECT DISTINCT
|
|
his_user_supplier.supplier_id,
|
|
bms_supplier_visit_address.id as address_id
|
|
<if test="query.localY!=null and query.localX!=null">
|
|
,st_distance_sphere (
|
|
POINT ( bms_supplier_visit_address.local_y, bms_supplier_visit_address.local_x ),
|
|
POINT ( #{query.localY}, #{query.localX} )) AS distance
|
|
</if>
|
|
FROM
|
|
`his_user_supplier` `his_user_supplier`
|
|
LEFT JOIN `bms_supplier_visit_address` `bms_supplier_visit_address`
|
|
ON `his_user_supplier`.`supplier_id` = bms_supplier_visit_address.`supplier_id`
|
|
and `bms_supplier_visit_address`.`del_flag` != 1
|
|
<where>
|
|
and `his_user_supplier`.`supplier_id` != 0
|
|
<if test="query.id != null"> and `his_user_supplier`.`id` = #{query.id}</if>
|
|
<if test="query.userId != null and query.userId != ''"> and `his_user_supplier`.`user_id` = #{query.userId}</if>
|
|
<if test="query.supplierId != null"> and `his_user_supplier`.`supplier_id` = #{query.supplierId}</if>
|
|
<if test="query.supplierName != null and query.supplierName != ''"> and `his_user_supplier`.`supplier_name` like concat('%',#{query.supplierName},'%') </if>
|
|
<if test="query.supplierCode != null and query.supplierCode != ''"> and `his_user_supplier`.`supplier_code` like concat('%',#{query.supplierCode},'%') </if>
|
|
<if test="query.type != null"> and `his_user_supplier`.`type` = #{query.type}</if>
|
|
<if test="query.regionId != null and query.regionId != ''"> and `his_user_supplier`.`region_id` = #{query.regionId}</if>
|
|
<if test="query.saleRegionFirst != null and query.saleRegionFirst != ''"> and `his_user_supplier`.`sale_region_first` = #{query.saleRegionFirst}</if>
|
|
<if test="query.saleRegionSecond != null and query.saleRegionSecond != ''"> and `his_user_supplier`.`sale_region_second` = #{query.saleRegionSecond}</if>
|
|
<if test="query.saleRegionThird != null and query.saleRegionThird != ''"> and `his_user_supplier`.`sale_region_third` = #{query.saleRegionThird}</if>
|
|
<if test="query.saleRegionFourthly != null and query.saleRegionFourthly != ''"> and `his_user_supplier`.`sale_region_fourthly` = #{query.saleRegionFourthly}</if>
|
|
<if test="query.masterFlag != null"> and `his_user_supplier`.`master_flag` = #{query.masterFlag}</if>
|
|
<if test="query.createTime != null"> and `his_user_supplier`.`create_time` = #{query.createTime}</if>
|
|
<if test="query.bizRegionFirst != null and query.bizRegionFirst != ''"> and `his_user_supplier`.`biz_region_first` = #{query.bizRegionFirst}</if>
|
|
<if test="query.bizRegionSecond != null and query.bizRegionSecond != ''"> and `his_user_supplier`.`biz_region_second` = #{query.bizRegionSecond}</if>
|
|
<if test="query.bizRegionThird != null and query.bizRegionThird != ''"> and `his_user_supplier`.`biz_region_third` = #{query.bizRegionThird}</if>
|
|
<if test="query.bizRegionFourthly != null and query.bizRegionFourthly != ''"> and `his_user_supplier`.`biz_region_fourthly` = #{query.bizRegionFourthly}</if>
|
|
<if test="query.tenantId != null and query.tenantId != ''"> and `his_user_supplier`.`tenant_id` = #{query.tenantId}</if>
|
|
<if test="query.costFlag != null"> and `his_user_supplier`.`cost_flag` = #{query.costFlag}</if>
|
|
<if test="query.queryAddress != null and query.queryAddress != ''"> and `bms_supplier_visit_address`.`address_detail` like concat('%',#{query.queryAddress},'%') </if>
|
|
<if test="query.queryValue != null and query.queryValue != ''">
|
|
and (`bms_supplier_visit_address`.`address_detail` like concat('%',#{query.queryValue},'%')
|
|
or `his_user_supplier`.`supplier_name` like concat('%',#{query.queryValue},'%')
|
|
or `his_user_supplier`.`supplier_code` like concat('%',#{query.queryValue},'%')
|
|
)
|
|
</if>
|
|
<if test="query.selectUserIds!=null and query.selectUserIds.size > 0">
|
|
and `his_user_supplier`.`user_id` in
|
|
<foreach collection="query.selectUserIds" item="selectId" index="i" open="(" close=")" separator=",">
|
|
#{selectId}
|
|
</foreach>
|
|
</if>
|
|
|
|
</where>
|
|
ORDER BY
|
|
<if test="query.localY!=null and query.localX!=null">
|
|
-distance desc,
|
|
</if>
|
|
his_user_supplier.supplier_id,
|
|
bms_supplier_visit_address.id
|
|
</select>
|
|
|
|
</mapper>
|
|
|