840 lines
31 KiB
XML
840 lines
31 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.hzs.retail.member.mapper.CuMemberRetailRangeMapper">
|
|
<select id="selectDirectPushByPkMember" resultType="long">
|
|
SELECT m.pk_id
|
|
from cu_member m
|
|
WHERE m.del_flag = 0
|
|
AND m.category = 0
|
|
AND m.system_type = #{systemType}
|
|
AND m.pk_parent = #{pkMember}
|
|
</select>
|
|
|
|
<select id="selectBigAreaByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
select * from (
|
|
<include refid="selectSmallAreaAchieve"/>
|
|
ORDER BY arealPv desc
|
|
) t2
|
|
where rownum =1
|
|
</select>
|
|
|
|
<sql id="selectSmallAreaAchieve">
|
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
|
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
|
FROM (
|
|
<if test="isFirst != null and isFirst == 0">
|
|
SELECT NVL(mr.MONTH_CONSUME_PV + mr.TEAM_MONTH_PV,0) arealPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
UNION ALL
|
|
</if>
|
|
SELECT NVL(SUM(so.order_achieve), 0) arealPv
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.order_type in (41, 42, 43, 44)
|
|
AND so.system_type = #{systemType}
|
|
AND so.pay_time >= TRUNC(SYSDATE)
|
|
AND so.pk_member IN (
|
|
SELECT t0.pk_id
|
|
FROM (SELECT m.pk_id,
|
|
m.del_flag,
|
|
m.category,
|
|
m.pay_status,
|
|
m.system_type
|
|
FROM cu_member m
|
|
START WITH m.pk_id = #{pkMember}
|
|
CONNECT BY PRIOR m.pk_id = m.pk_parent) t0
|
|
WHERE t0.del_flag = 0
|
|
AND t0.system_type = #{systemType}
|
|
AND t0.category = 0)) t1
|
|
</foreach>
|
|
</sql>
|
|
|
|
<sql id="selectMemberDirectPushBox">
|
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
|
SELECT SUM(t1.smallAreaBox) smallAreaBox
|
|
FROM (
|
|
SELECT NVL(mr.team_box_num + mr.consume_box_num-mr.big_box_num-mr.small_box_num, 0) smallAreaBox
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
union all
|
|
select NVL(rs.new_box_num + rs.team_new_box_num ,0) smallAreaBox
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member = #{pkMember}
|
|
) t1
|
|
</foreach>
|
|
</sql>
|
|
|
|
|
|
<select id="selectMemberBoxNoWaterInjection" resultType="integer">
|
|
SELECT nvl(max(smallAreaBox), 0) smallareabox
|
|
from
|
|
(
|
|
<if test="pkMemberList != null and pkMemberList.size > 0">
|
|
<include refid="selectMemberDirectPushBox"/>
|
|
union all
|
|
</if>
|
|
SELECT nvl(sum(smallAreaBox), 0) smallAreaBox
|
|
FROM (SELECT NVL(mr.consume_box_num, 0) smallAreaBox
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
union all
|
|
select rs.new_box_num smallAreaBox
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member = #{pkMember})
|
|
)
|
|
</select>
|
|
|
|
|
|
<select id="selectMemberBoxWaterInjection" resultType="integer">
|
|
SELECT NVL(mr.big_box_num, 0) smallAreaBox
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
</select>
|
|
|
|
<select id="selectMemberTotalBox" resultType="integer">
|
|
SELECT nvl(sum(totalAreaBox), 0) totalAreaBox
|
|
FROM (SELECT NVL(mr.team_box_num + mr.consume_box_num, 0) totalAreaBox
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
union all
|
|
select NVL(rs.new_box_num + rs.team_new_box_num, 0) totalAreaBox
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member = #{pkMember})
|
|
</select>
|
|
|
|
<select id="selectMemberOrderByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT t0.payTime
|
|
FROM (SELECT so.pay_time payTime
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.order_type = 40
|
|
AND so.pay_time >= TRUNC(SYSDATE)
|
|
AND so.pk_member = #{pkMember}
|
|
ORDER BY so.pay_time) t0
|
|
WHERE ROWNUM = 1
|
|
</select>
|
|
|
|
|
|
<select id="selectMemberParentByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
|
SELECT SUM(t1.arealPv) arealPv , SUM(t1.welfarelPv) welfarelPv,#{pkMember} pkMember
|
|
FROM (
|
|
SELECT NVL(SUM(so.order_achieve) + SUM(so.order_ass_achieve), 0) arealPv,
|
|
NVL(SUM(so.order_achieve) + SUM(so.order_ass_achieve), 0) welfarelPv
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.order_type =40
|
|
AND so.pay_time >= #{payTime}
|
|
AND so.pk_member IN (
|
|
SELECT t0.pk_id
|
|
FROM (SELECT m.pk_id,
|
|
m.del_flag,
|
|
m.category,
|
|
m.pay_status,
|
|
m.system_type
|
|
FROM cu_member m
|
|
START WITH m.pk_id = #{pkMember}
|
|
CONNECT BY PRIOR m.pk_id = m.pk_parent) t0
|
|
WHERE t0.del_flag = 0
|
|
AND t0.category = 0)
|
|
) t1
|
|
</foreach>
|
|
</select>
|
|
|
|
<select id="selectTableNameIsExist" resultType="string">
|
|
SELECT table_name FROM user_tables WHERE table_name in
|
|
<foreach item="table" collection="tableNames" open="(" separator="," close=")">
|
|
#{table}
|
|
</foreach>
|
|
</select>
|
|
|
|
|
|
<select id="selectMemberAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
<include refid="selectSmallAreaAchieve"/>
|
|
</select>
|
|
|
|
<select id="selectMemberAchieveDetail_bak" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT mr.member_code memberCode,
|
|
mr.member_name memberName,
|
|
mr.new_consume_pv + mr.team_new_pv yesterdayPv,
|
|
mr.consume_pv + mr.team_consume_pv sumPv,
|
|
mr.month_consume_pv + mr.team_month_pv monthPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pay_status = 1
|
|
AND mr.pk_member = #{pkMember}
|
|
<if test="pkMemberList != null and pkMemberList.size > 0">
|
|
union all
|
|
SELECT mr.member_code memberCode,
|
|
mr.member_name memberName,
|
|
mr.new_consume_pv + mr.team_new_pv yesterdayPv,
|
|
mr.consume_pv + mr.team_consume_pv sumPv,
|
|
mr.month_consume_pv + mr.team_month_pv monthPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pay_status = 1
|
|
<if test="memberName != null and memberName != ''">
|
|
and (mr.member_code like #{memberName} || '%' or mr.member_name like #{memberName} || '%')
|
|
</if>
|
|
AND mr.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
ORDER BY sumPv desc
|
|
</if>
|
|
</select>
|
|
|
|
|
|
<select id="selectMemberAchieveDetail" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT cm.member_code memberCode, cm.member_name memberName,cm.nick_name nickName, t2.yesterdayPv, t2.sumPv,
|
|
t2.monthPv,t2.realTimePv, t2.upMonthPv,bg.grade_name grade, ba.awards_name award
|
|
FROM (
|
|
SELECT pkMember,
|
|
NVL(sum(t9.yesterdaypv), 0) yesterdayPv,
|
|
NVL(sum(t9.sumPv), 0) sumPv,
|
|
NVL(sum(t9.monthPv), 0) monthPv,
|
|
NVL(sum(t9.realTimePv), 0) realTimePv,
|
|
NVL(sum(t9.upMonthPv), 0) upMonthPv
|
|
FROM (
|
|
<include refid="selectPushAchieveList"/>
|
|
<if test="pkMemberList != null and pkMemberList.size > 0">
|
|
union all
|
|
<include refid="selectUpMonthAchieveList"/>
|
|
</if>
|
|
) t9
|
|
group by pkMember
|
|
) t2
|
|
left join cu_member cm
|
|
on cm.pk_id = t2.pkmember
|
|
left join bd_grade bg
|
|
on cm.pk_settle_grade = bg.pk_id
|
|
left join bd_awards ba
|
|
on cm.pk_awards = ba.pk_id
|
|
where cm.del_flag =0
|
|
<if test="memberName != null and memberName != ''">
|
|
and (cm.member_code like #{memberName} || '%' or cm.member_name like #{memberName} || '%')
|
|
</if>
|
|
ORDER BY t2.monthPv desc
|
|
</select>
|
|
|
|
|
|
<select id="selectMemberBigAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT cm.member_code, cm.member_name,cm.nick_name, t3.yesterdayPv, t3.sumPv, t3.monthPv,t3.realTimePv,cm.pk_id
|
|
pkBigMember,bg.grade_name grade, ba.awards_name award
|
|
FROM (SELECT *
|
|
FROM (
|
|
<include refid="selectPushAchieveList"/>
|
|
ORDER BY monthPv desc) t2
|
|
where rownum = 1) t3
|
|
left join cu_member cm
|
|
on cm.pk_id = t3.pkmember
|
|
left join bd_grade bg
|
|
on cm.pk_settle_grade = bg.pk_id
|
|
left join bd_awards ba
|
|
on cm.pk_awards = ba.pk_id
|
|
</select>
|
|
|
|
<!--查询上月业绩-->
|
|
<sql id="selectUpMonthAchieveList">
|
|
SELECT mr.pk_member,
|
|
0 yesterdayPv,
|
|
0 sumPv,
|
|
0 monthPv,
|
|
0 realTimePv,
|
|
mr.month_consume_pv + mr.team_month_pv upMonthPv
|
|
FROM ${retailUpMonthTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pay_status = 1
|
|
AND mr.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
</sql>
|
|
|
|
|
|
<select id="selectMemberOrderAchieveByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT sum(arealPv) arealPv
|
|
FROM (
|
|
<if test="isFirst == 0">
|
|
SELECT NVL(mr.MONTH_CONSUME_PV, 0) arealPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
union all
|
|
</if>
|
|
SELECT NVL(SUM(so.order_achieve), 0) arealPv
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.order_type in (41, 42, 43, 44)
|
|
AND so.system_type = #{systemType}
|
|
AND so.pay_time >= TRUNC(SYSDATE)
|
|
AND so.pk_member = #{pkMember})
|
|
</select>
|
|
|
|
|
|
<sql id="selectPushAchieveList">
|
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
|
SELECT pkMember,
|
|
NVL(sum(t1.yesterdaypv), 0) yesterdayPv,
|
|
NVL(sum(t1.sumPv), 0) sumPv,
|
|
NVL(sum(t1.monthPv), 0) monthPv,
|
|
NVL(sum(t1.realTimePv), 0) realTimePv,
|
|
0 upMonthPv
|
|
FROM (
|
|
<if test="isFirst != null and isFirst == 0">
|
|
SELECT mr.pk_member pkMember,
|
|
mr.new_consume_pv + mr.team_new_pv yesterdayPv,
|
|
mr.consume_pv + mr.team_consume_pv sumPv,
|
|
mr.month_consume_pv + mr.team_month_pv monthPv,
|
|
0 realTimePv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
UNION ALL
|
|
</if>
|
|
SELECT #{pkMember} pkMember,
|
|
0 yesterdayPv,
|
|
NVL(SUM(so.order_achieve), 0) sumPv,
|
|
NVL(SUM(so.order_achieve), 0) monthPv,
|
|
NVL(SUM(so.order_achieve), 0) realTimePv
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.system_type = #{systemType}
|
|
AND so.order_type in (41, 42, 43, 44)
|
|
AND so.pay_time >= TRUNC(SYSDATE)
|
|
AND so.pk_member IN (SELECT t0.pk_id
|
|
FROM (SELECT m.pk_id,
|
|
m.del_flag,
|
|
m.category,
|
|
m.pay_status,
|
|
m.system_type
|
|
FROM cu_member m
|
|
START WITH m.pk_id = #{pkMember}
|
|
CONNECT BY PRIOR m.pk_id = m.pk_parent) t0
|
|
WHERE t0.del_flag = 0
|
|
AND t0.system_type = #{systemType}
|
|
AND t0.category = 0)) t1
|
|
group by pkMember
|
|
</foreach>
|
|
</sql>
|
|
|
|
|
|
<select id="selectUpMonthAchieveByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT mr.month_consume_pv + mr.team_month_pv upMonthPv
|
|
FROM ${retailUpMonthTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pay_status = 1
|
|
AND mr.pk_member = #{pkMember}
|
|
</select>
|
|
|
|
|
|
<select id="selectExcludeWaterSmallAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT nvl(sum(arealPv),0) arealPv, nvl(sum(smallAreaPv),0) smallAreaPv
|
|
FROM (
|
|
SELECT sum(arealPv) arealPv, sum(arealPv) - max(arealPv) smallAreaPv
|
|
from
|
|
(
|
|
<include refid="selectSmallAreaAchieve"/>
|
|
)
|
|
union all
|
|
SELECT t5.total_team_pv * -1 arealPv,
|
|
t5.small_area_pv * -1 smallAreaPv
|
|
FROM (SELECT sr.total_team_pv, sr.small_area_pv, sr.period_date
|
|
FROM cu_member_spe_retail sr
|
|
where sr.del_flag = 0
|
|
and sr.pk_country = 1
|
|
and sr.period_date < TRUNC(SYSDATE)
|
|
and sr.member_code = #{memberCode}
|
|
ORDER BY sr.period_date desc) t5
|
|
where rownum = 1) t6
|
|
|
|
</select>
|
|
|
|
|
|
<!--市场动态新需求-->
|
|
<sql id="selectSelfOrderAchieveByPkMember">
|
|
SELECT #{pkMember} pkMember,
|
|
sum(yesterdayPv) yesterdayPv,
|
|
sum(sumPv) sumPv,
|
|
sum(monthPv) monthPv,
|
|
0 realTimePv,
|
|
0 upMonthPv
|
|
FROM (SELECT NVL(mr.new_consume_pv, 0) yesterdayPv,
|
|
NVL(mr.CONSUME_PV, 0) sumPv,
|
|
NVL(mr.month_consume_pv, 0) monthPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
union all
|
|
SELECT 0 yesterdayPv,
|
|
NVL(SUM(so.order_achieve), 0) sumPv,
|
|
NVL(SUM(so.order_achieve), 0) monthPv
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.order_type in (41, 42, 43, 44)
|
|
AND so.system_type = #{systemType}
|
|
AND so.pay_time >= TRUNC(SYSDATE)
|
|
AND so.pk_member = #{pkMember})
|
|
</sql>
|
|
|
|
|
|
<select id="selectMemberBigSmallAchieveDetail" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT nvl(sum(yesterdayPv),0) totalYesterdayPv, nvl(sum(yesterdayPv),0) - nvl(max(yesterdayPv),0)
|
|
smallYesterdayPv,
|
|
nvl(sum(sumPv),0) totalSumPv, nvl(sum(sumPv),0) - nvl(max(sumPv),0) smallSumPv,
|
|
nvl(sum(monthPv),0) totalMonthPv, nvl(sum(monthPv),0) - nvl(max(monthPv),0) smallMonthPv
|
|
from
|
|
(
|
|
<include refid="selectPushAchieveList"/>
|
|
<if test="pkMemberList != null and pkMemberList.size > 0">
|
|
union all
|
|
</if>
|
|
<include refid="selectSelfOrderAchieveByPkMember"/>
|
|
)
|
|
</select>
|
|
|
|
|
|
<select id="selectWaterInjection" resultType="integer">
|
|
SELECT count(1)
|
|
FROM (SELECT sr.team_box_num, sr.small_box_num, sr.period_date
|
|
FROM cu_member_spe_retail sr
|
|
where sr.del_flag = 0
|
|
and sr.pk_country = 1
|
|
and sr.period_date < TRUNC(SYSDATE)
|
|
and sr.member_code = #{memberCode}
|
|
ORDER BY sr.period_date desc) t0
|
|
where rownum = 1
|
|
</select>
|
|
|
|
|
|
<select id="selectMemberActiveState" resultType="integer">
|
|
SELECT min(t0.enable_status) enable_status
|
|
FROM (SELECT mr.enable_status
|
|
FROM ${memberRetailTable} mr
|
|
where mr.pk_member = #{pkMember}
|
|
union all
|
|
SELECT mrs.enable_status
|
|
FROM ${memberRetailSTable} mrs
|
|
where mrs.pk_member = #{pkMember}) t0
|
|
</select>
|
|
|
|
<!--开始大小区业绩 以累计为准 -->
|
|
<select id="selectMemberOrderSumAchieveByPkMember" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT sum(arealPv) arealPv
|
|
FROM (SELECT NVL(mr.CONSUME_PV, 0) arealPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
union all
|
|
SELECT NVL(SUM(so.order_achieve), 0) arealPv
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.order_type in (41, 42, 43, 44)
|
|
AND so.system_type = #{systemType}
|
|
AND so.pay_time >= TRUNC(SYSDATE)
|
|
AND so.pk_member = #{pkMember})
|
|
</select>
|
|
|
|
|
|
<sql id="selectSmallAreaSumAchieveBak">
|
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
|
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
|
FROM (
|
|
SELECT NVL(mr.CONSUME_PV + mr.TEAM_CONSUME_PV,0) arealPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
UNION ALL
|
|
SELECT NVL(SUM(so.order_achieve), 0) arealPv
|
|
FROM sa_order so
|
|
WHERE so.del_flag = 0
|
|
AND so.order_status = 1
|
|
AND so.order_type in (41, 42, 43, 44)
|
|
AND so.system_type = #{systemType}
|
|
AND so.pay_time >= TRUNC(SYSDATE)
|
|
AND so.pk_member IN (
|
|
SELECT t0.pk_id
|
|
FROM (SELECT m.pk_id,
|
|
m.del_flag,
|
|
m.category,
|
|
m.pay_status,
|
|
m.system_type
|
|
FROM cu_member m
|
|
START WITH m.pk_id = #{pkMember}
|
|
CONNECT BY PRIOR m.pk_id = m.pk_parent) t0
|
|
WHERE t0.del_flag = 0
|
|
AND t0.system_type = #{systemType}
|
|
AND t0.category = 0)) t1
|
|
</foreach>
|
|
</sql>
|
|
<sql id="selectSmallAreaSumAchieve">
|
|
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
|
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
|
FROM (
|
|
SELECT NVL(mr.CONSUME_PV + mr.TEAM_CONSUME_PV,0) arealPv
|
|
FROM ${memberRetailTable} mr
|
|
WHERE mr.category = 0
|
|
AND mr.pk_member = #{pkMember}
|
|
UNION ALL
|
|
SELECT
|
|
NVL( mrs.NEW_CONSUME_PV + mrs.TEAM_NEW_PV, 0 ) arealPv
|
|
FROM
|
|
${memberRetailSTable} mrs
|
|
WHERE mrs.pk_member = #{pkMember}
|
|
) t1
|
|
</foreach>
|
|
</sql>
|
|
|
|
|
|
<select id="selectMemberSumAchieve" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
<include refid="selectSmallAreaSumAchieve"/>
|
|
</select>
|
|
|
|
<!--结束 大小区业绩 以累计为准 -->
|
|
|
|
|
|
<!--市场动态盒数 开始-->
|
|
<select id="selectMemberBigSmallBox" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT nvl(sum(bigAreaBox), 0) bigAreaBox, nvl(sum(smallAreaBox), 0) smallAreaBox
|
|
FROM (
|
|
<include refid="selectBigAreaBoxByMember"/>
|
|
<if test="pkMemberList != null and pkMemberList.size > 0">
|
|
union all
|
|
<include refid="selectSmallAreaBoxByMember"/>
|
|
</if>
|
|
)
|
|
</select>
|
|
|
|
|
|
<select id="selectSelfNewBox" resultType="integer">
|
|
SELECT nvl(sum(box), 0) box
|
|
FROM (
|
|
<if test="isFirst != null and isFirst == 0">
|
|
SELECT ab.sum_box box
|
|
FROM ${memberRetailTable} ab
|
|
where ab.pk_member = #{pkMember}
|
|
union all
|
|
SELECT ab.sum_box * -1 box
|
|
FROM ${retailUpMonthTable} ab
|
|
where ab.pk_member = #{pkMember}
|
|
union all
|
|
</if>
|
|
select NVL(rs.new_box_num ,0) box
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member = #{pkMember}) t0
|
|
</select>
|
|
|
|
<!--查询大市场的盒数-->
|
|
<sql id="selectBigAreaBoxByMember">
|
|
SELECT nvl(sum(box), 0) bigAreaBox, 0 smallAreaBox
|
|
FROM (
|
|
<if test="isFirst != null and isFirst == 0">
|
|
SELECT ab.team_sum_box + ab.sum_box box
|
|
FROM ${memberRetailTable} ab
|
|
where ab.pk_member = #{pkBigMember}
|
|
union all
|
|
SELECT ab.team_sum_box * -1 + ab.sum_box * -1 box
|
|
FROM ${retailUpMonthTable} ab
|
|
where ab.pk_member = #{pkBigMember}
|
|
union all
|
|
</if>
|
|
select NVL(rs.new_box_num + rs.team_new_box_num, 0) box
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member = #{pkBigMember}) t0
|
|
</sql>
|
|
<!--查询小市场的盒数-->
|
|
<sql id="selectSmallAreaBoxByMember">
|
|
SELECT 0 bigAreaBox, nvl(sum(box), 0) smallAreaBox
|
|
FROM (
|
|
<if test="isFirst != null and isFirst == 0">
|
|
SELECT ab.team_sum_box + ab.sum_box box, ab.pk_member
|
|
FROM ${memberRetailTable} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
union all
|
|
SELECT ab.team_sum_box * -1 + ab.sum_box * -1 box, ab.pk_member
|
|
FROM ${retailUpMonthTable} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
union all
|
|
</if>
|
|
select NVL(rs.new_box_num + rs.team_new_box_num, 0) box,
|
|
rs.pk_member
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
) t0
|
|
</sql>
|
|
|
|
<!--查询今天、昨天的业绩-->
|
|
<sql id="selectTodayAndYesterdayBox">
|
|
<if test="isFirst != null and isFirst == 0">
|
|
SELECT ab.team_sum_box + ab.sum_box yesterdayBox,
|
|
0 realTimeBox,
|
|
0 upMonthBox,
|
|
0 monthBox,
|
|
ab.pk_member pkMember
|
|
FROM ${memberRetailTable} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
union all
|
|
SELECT ab.team_sum_box * -1 + ab.sum_box * -1 yesterdayBox,
|
|
0 realTimeBox,
|
|
0 upMonthBox,
|
|
0 monthBox,
|
|
ab.pk_member pkMember
|
|
FROM ${beforeYesterdayTableName} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
union all
|
|
</if>
|
|
select 0 yesterdayBox,
|
|
NVL(rs.new_box_num + rs.team_new_box_num, 0) realTimeBox,
|
|
0 upMonthBox,
|
|
0 monthBox,
|
|
rs.pk_member pkMember
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
</sql>
|
|
<!--查询当月业绩-->
|
|
<sql id="selectMonthBox">
|
|
<if test="isFirst != null and isFirst == 0">
|
|
SELECT 0 yesterdayBox,
|
|
0 realTimeBox,
|
|
0 upMonthBox,
|
|
ab.team_sum_box + ab.sum_box monthBox,
|
|
ab.pk_member pkMember
|
|
FROM ${memberRetailTable} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
union all
|
|
SELECT 0 yesterdayBox,
|
|
0 realTimeBox,
|
|
0 upMonthBox,
|
|
ab.team_sum_box * -1 + ab.sum_box * -1 monthBox,
|
|
ab.pk_member pkMember
|
|
FROM ${retailUpMonthTable} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
union all
|
|
</if>
|
|
select 0 yesterdayBox,
|
|
0 realTimeBox,
|
|
0 upMonthBox,
|
|
NVL(rs.new_box_num + rs.team_new_box_num, 0) monthBox,
|
|
rs.pk_member pkMember
|
|
from ${memberRetailSTable} rs
|
|
where rs.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
</sql>
|
|
|
|
<!--查询上月业绩-->
|
|
<sql id="selectUpMonthBox">
|
|
SELECT 0 yesterdayBox,
|
|
0 realTimeBox,
|
|
ab.team_sum_box + ab.sum_box upMonthBox,
|
|
0 monthBox,
|
|
ab.pk_member pkMember
|
|
FROM ${retailUpMonthTable} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
union all
|
|
SELECT 0 yesterdayBox,
|
|
0 realTimeBox,
|
|
ab.team_sum_box * -1 + ab.sum_box * -1 upMonthBox,
|
|
0 monthBox,
|
|
ab.pk_member pkMember
|
|
FROM ${secondMonthLastDayTable} ab
|
|
where ab.pk_member in
|
|
<foreach collection="pkMemberList" item="item" index="index" open="(" close=")">
|
|
<if test="index != 0">
|
|
<choose>
|
|
<when test="index % 999 == 0">) or mr.pk_member IN (</when>
|
|
<otherwise>,</otherwise>
|
|
</choose>
|
|
</if>
|
|
#{item}
|
|
</foreach>
|
|
</sql>
|
|
<select id="selectMemberBigBoxList" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT cm.member_code, cm.member_name,cm.nick_name, t3.yesterdayBox, t3.realTimeBox,
|
|
t3.monthBox,t3.upMonthBox,cm.pk_id
|
|
pkBigMember,bg.grade_name grade, ba.awards_name award
|
|
from
|
|
(
|
|
SELECT yesterdayBox,
|
|
realTimeBox,
|
|
upMonthBox,
|
|
monthBox ,
|
|
#{pkBigMember} pkMember
|
|
from (
|
|
SELECT nvl(sum(yesterdayBox), 0) yesterdayBox,
|
|
nvl(sum(realTimeBox), 0) realTimeBox,
|
|
nvl(sum(upMonthBox), 0) upMonthBox,
|
|
nvl(sum(monthBox), 0) monthBox
|
|
FROM (
|
|
<include refid="selectTodayAndYesterdayBox"/>
|
|
UNION ALL
|
|
<include refid="selectMonthBox"/>
|
|
UNION ALL
|
|
<include refid="selectUpMonthBox"/>
|
|
)) t2) t3
|
|
left join cu_member cm
|
|
on cm.pk_id = t3.pkmember
|
|
left join bd_grade bg
|
|
on cm.pk_settle_grade = bg.pk_id
|
|
left join bd_awards ba
|
|
on cm.pk_awards = ba.pk_id
|
|
</select>
|
|
|
|
|
|
<select id="selectMemberSmallBoxList" resultType="com.hzs.retail.member.vo.CuMemberRetailAchieveVO">
|
|
SELECT cm.member_code, cm.member_name,cm.nick_name, t3.yesterdayBox, t3.realTimeBox,
|
|
t3.monthBox,t3.upMonthBox,cm.pk_id
|
|
pkBigMember,bg.grade_name grade, ba.awards_name award
|
|
from (
|
|
SELECT nvl(sum(yesterdayBox), 0) yesterdayBox,
|
|
nvl(sum(realTimeBox), 0) realTimeBox,
|
|
nvl(sum(upMonthBox), 0) upMonthBox,
|
|
nvl(sum(monthBox), 0) monthBox,
|
|
pkMember
|
|
FROM (
|
|
<include refid="selectTodayAndYesterdayBox"/>
|
|
UNION ALL
|
|
<include refid="selectMonthBox"/>
|
|
UNION ALL
|
|
<include refid="selectUpMonthBox"/>
|
|
)
|
|
group by pkMember
|
|
) t3
|
|
left join cu_member cm
|
|
on cm.pk_id = t3.pkmember
|
|
left join bd_grade bg
|
|
on cm.pk_settle_grade = bg.pk_id
|
|
left join bd_awards ba
|
|
on cm.pk_awards = ba.pk_id
|
|
where cm.del_flag =0
|
|
<if test="memberName != null and memberName != ''">
|
|
and (cm.member_code like #{memberName} || '%' or cm.member_name like #{memberName} || '%')
|
|
</if>
|
|
ORDER BY t3.monthBox desc
|
|
</select>
|
|
<!--市场动态盒数 结束-->
|
|
|
|
|
|
<select id="selectSubMemberIdByRootMember" resultType="java.lang.Long">
|
|
select cm.pk_id, cm.MEMBER_NAME
|
|
from cu_member cm
|
|
where cm.SYSTEM_TYPE = #{systemType}
|
|
start with cm.pk_id = #{pkMember}
|
|
connect by prior cm.pk_id = cm.pk_parent
|
|
order by level
|
|
</select>
|
|
</mapper>
|