813 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			XML
		
	
	
	
		
		
			
		
	
	
			813 lines
		
	
	
		
			30 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="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(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> | ||
|  | 
 | ||
|  | 
 | ||
|  |     <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> | ||
|  |     <!--市场动态盒数 结束--> | ||
|  | </mapper> |