530 lines
25 KiB
XML
530 lines
25 KiB
XML
<?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.ruoyi.ibs.cmpm.mapper.GridCmpmMapper">
|
||
<select id="selectManageList" resultType="GridCmpm">
|
||
select *
|
||
from grid_cmpm_${gridType}
|
||
where user_name is not null
|
||
<if test="branchId != null">and branch_id = #{branchId}</if>
|
||
<if test="outletId != null">and outlet_id = #{outletId}</if>
|
||
<if test="curUserName != null and curUserName !='' ">and user_name = #{curUserName}</if>
|
||
<if test="custId != null and custId !='' ">and cust_id like concat('%',#{custId},'%') </if>
|
||
<if test="custName != null and custName !='' ">and cust_name like concat('%',#{custName},'%')</if>
|
||
<if test="userName != null and userName !='' ">and user_name like concat('%',#{userName},'%')</if>
|
||
<if test="custTypes != null and custTypes.size() > 0 ">
|
||
and cust_type in
|
||
<foreach item="custType" collection="custTypes" open="(" separator="," close=")">
|
||
#{custType}
|
||
</foreach>
|
||
</if>
|
||
<if test="custLevels != null and custLevels.size() > 0 ">
|
||
and cust_level in
|
||
<foreach item="custLevel" collection="custLevels" open="(" separator="," close=")">
|
||
#{custLevel}
|
||
</foreach>
|
||
</if>
|
||
order by cust_level desc, user_name
|
||
</select>
|
||
|
||
<select id="selectCommonList" resultType="GridCmpm">
|
||
select *
|
||
from grid_cmpm_${gridType} gc
|
||
where gc.user_name is null
|
||
and not exists (
|
||
select 1 from grid_cmpm_transfer
|
||
where transfer_status != '3' and transfer_status != '-1'
|
||
and cust_id = gc.cust_id
|
||
<if test="gridType == 'corporate_account'">
|
||
and account_no = gc.account_no
|
||
</if>
|
||
)
|
||
<if test="branchId != null">and (gc.branch_id = #{branchId} or gc.branch_id is null)</if>
|
||
<if test=" custId != null and custId !='' ">and gc.cust_id like concat('%',#{custId},'%') </if>
|
||
<if test="custName != null and custName !='' ">and gc.cust_name like concat('%',#{custName},'%')</if>
|
||
<if test="userName != null and userName !='' ">and gc.user_name like concat('%',#{userName},'%')</if>
|
||
<if test="custTypes != null and custTypes.size() > 0 ">
|
||
and gc.cust_type in
|
||
<foreach item="custType" collection="custTypes" open="(" separator="," close=")">
|
||
#{custType}
|
||
</foreach>
|
||
</if>
|
||
<if test="custLevels != null and custLevels.size() > 0 ">
|
||
and gc.cust_level in
|
||
<foreach item="custLevel" collection="custLevels" open="(" separator="," close=")">
|
||
#{custLevel}
|
||
</foreach>
|
||
</if>
|
||
order by gc.cust_level desc
|
||
</select>
|
||
|
||
<select id="getCustLevel" resultType="String">
|
||
select cust_level from grid_cmpm_${gridType}
|
||
<where>
|
||
<if test="custId != null and custId !='' ">and cust_id = #{custId}</if>
|
||
<if test="accountNo != null and accountNo !='' ">and account_no = #{accountNo}</if>
|
||
</where>
|
||
</select>
|
||
|
||
|
||
|
||
<select id="getGridCmpmByCustKey" resultType="GridCmpm">
|
||
select * from grid_cmpm_${gridType}_${deptCode}
|
||
where cust_id = #{custId}
|
||
<if test="userName != null and userName !='' ">and user_name = #{userName}</if>
|
||
<if test="userName == null"> and user_name is null</if>
|
||
<if test="gridType == 'corporate_account'">and account_no = #{accountNo}</if>
|
||
</select>
|
||
|
||
<select id="queryGridCmpmByCustKey" resultType="GridCmpm">
|
||
select * from grid_cmpm_${gridType}_${deptCode}
|
||
where cust_id in
|
||
<foreach item="custId" collection="custIds" open="(" separator="," close=")">
|
||
#{custId}
|
||
</foreach>
|
||
<if test="accountNos != null and accountNos.size() > 0'">
|
||
and account_no in
|
||
<foreach item="accountNo" collection="accountNos" open="(" separator="," close=")">
|
||
#{accountNo}
|
||
</foreach>
|
||
</if>
|
||
|
||
</select>
|
||
|
||
<select id="getGridCmpmByUserName" resultType="GridCmpm">
|
||
select * from grid_cmpm_${gridType}_${deptCode} gc
|
||
where gc.user_name = #{userName}
|
||
and not exists (
|
||
select 1 from grid_cmpm_transfer
|
||
where (transfer_status != '3' and transfer_status != '-1')
|
||
and cust_id = gc.cust_id
|
||
<if test="gridType == 'corporate_account'">
|
||
and account_no = gc.account_no
|
||
</if>
|
||
)
|
||
</select>
|
||
|
||
<update id="updateGridCmpm">
|
||
update grid_cmpm_${gridType}_${deptCode}
|
||
set user_name = #{userName},
|
||
nick_name = #{nickName},
|
||
outlet_id = #{outletId},
|
||
outlet_name = #{outletName},
|
||
branch_id = #{branchId},
|
||
branch_name = #{branchName},
|
||
source = '手动指定',
|
||
lock_flag = '1'
|
||
where cust_id = #{custId} and user_name = #{prevUserName}
|
||
<if test="gridType == 'corporate_account'">
|
||
and account_no = #{accountNo}
|
||
</if>
|
||
</update>
|
||
|
||
<select id="getAllCustLevel" resultType="String">
|
||
select distinct cust_level from grid_cmpm_${gridType} where cust_level is not null order by cust_level;
|
||
</select>
|
||
|
||
<select id="queryClaimList" resultType="GridCmpmClaimVO">
|
||
select gc.cust_name, gc.cust_type, gc.cust_id, gc.account_no, gc.user_name, gc.nick_name
|
||
from grid_cmpm_${gridType}_${deptCode} gc
|
||
where gc.user_name is not null
|
||
<if test="custKey != null and custKey !='' ">
|
||
and (gc.cust_id like concat('%',#{custKey},'%')
|
||
or gc.account_no like concat('%',#{custKey},'%')
|
||
or gc.cust_name like concat('%',#{custKey},'%'))
|
||
</if>
|
||
</select>
|
||
|
||
<select id="getCustManagerList" resultType="DwbRetailCustLevelManagerDetailVO">
|
||
select id, outlet_id, outlet_name, branch_id, branch_name, cust_name, cust_idc, cust_isn, cust_age, cust_sex, cust_phone, cust_address, cust_aum_bal,
|
||
aum_bal_comp_lm, cust_aum_month_avg, cust_level, cust_level_comp_lm, manager_name, manager_id
|
||
from dwb_retail_cust_level_manager_detail
|
||
<where>
|
||
<if test="managerId != null and managerId !='' ">and manager_id = #{managerId}</if>
|
||
<if test="outletId != null and outletId !='' ">and outlet_id = #{outletId}</if>
|
||
<if test="branchId != null and branchId !='' ">and branch_id = #{branchId}</if>
|
||
<if test="statusType != null and statusType !=''">
|
||
<choose>
|
||
<when test="statusType == 'current'">
|
||
<!-- 本月:本月是指定星级的客户 -->
|
||
and cust_level = #{custLevel}
|
||
</when>
|
||
<when test="statusType == 'last'">
|
||
<!-- 上月:上月是指定星级的客户 -->
|
||
and cust_level_lm = #{custLevel}
|
||
</when>
|
||
<when test="statusType == 'rise'">
|
||
<!-- 上升:上升到指定星级的客户(本月是指定星级,上月星级更低) -->
|
||
and cust_level = #{custLevel}
|
||
and cust_level_comp_lm like '上升%'
|
||
</when>
|
||
<when test="statusType == 'fall'">
|
||
<!-- 下降:从指定星级下降的客户(上月是指定星级,本月星级更低) -->
|
||
and cust_level_lm = #{custLevel}
|
||
and cust_level_comp_lm like '下降%'
|
||
</when>
|
||
</choose>
|
||
</if>
|
||
</where>
|
||
</select>
|
||
|
||
<select id="getCustLevelCount" resultType="Integer">
|
||
select count(1)
|
||
from dwb_retail_cust_level_manager_detail
|
||
<where>
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
<if test="managerId != null and managerId !='' ">and manager_id = #{managerId}</if>
|
||
<if test="outletId != null and outletId !='' ">and outlet_id = #{outletId}</if>
|
||
<if test="branchId != null and branchId !='' ">and branch_id = #{branchId}</if>
|
||
</where>
|
||
</select>
|
||
|
||
<select id="selectCustInfoFromGridCmpm" resultType="CustBaseInfo">
|
||
select a.* from
|
||
<if test="custPattern == 0">
|
||
cust_info_retail a
|
||
</if>
|
||
<if test="custPattern == 1">
|
||
cust_info_merchant a
|
||
</if>
|
||
<if test="custPattern == 2">
|
||
cust_info_business a
|
||
</if>
|
||
where a.cust_id in (
|
||
<if test="custPattern == 0">
|
||
select distinct cust_id from grid_cmpm_retail
|
||
where user_name = #{cmpmUserName}
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
</if>
|
||
<if test="custPattern == 1">
|
||
select distinct cust_id from grid_cmpm_corporate
|
||
where user_name = #{cmpmUserName} and cust_type = '1'
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
union all
|
||
select distinct cust_id from grid_cmpm_corporate_account
|
||
where user_name = #{cmpmUserName} and cust_type = '1'
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
</if>
|
||
<if test="custPattern == 2">
|
||
select distinct cust_id from grid_cmpm_corporate
|
||
where user_name = #{cmpmUserName} and cust_type = '2'
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
union all
|
||
select distinct cust_id from grid_cmpm_corporate_account
|
||
where user_name = #{cmpmUserName} and cust_type = '2'
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
</if>
|
||
|
||
)
|
||
<if test="custId != null and custId !='' ">and a.cust_id like concat('%',#{custId},'%') </if>
|
||
<if test="custName != null and custName !='' ">and a.cust_name like concat('%',#{custName},'%')</if>
|
||
<if test="regionTopGridIds != null and regionTopGridIds.size() > 0 ">
|
||
AND a.cust_id IN (
|
||
SELECT cust_id
|
||
FROM grid_region_cust_user grcu
|
||
<where>
|
||
<if test="regionTopGridIds != null and regionTopGridIds.size()>0">
|
||
<foreach collection="regionTopGridIds" item="param" separator="or">
|
||
grcu.top_grid_id = #{param.value}
|
||
</foreach>
|
||
</if>
|
||
)
|
||
</where>
|
||
</if>
|
||
<if test="regionSecGridIds != null and regionSecGridIds.size()>0">
|
||
AND a.cust_id IN (
|
||
SELECT cust_id
|
||
FROM grid_region_cust_user grcu
|
||
<where>
|
||
<foreach collection="regionSecGridIds" item="param" separator="or">
|
||
grcu.sec_grid_id = #{param.value}
|
||
</foreach>
|
||
</where>
|
||
)
|
||
</if>
|
||
<if test="virtualGridIds != null and virtualGridIds.size() > 0 ">
|
||
AND a.cust_id IN (
|
||
SELECT cust_id
|
||
FROM grid_virtual_cust_user gvcu
|
||
<where>
|
||
<foreach collection="virtualGridIds" item="param" separator="or">
|
||
gvcu.grid_id = #{param.value}
|
||
</foreach>
|
||
</where>
|
||
)
|
||
</if>
|
||
<if test="drawGridIds != null and drawGridIds.size() > 0 ">
|
||
AND a.cust_id IN (
|
||
SELECT dsc.cust_id
|
||
FROM grid_draw_user_relate gdur
|
||
INNER JOIN grid_draw_shape_relate gdsr ON gdur.grid_id = gdsr.grid_id
|
||
INNER JOIN draw_shape_cust dsc ON gdsr.shape_id = dsc.shape_id
|
||
<where>
|
||
<foreach collection="drawGridIds" item="param" separator="or">
|
||
gdur.grid_id = #{param.value}
|
||
</foreach>
|
||
</where>
|
||
)
|
||
</if>
|
||
<if test="continuousParams != null and continuousParams.size() > 0 or discreteParams != null and discreteParams.size() > 0">
|
||
<if test="continuousParams != null and continuousParams.size() > 0">
|
||
and
|
||
<foreach collection="continuousParams" item="param" separator="and">
|
||
<choose>
|
||
<when test="param.value[0] != null and param.value[0] != '' and param.value[1] != null and param.value[1] != ''">
|
||
CAST(${param.key} AS DECIMAL(10,2)) BETWEEN CAST(#{param.value[0]} AS DECIMAL(10,2)) AND CAST(#{param.value[1]} AS DECIMAL(10,2))
|
||
</when>
|
||
<when test="param.value[0] != null and param.value[0] != ''">
|
||
CAST(${param.key} AS DECIMAL(10,2)) >= CAST(#{param.value[0]} AS DECIMAL(10,2))
|
||
</when>
|
||
<when test="param.value[1] != null and param.value[1] != ''">
|
||
CAST(${param.key} AS DECIMAL(10,2)) <= CAST(#{param.value[1]} AS DECIMAL(10,2))
|
||
</when>
|
||
</choose>
|
||
</foreach>
|
||
</if>
|
||
<if test="discreteParams != null and discreteParams.size() > 0">
|
||
and
|
||
<foreach collection="discreteParams" item="param" separator="and">
|
||
${param.key} = #{param.value}
|
||
</foreach>
|
||
</if>
|
||
</if>
|
||
<if test="custTag != null and custTag != ''"> and
|
||
((CASE WHEN substr(#{custTag}, 1, 1) = '1' THEN substr(a.cust_tag, 1, 1) = '1' end)
|
||
OR (CASE WHEN substr(#{custTag}, 2, 1) = '1' THEN substr(a.cust_tag, 2, 1) = '1' end)
|
||
OR (CASE WHEN substr(#{custTag}, 3, 1) = '1' THEN substr(a.cust_tag, 3, 1) = '1' end))
|
||
</if>
|
||
<if test="custScale != null and custScale != ''">
|
||
and ( a.cust_scale = '5'
|
||
<if test="
|
||
custScale0 != null and custScale0 != ''">or a.cust_scale = #{custScale0}</if>
|
||
<if test="
|
||
custScale1 != null and custScale1 != ''">or a.cust_scale = #{custScale1}</if>
|
||
<if test="
|
||
custScale2 != null and custScale2 != ''">or a.cust_scale = #{custScale2}</if>
|
||
<if test="
|
||
custScale3 != null and custScale3 != ''">or a.cust_scale = #{custScale3}</if>
|
||
)
|
||
</if>
|
||
limit #{start},#{size}
|
||
</select>
|
||
|
||
<select id="queryCustInfoFromGridCmpm" resultType="CustBaseInfo">
|
||
select a.* from
|
||
<if test="custPattern == 0">
|
||
cust_info_retail a
|
||
</if>
|
||
<if test="custPattern == 1">
|
||
cust_info_merchant a
|
||
</if>
|
||
<if test="custPattern == 2">
|
||
cust_info_business a
|
||
</if>
|
||
where a.cust_id in (
|
||
<if test="custPattern == 0">
|
||
select distinct cust_id from grid_cmpm_retail
|
||
where user_name is not null
|
||
and cust_type = '0'
|
||
<if test="cmpmBranchId != null">and branch_id = #{cmpmBranchId}</if>
|
||
<if test="cmpmOutletId != null">and outlet_id = #{cmpmOutletId}</if>
|
||
<if test="cmpmUserName != null">and user_name = #{cmpmUserName}</if>
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
</if>
|
||
<if test="custPattern == 1">
|
||
select distinct cust_id from grid_cmpm_retail
|
||
where user_name is not null
|
||
and cust_type = '1'
|
||
<if test="cmpmBranchId != null">and branch_id = #{cmpmBranchId}</if>
|
||
<if test="cmpmOutletId != null">and outlet_id = #{cmpmOutletId}</if>
|
||
<if test="cmpmUserName != null">and user_name = #{cmpmUserName}</if>
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
</if>
|
||
<if test="custPattern == 2">
|
||
select distinct cust_id from grid_cmpm_corporate
|
||
where user_name is not null
|
||
<if test="cmpmBranchId != null">and branch_id = #{cmpmBranchId}</if>
|
||
<if test="cmpmOutletId != null">and outlet_id = #{cmpmOutletId}</if>
|
||
<if test="cmpmUserName != null">and user_name = #{cmpmUserName}</if>
|
||
<if test="custLevel != null and custLevel !='' ">and cust_level = #{custLevel}</if>
|
||
</if>
|
||
)
|
||
<if test="custId != null and custId !='' ">and a.cust_id like concat('%',#{custId},'%') </if>
|
||
<if test="custName != null and custName !='' ">and a.cust_name like concat('%',#{custName},'%')</if>
|
||
<if test="regionTopGridIds != null and regionTopGridIds.size() > 0 ">
|
||
AND a.cust_id IN (
|
||
SELECT cust_id
|
||
FROM grid_region_cust_user grcu
|
||
<where>
|
||
<if test="regionTopGridIds != null and regionTopGridIds.size()>0">
|
||
<foreach collection="regionTopGridIds" item="param" separator="or">
|
||
grcu.top_grid_id = #{param.value}
|
||
</foreach>
|
||
</if>
|
||
)
|
||
</where>
|
||
</if>
|
||
<if test="regionSecGridIds != null and regionSecGridIds.size()>0">
|
||
AND a.cust_id IN (
|
||
SELECT cust_id
|
||
FROM grid_region_cust_user grcu
|
||
<where>
|
||
<foreach collection="regionSecGridIds" item="param" separator="or">
|
||
grcu.sec_grid_id = #{param.value}
|
||
</foreach>
|
||
</where>
|
||
)
|
||
</if>
|
||
<if test="virtualGridIds != null and virtualGridIds.size() > 0 ">
|
||
AND a.cust_id IN (
|
||
SELECT cust_id
|
||
FROM grid_virtual_cust_user gvcu
|
||
<where>
|
||
<foreach collection="virtualGridIds" item="param" separator="or">
|
||
gvcu.grid_id = #{param.value}
|
||
</foreach>
|
||
</where>
|
||
)
|
||
</if>
|
||
<if test="drawGridIds != null and drawGridIds.size() > 0 ">
|
||
AND a.cust_id IN (
|
||
SELECT dsc.cust_id
|
||
FROM grid_draw_user_relate gdur
|
||
INNER JOIN grid_draw_shape_relate gdsr ON gdur.grid_id = gdsr.grid_id
|
||
INNER JOIN draw_shape_cust dsc ON gdsr.shape_id = dsc.shape_id
|
||
<where>
|
||
<foreach collection="drawGridIds" item="param" separator="or">
|
||
gdur.grid_id = #{param.value}
|
||
</foreach>
|
||
</where>
|
||
)
|
||
</if>
|
||
<if test="continuousParams != null and continuousParams.size() > 0 or discreteParams != null and discreteParams.size() > 0">
|
||
<if test="continuousParams != null and continuousParams.size() > 0">
|
||
and
|
||
<foreach collection="continuousParams" item="param" separator="and">
|
||
<choose>
|
||
<when test="param.value[0] != null and param.value[0] != '' and param.value[1] != null and param.value[1] != ''">
|
||
CAST(${param.key} AS DECIMAL(10,2)) BETWEEN CAST(#{param.value[0]} AS DECIMAL(10,2)) AND CAST(#{param.value[1]} AS DECIMAL(10,2))
|
||
</when>
|
||
<when test="param.value[0] != null and param.value[0] != ''">
|
||
CAST(${param.key} AS DECIMAL(10,2)) >= CAST(#{param.value[0]} AS DECIMAL(10,2))
|
||
</when>
|
||
<when test="param.value[1] != null and param.value[1] != ''">
|
||
CAST(${param.key} AS DECIMAL(10,2)) <= CAST(#{param.value[1]} AS DECIMAL(10,2))
|
||
</when>
|
||
</choose>
|
||
</foreach>
|
||
</if>
|
||
<if test="discreteParams != null and discreteParams.size() > 0">
|
||
and
|
||
<foreach collection="discreteParams" item="param" separator="and">
|
||
${param.key} = #{param.value}
|
||
</foreach>
|
||
</if>
|
||
</if>
|
||
<if test="custTag != null and custTag != ''"> and
|
||
((CASE WHEN substr(#{custTag}, 1, 1) = '1' THEN substr(a.cust_tag, 1, 1) = '1' end)
|
||
OR (CASE WHEN substr(#{custTag}, 2, 1) = '1' THEN substr(a.cust_tag, 2, 1) = '1' end)
|
||
OR (CASE WHEN substr(#{custTag}, 3, 1) = '1' THEN substr(a.cust_tag, 3, 1) = '1' end))
|
||
</if>
|
||
<if test="custScale != null and custScale != ''">
|
||
and ( a.cust_scale = '5'
|
||
<if test="
|
||
custScale0 != null and custScale0 != ''">or a.cust_scale = #{custScale0}</if>
|
||
<if test="
|
||
custScale1 != null and custScale1 != ''">or a.cust_scale = #{custScale1}</if>
|
||
<if test="
|
||
custScale2 != null and custScale2 != ''">or a.cust_scale = #{custScale2}</if>
|
||
<if test="
|
||
custScale3 != null and custScale3 != ''">or a.cust_scale = #{custScale3}</if>
|
||
)
|
||
</if>
|
||
limit #{start},#{size}
|
||
</select>
|
||
|
||
<select id="getCustManagerResult" resultType="DwbRetailResultVO">
|
||
select
|
||
sum(cust_aum_bal) as cust_aum_bal,
|
||
sum(aum_bal_comp_lm) as aum_bal_comp_lm,
|
||
sum(cust_aum_month_avg) as cust_aum_month_avg,
|
||
sum(cust_aum_month_avg_lm) as cust_aum_month_avg_lm
|
||
from dwb_retail_cust_level_manager_detail_875
|
||
<where>
|
||
<if test="managerId != null and managerId !='' ">and manager_id = #{managerId}</if>
|
||
<if test="outletId != null and outletId !='' ">and outlet_id = #{outletId}</if>
|
||
<if test="branchId != null and branchId !='' ">and branch_id = #{branchId}</if>
|
||
</where>
|
||
</select>
|
||
|
||
<select id="getCustLevelList" resultType="String">
|
||
select distinct
|
||
cust_level
|
||
from dwb_retail_cust_level_manager_detail_875
|
||
order by cust_level
|
||
</select>
|
||
|
||
<select id="getCustCountByLevel" resultType="int">
|
||
select count(1)
|
||
from dwb_retail_cust_level_manager_detail_875
|
||
<where>
|
||
<if test="dto.managerId != null and dto.managerId !='' ">and manager_id = #{dto.managerId}</if>
|
||
<if test="dto.outletId != null and dto.outletId !='' ">and outlet_id = #{dto.outletId}</if>
|
||
<if test="dto.branchId != null and dto.branchId !='' ">and branch_id = #{dto.branchId}</if>
|
||
<!-- 根据 time 参数动态判断字段 -->
|
||
<if test="time == 'now' and dto.custLevel != null and dto.custLevel != ''">
|
||
and cust_level = #{dto.custLevel}
|
||
</if>
|
||
<if test="time == 'last' and dto.custLevel != null and dto.custLevel != ''">
|
||
and cust_level_lm = #{dto.custLevel}
|
||
</if>
|
||
</where>
|
||
</select>
|
||
|
||
<select id="selectDeptListByRole" resultType="java.lang.String">
|
||
<choose>
|
||
<when test="role == 'outlet'">
|
||
select distinct outlet_id
|
||
from dwb_retail_cust_level_manager_detail_875
|
||
where outlet_id is not null
|
||
</when>
|
||
<when test="role == 'branch'">
|
||
select distinct branch_id
|
||
from dwb_retail_cust_level_manager_detail_875
|
||
where branch_id is not null
|
||
</when>
|
||
<otherwise>
|
||
<!-- 其他角色返回一个具体值,例如 'default_dept' -->
|
||
select 'head' as dept_id from dual
|
||
</otherwise>
|
||
</choose>
|
||
</select>
|
||
|
||
<select id="selectManagerList" resultType="java.lang.String">
|
||
select distinct manager_id
|
||
from dwb_retail_cust_level_manager_detail_875
|
||
where manager_id is not null
|
||
</select>
|
||
|
||
<!-- 根据网格类型和总行ID查询客户经理列表 -->
|
||
<select id="getManagerListByGridType" resultType="java.util.HashMap">
|
||
select distinct user_name as userName, nick_name as nickName
|
||
from grid_cmpm_${gridType}_${headId}
|
||
where user_name is not null
|
||
order by user_name
|
||
</select>
|
||
|
||
<!-- 根据网格类型、总行ID和客户经理查询客户列表(分表查询,适用于客群导入)-->
|
||
<select id="getCustomerListForImport" resultType="GridCmpmVO">
|
||
select cust_id, cust_name, cust_type, cust_idc, usci
|
||
from grid_cmpm_${gridType}_${headId}
|
||
where user_name = #{userName}
|
||
</select>
|
||
|
||
<!-- 根据网格类型、总行ID和客户经理流式查询客户列表(使用Cursor,适用于大数据量场景)-->
|
||
<select id="getCustomerListForImportCursor" resultType="GridCmpmVO" fetchSize="1000">
|
||
select cust_id, cust_name, cust_type, cust_idc, usci
|
||
from grid_cmpm_${gridType}_${headId}
|
||
where user_name = #{userName}
|
||
</select>
|
||
|
||
</mapper> |