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>
 |