1419 lines
		
	
	
		
			59 KiB
		
	
	
	
		
			XML
		
	
	
	
			
		
		
	
	
			1419 lines
		
	
	
		
			59 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.member.achieve.mapper.CuMemberAchieveMapper">
 | |
| 
 | |
|     <!-- 通用查询映射结果 -->
 | |
|     <resultMap id="CuMemberAchieve" type="com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt">
 | |
|         <id column="PK_ID" property="pkId"/>
 | |
|         <result column="PK_COUNTRY" property="pkCountry"/>
 | |
|         <result column="PK_MEMBER" property="pkMember"/>
 | |
|         <result column="PK_RATE" property="pkRate"/>
 | |
|         <result column="A_BALANCE" property="aBalance"/>
 | |
|         <result column="B_BALANCE" property="bBalance"/>
 | |
|         <result column="A_SUM_AMOUNT" property="aSumAmount"/>
 | |
|         <result column="B_SUM_AMOUNT" property="bSumAmount"/>
 | |
|         <result column="A_SUM_PV" property="aSumPv"/>
 | |
|         <result column="B_SUM_PV" property="bSumPv"/>
 | |
|         <result column="A_NEW_AMOUNT" property="aNewAmount"/>
 | |
|         <result column="B_NEW_AMOUNT" property="bNewAmount"/>
 | |
|         <result column="A_NEW_PV" property="aNewPv"/>
 | |
|         <result column="B_NEW_PV" property="bNewPv"/>
 | |
|         <result column="A_SUM_REAL_AMOUNT" property="aSumRealAmount"/>
 | |
|         <result column="B_SUM_REAL_AMOUNT" property="bSumRealAmount"/>
 | |
|         <result column="A_SUM_REAL_PV" property="aSumRealPv"/>
 | |
|         <result column="B_SUM_REAL_PV" property="bSumRealPv"/>
 | |
|         <result column="REP_A_BALANCE" property="repABalance"/>
 | |
|         <result column="REP_B_BALANCE" property="repBBalance"/>
 | |
|         <result column="REP_A_NEW_AMOUNT" property="repANewAmount"/>
 | |
|         <result column="REP_B_NEW_AMOUNT" property="repBNewAmount"/>
 | |
|         <result column="REP_A_NEW_PV" property="repANewPv"/>
 | |
|         <result column="REP_B_NEW_PV" property="repBNewPv"/>
 | |
|         <result column="REP_A_SUM_AMOUNT" property="repASumAmount"/>
 | |
|         <result column="REP_B_SUM_AMOUNT" property="repBSumAmount"/>
 | |
|         <result column="REP_A_SUM_PV" property="repASumPv"/>
 | |
|         <result column="REP_B_SUM_PV" property="repBSumPv"/>
 | |
|         <result column="REGISTER_AMOUNT" property="registerAmount"/>
 | |
|         <result column="REGISTER_PV" property="registerPv"/>
 | |
|         <result column="REGISTER_NEW_PV" property="registerNewPv"/>
 | |
|         <result column="UPGRADE_AMOUNT" property="upgradeAmount"/>
 | |
|         <result column="UPGRADE_PV" property="upgradePv"/>
 | |
|         <result column="UPGRADE_NEW_PV" property="upgradeNewPv"/>
 | |
|         <result column="REPURCHASE_AMOUNT" property="repurchaseAmount"/>
 | |
|         <result column="REPURCHASE_PV" property="repurchasePv"/>
 | |
|         <result column="REPURCHASE_NEW_PV" property="repurchaseNewPv"/>
 | |
|         <result column="HI_FUN_AMOUNT" property="hiFunAmount"/>
 | |
|         <result column="HI_FUN_PV" property="hiFunPv"/>
 | |
|         <result column="HI_FUN_NEW_PV" property="hiFunNewPv"/>
 | |
|         <result column="MALL_AMOUNT" property="mallAmount"/>
 | |
|         <result column="MALL_PV" property="mallPv"/>
 | |
|         <result column="MALL_NEW_PV" property="mallNewPv"/>
 | |
|         <result column="REGISTER_Blo_NEW_PV" property="registerBloNewPv"/>
 | |
|         <result column="UPGRADE_Blo_NEW_PV" property="upgradeBloNewPv"/>
 | |
|         <result column="REPURCHASE_Blo_NEW_PV" property="repurchaseBloNewPv"/>
 | |
|         <result column="HI_FUN_Blo_NEW_PV" property="hiFunBloNewPv"/>
 | |
|         <result column="MALL_Blo_NEW_PV" property="mallBloNewPv"/>
 | |
|         <result column="R_A_BALANCE" property="rABalance"/>
 | |
|         <result column="R_B_BALANCE" property="rBBalance"/>
 | |
|         <result column="R_A_SUM_AMOUNT" property="rASumAmount"/>
 | |
|         <result column="R_B_SUM_AMOUNT" property="rBSumAmount"/>
 | |
|         <result column="R_A_SUM_PV" property="rASumPv"/>
 | |
|         <result column="R_B_SUM_PV" property="rBSumPv"/>
 | |
|         <result column="R_A_SUM_REAL_AMOUNT" property="rASumRealAmount"/>
 | |
|         <result column="R_B_SUM_REAL_AMOUNT" property="rBSumRealAmount"/>
 | |
|         <result column="R_A_SUM_REAL_PV" property="rASumRealPv"/>
 | |
|         <result column="R_B_SUM_REAL_PV" property="rBSumRealPv"/>
 | |
|         <result column="R_REP_A_BALANCE" property="rRepABalance"/>
 | |
|         <result column="R_REP_B_BALANCE" property="rRepBBalance"/>
 | |
|         <result column="R_REP_A_SUM_AMOUNT" property="rRepASumAmount"/>
 | |
|         <result column="R_REP_B_SUM_AMOUNT" property="rRepBSumAmount"/>
 | |
|         <result column="R_REP_A_SUM_PV" property="rRepASumPv"/>
 | |
|         <result column="ALGEBRA" property="algebra"/>
 | |
|         <result column="VERTEX_NAME" property="vertexName"/>
 | |
|         <result column="TEAM_NAME" property="teamName"/>
 | |
|         <result column="ASSESS_STATUS" property="assessStatus"/>
 | |
|     </resultMap>
 | |
| 
 | |
|     <select id="queryCuMemberAchieveByPkMember" resultMap="CuMemberAchieve">
 | |
|         SELECT PK_MEMBER,
 | |
|                PK_RATE,
 | |
|                A_BALANCE,
 | |
|                B_BALANCE,
 | |
|                A_SUM_PV,
 | |
|                B_SUM_PV,
 | |
|                A_SUM_REAL_PV,
 | |
|                B_SUM_REAL_PV,
 | |
|                REP_A_BALANCE,
 | |
|                REP_B_BALANCE,
 | |
|                REP_A_NEW_PV,
 | |
|                REP_B_NEW_PV,
 | |
|                REP_A_SUM_PV,
 | |
|                REP_B_SUM_PV,
 | |
|                PK_COUNTRY
 | |
|         FROM ${tableName}
 | |
|         WHERE (pk_member = #{pkMember} AND pk_country = #{pkCountry})
 | |
|     </select>
 | |
| 
 | |
|     <select id="selectNewAddAchieve" resultType="com.hzs.member.achieve.vo.CuMemberNewAddAchieveVO">
 | |
|         select t.*, s.settle_date
 | |
|         from (select a.period,
 | |
|         a.a_new_pv aNewPv,
 | |
|         a.b_new_pv bNewPv,
 | |
|         a.rep_a_new_pv repANewPv,
 | |
|         a.rep_b_new_pv repBNewPv
 | |
|         from ${achieveTableName} a
 | |
|         where a.pk_member = #{pkMember}
 | |
|         and a.pk_country = #{pkCountry}
 | |
|         <if test="upAchieveTableName != null and upAchieveTableName != ''">
 | |
|             union all
 | |
|             select up.period,
 | |
|             up.a_new_pv aNewPv,
 | |
|             up.b_new_pv bNewPv,
 | |
|             up.rep_a_new_pv repANewPv,
 | |
|             up.rep_b_new_pv repBNewPv
 | |
|             from ${upAchieveTableName} up
 | |
|             where up.pk_member = #{pkMember}
 | |
|             and up.pk_country = #{pkCountry}
 | |
|         </if>
 | |
|         ) t,
 | |
|         cu_member_settle_period s
 | |
|         where t.period = s.pk_id
 | |
|         and s.del_flag = 0
 | |
|         and s.settle_date >= to_date(#{startDate}, 'yyyy-mm-dd')
 | |
|         and s.settle_date <= to_date(#{endDate}, 'yyyy-mm-dd')
 | |
|         order by s.settle_date
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectAwardsByPkMember" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
 | |
|         select s.pk_member,
 | |
|                s.a_sum_real_pv aSumRealPv,
 | |
|                s.b_sum_real_pv bSumRealPv,
 | |
|                s.member_name   memberName,
 | |
|                s.pk_awards     pkAwards
 | |
|         from ${settleTable} s
 | |
|         where s.pay_status = 1
 | |
|           and s.category = 0
 | |
|           and s.pk_country = #{pkCountry}
 | |
|           and s.pk_member = #{pkMember}
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectBalanceByPkMember" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
 | |
|         SELECT ms.pk_member                  pkMember,
 | |
|                ms.a_balance                  aBalance,
 | |
|                ms.b_balance                  bBalance,
 | |
|                ms.a_sum_pv                   aSumPv,
 | |
|                ms.b_sum_pv                   bSumPv,
 | |
|                ms.a_new_pv + ms.rep_a_new_pv aNewPv,
 | |
|                ms.b_new_pv + ms.rep_b_new_pv bNewPv,
 | |
|                CASE
 | |
|                    WHEN ms.a_balance > ms.b_balance THEN
 | |
|                        2
 | |
|                    WHEN ms.a_balance < ms.b_balance THEN
 | |
|                        1
 | |
|                    ELSE
 | |
|                        3
 | |
|                    END                       placeDept
 | |
|         FROM ${settleTable} ms
 | |
|         WHERE ms.pay_status = 1
 | |
|           AND ms.category = 0
 | |
|           AND ms.pk_country = #{pkCountry}
 | |
|           AND ms.pk_member = #{pkMember}
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectMemberSmallAchieve" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
 | |
|         SELECT SUM(t1.asumpv)                        asumpv,
 | |
|                SUM(t1.bsumpv)                        bsumpv,
 | |
|                LEAST(SUM(t1.asumpv), SUM(t1.bsumpv)) smallPv
 | |
|         FROM (SELECT mm.a_sum_pv + mm.rep_a_sum_pv aSumPv,
 | |
|                      mm.b_sum_pv + mm.rep_b_sum_pv bSumPv
 | |
|               FROM ${cuMemberMonthTable} mm
 | |
|               WHERE mm.pk_member = #{pkMember}
 | |
|               UNION ALL
 | |
|               SELECT NVL(SUM(so.order_achieve), 0) aSumPv, 0
 | |
|               FROM sa_order so
 | |
|               WHERE so.del_flag = 0
 | |
|                 AND so.order_status = 1
 | |
|                 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.pk_country,
 | |
|                                   m.pay_status
 | |
|                            FROM cu_member m
 | |
|                                START
 | |
|                            WITH m.pk_place_parent = #{pkMember}
 | |
|                                AND m.place_dept = 1
 | |
|                            CONNECT BY PRIOR m.pk_id = m.pk_place_parent) t0
 | |
|                      WHERE t0.del_flag = 0
 | |
|                        AND t0.category = 0
 | |
|                        AND t0.pay_status = 1
 | |
|                        AND t0.pk_country = 1)
 | |
|               UNION ALL
 | |
|               SELECT 0, NVL(SUM(so.order_achieve), 0) bSumPv
 | |
|               FROM sa_order so
 | |
|               WHERE so.del_flag = 0
 | |
|                 AND so.order_status = 1
 | |
|                 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.pk_country,
 | |
|                                   m.pay_status
 | |
|                            FROM cu_member m
 | |
|                                START
 | |
|                            WITH m.pk_place_parent = #{pkMember}
 | |
|                                AND m.place_dept = 2
 | |
|                            CONNECT BY PRIOR m.pk_id = m.pk_place_parent) t0
 | |
|                      WHERE t0.del_flag = 0
 | |
|                        AND t0.category = 0
 | |
|                        AND t0.pay_status = 1
 | |
|                        AND t0.pk_country = 1)) t1
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectUnderMemberAwards" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
 | |
|         SELECT pk_member,
 | |
|                a_sum_real_pv aSumRealPv,
 | |
|                b_sum_real_pv bSumRealPv,
 | |
|                head_path     memberPath,
 | |
|                member_name   memberName,
 | |
|                pk_awards     pkAwards,
 | |
|                service_code  serviceCode,
 | |
|                pk_vertex     pkVertex,
 | |
|                nick_name     nickName
 | |
|         FROM (SELECT a.pk_member,
 | |
|                      b.pk_awards,
 | |
|                      a.a_sum_real_pv,
 | |
|                      a.b_sum_real_pv,
 | |
|                      b.head_path,
 | |
|                      a.member_name,
 | |
|                      b.pk_vertex,
 | |
|                      b.service_code,
 | |
|                      b.nick_name
 | |
|               FROM ${settleTable} a
 | |
|                        INNER JOIN (SELECT mt.pk_id,
 | |
|                                           mt.pk_place_parent,
 | |
|                                           mt.pk_awards,
 | |
|                                           mt.head_path,
 | |
|                                           mt.service_code,
 | |
|                                           mt.pk_vertex,
 | |
|                                           mt.nick_name
 | |
|                                    FROM (SELECT m.pk_id,
 | |
|                                                 m.pk_place_parent,
 | |
|                                                 m.place_dept,
 | |
|                                                 m.pk_awards,
 | |
|                                                 m.head_path,
 | |
|                                                 m.nick_name,
 | |
|                                                 m.service_code,
 | |
|                                                 m.pk_vertex
 | |
|                                          FROM cu_member m
 | |
|                                          WHERE m.del_flag = 0
 | |
|                                            AND m.pk_settle_country = #{pkCountry}) mt
 | |
|                                        START
 | |
|                                    WITH mt.pk_id =
 | |
|                                        (SELECT t.pk_id
 | |
|                                        FROM cu_member t
 | |
|                                        WHERE t.del_flag = 0
 | |
|                                        AND t.pk_settle_country = #{pkCountry}
 | |
|                                        AND t.pk_place_parent = #{pkMember}
 | |
|                                        AND t.place_dept = #{placeDept})
 | |
|                                    CONNECT BY PRIOR mt.pk_id = mt.pk_place_parent) b
 | |
|                                   ON a.pk_member = b.pk_id
 | |
|               WHERE a.pk_country = #{pkCountry}
 | |
|                 AND a.pay_status = 1
 | |
|                 AND a.category = 0
 | |
|               ORDER BY b.pk_awards DESC, a.a_sum_real_pv DESC) tt
 | |
|         WHERE rownum <= 5
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectNewAddAchieveContrast" resultType="com.hzs.member.achieve.vo.CuMemberMonthAchieveContrastVO">
 | |
|         select sum(a.a_new_pv + a.rep_a_new_pv) / 10000 aNewPv, sum(a.b_new_pv + a.rep_b_new_pv) / 10000 bNewPv
 | |
|         from ${achieveTable} a
 | |
|         where a.pk_member = #{pkMember}
 | |
|           and a.pk_country = #{pkCountry}
 | |
|     </select>
 | |
| 
 | |
|     <select id="selectExistTable" resultType="Integer">
 | |
|         select count(1)
 | |
|         from user_tables t
 | |
|         where t.table_name = upper('${achieveTable}')
 | |
|     </select>
 | |
| 
 | |
|     <!--查询左右区新增业绩-->
 | |
|     <select id="selectNewABAchieve"
 | |
|             parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select sum(leftAchieve) as leftAchieve,
 | |
|         sum(rightAchieve) as rightAchieve
 | |
|         from (select a.period,
 | |
|         a.a_new_pv as leftAchieve,
 | |
|         a.b_new_pv as rightAchieve
 | |
|         from ${achieveTableName} a
 | |
|         where a.pk_member = #{pkMember}
 | |
|         and a.pk_country = #{pkCountry}
 | |
|         <if test="upAchieveTableName != null and upAchieveTableName != ''">
 | |
|             union all
 | |
|             select up.period,
 | |
|             up.a_new_pv as leftAchieve,
 | |
|             up.b_new_pv as rightAchieve
 | |
|             from ${upAchieveTableName} up
 | |
|             where up.pk_member = #{pkMember}
 | |
|             and up.pk_country = #{pkCountry}
 | |
|         </if>
 | |
|         ) t,
 | |
|         cu_member_settle_period s
 | |
|         where t.period = s.pk_id
 | |
|         and s.del_flag = 0
 | |
|         and s.settle_date >= to_date(#{startDate}, 'yyyy-mm-dd')
 | |
|         and s.settle_date <= to_date(#{endDate}, 'yyyy-mm-dd')
 | |
| 
 | |
|     </select>
 | |
|     <!--    查询左右区血缘业绩-->
 | |
|     <select id="selectABDirectAchieve"
 | |
|             parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select 1 placeDept, sum(pv) directAchieve
 | |
|         from (
 | |
|                  select pk_member,
 | |
|                         pk_parent,
 | |
|                         (REGISTER_PV + UPGRADE_PV + REPURCHASE_PV) AS pv
 | |
|                  from ${achieveTableName} start with pk_place_parent=#{pkMember} and place_dept=1
 | |
|                  connect by pk_place_parent= prior pk_member
 | |
|              ) start with pk_parent=#{pkMember}
 | |
|         connect by pk_parent= prior pk_member
 | |
|         union all
 | |
|         select 2 placeDept, sum(pv) directAchieve
 | |
|         from (select pk_member,
 | |
|                      pk_parent,
 | |
|                      (REGISTER_PV + UPGRADE_PV + REPURCHASE_PV) AS pv
 | |
|               from ${achieveTableName} start with pk_place_parent=#{pkMember} and place_dept=2
 | |
|               connect by pk_place_parent= prior pk_member) start with pk_parent=#{pkMember}
 | |
|         connect by pk_parent= prior pk_member
 | |
|     </select>
 | |
|     <!--    月度业绩-左右区人数详情(最新) -->
 | |
|     <select id="placeNewAddAchieveDetails"
 | |
|             parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select cm.MEMBER_CODE memberCode,
 | |
|         cm.MEMBER_NAME memberName,
 | |
|         cm.SERVICE_CODE serviceCode,
 | |
|         cm.nick_name nickName,
 | |
|         cm.pk_vertex pkVertex,
 | |
|         so.ORDER_AMOUNT orderAmount,
 | |
|         so.ORDER_ACHIEVE orderAchieve,
 | |
|         so.ORDER_TYPE orderType,
 | |
|         bg.PK_TRANSACTION pkRegisterGrade,
 | |
|         cm.CREATION_TIME creationTime
 | |
|         from (
 | |
|         SELECT
 | |
|         PK_ID,
 | |
|         MEMBER_CODE,
 | |
|         MEMBER_NAME,
 | |
|         PK_REGISTER_GRADE,
 | |
|         CREATION_TIME,
 | |
|         DEL_FLAG,
 | |
|         CUSTOMER_TYPE,
 | |
|         SERVICE_CODE,
 | |
|         pk_vertex,
 | |
|         nick_name
 | |
|         FROM
 | |
|         (
 | |
|         SELECT pk_id,MEMBER_CODE,MEMBER_NAME,PK_REGISTER_GRADE,CREATION_TIME,DEL_FLAG,CUSTOMER_TYPE,SERVICE_CODE,nick_name,pk_vertex
 | |
|         FROM cu_member WHERE del_flag = 0
 | |
|         START WITH pk_id = (select cm.pk_id from cu_member cm
 | |
|         where cm.pk_place_parent = #{pkMember}
 | |
|         and cm.place_dept = #{placeDept}
 | |
|         and cm.del_flag = 0)
 | |
|         CONNECT BY pk_place_parent = PRIOR pk_id
 | |
|         )
 | |
|         ) cm
 | |
|         LEFT JOIN SA_ORDER so on so.PK_MEMBER=cm.PK_ID
 | |
|         LEFT JOIN BD_GRADE bg on cm.PK_REGISTER_GRADE=bg.pk_id
 | |
|         where
 | |
|         so.DEL_FLAG=0
 | |
|         and so.ORDER_STATUS=1
 | |
|         and cm.DEL_FLAG=0
 | |
|         and bg.DEL_FLAG=0
 | |
|         <if test="pkCountry != null">
 | |
|             and so.PK_COUNTRY = #{pkCountry}
 | |
|         </if>
 | |
|         <if test="pkRegisterGrade != null">
 | |
|             and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
 | |
|         </if>
 | |
|         <if test="memberCode != null and memberCode != ''">
 | |
|             and (
 | |
|             cm.member_code like #{memberCode} || '%'
 | |
|             or cm.SERVICE_CODE like #{memberCode} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and (
 | |
|             cm.member_name like #{memberName} || '%'
 | |
|             or cm.nick_name like #{memberName} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="startDate != null and startDate !='' ">
 | |
|             and so.PAY_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
 | |
|         </if>
 | |
|         <if test="endDate != null and endDate !='' ">
 | |
|             and so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
 | |
|         </if>
 | |
|         <if test="orderTypeList != null and orderTypeList.size > 0 ">
 | |
|             and so.ORDER_TYPE in
 | |
|             <foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
 | |
|                 #{item}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         ORDER BY cm.CREATION_TIME DESC
 | |
| 
 | |
|     </select>
 | |
| 
 | |
|     <!--    月度业绩-左右区人数详情(历史) -->
 | |
|     <select id="placeNewAddAchieveHistoryDetails"
 | |
|             parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select cm.MEMBER_CODE memberCode,
 | |
|         cm.MEMBER_NAME memberName,
 | |
|         so.ORDER_AMOUNT orderAmount,
 | |
|         so.ORDER_ACHIEVE orderAchieve,
 | |
|         so.ORDER_TYPE orderType,
 | |
|         bg.PK_TRANSACTION pkRegisterGrade,
 | |
|         cm.CREATION_TIME creationTime,
 | |
|         cm.SERVICE_CODE serviceCode,
 | |
|         cm.pk_vertex pkVertex,
 | |
|         cm.nick_name nickName
 | |
|         from (
 | |
|         SELECT
 | |
|         cm.PK_ID,
 | |
|         cm.MEMBER_CODE,
 | |
|         cm.MEMBER_NAME,
 | |
|         cm.PK_REGISTER_GRADE,
 | |
|         cm.CREATION_TIME,
 | |
|         cm.SERVICE_CODE,
 | |
|         cm.pk_vertex,
 | |
|         cm.nick_name
 | |
|         FROM
 | |
|         (
 | |
|         SELECT pk_member FROM ${achieveTableName}
 | |
|         START WITH pk_member = (select pk_member from ${achieveTableName} cm
 | |
|         where cm.pk_place_parent = #{pkMember} and cm.place_dept = #{placeDept}
 | |
|         )CONNECT BY pk_place_parent = PRIOR pk_member
 | |
|         )cms
 | |
|         INNER JOIN cu_member cm on cms.pk_member=cm.pk_id
 | |
|         ) cm
 | |
|         LEFT JOIN SA_ORDER so on so.PK_MEMBER=cm.PK_ID
 | |
|         LEFT JOIN BD_GRADE bg on cm.PK_REGISTER_GRADE=bg.pk_id
 | |
|         where
 | |
|         so.DEL_FLAG=0
 | |
|         and so.ORDER_STATUS=1
 | |
|         and bg.DEL_FLAG=0
 | |
|         <if test="pkCountry != null">
 | |
|             and so.PK_COUNTRY = #{pkCountry}
 | |
|         </if>
 | |
|         <if test="pkRegisterGrade != null">
 | |
|             and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
 | |
|         </if>
 | |
|         <if test="memberCode != null and memberCode != ''">
 | |
|             and (
 | |
|             cm.member_code like #{memberCode} || '%'
 | |
|             or cm.SERVICE_CODE like #{memberCode} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and (
 | |
|             cm.member_name like #{memberName} || '%'
 | |
|             or cm.nick_name like #{memberName} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="startDate != null and startDate !='' ">
 | |
|             and so.PAY_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
 | |
|         </if>
 | |
|         <if test="endDate != null and endDate !='' ">
 | |
|             and so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
 | |
|         </if>
 | |
|         <if test="orderTypeList != null and orderTypeList.size > 0 ">
 | |
|             and so.ORDER_TYPE in
 | |
|             <foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
 | |
|                 #{item}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         ORDER BY cm.CREATION_TIME DESC
 | |
| 
 | |
|     </select>
 | |
|     <!--    查询左右区业绩详情-->
 | |
|     <select id="leftRightAchieveDetails"
 | |
|             parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select cm.MEMBER_CODE memberCode,
 | |
|         cm.MEMBER_NAME memberName,
 | |
|         cm.SERVICE_CODE serviceCode,
 | |
|         cm.NICK_NAME nickName,
 | |
|         cm.pk_vertex pkVertex,
 | |
|         so.ORDER_AMOUNT orderAmount,
 | |
|         so.ORDER_ACHIEVE orderAchieve,
 | |
|         so.ORDER_TYPE orderType,
 | |
|         bg.PK_TRANSACTION pkRegisterGrade,
 | |
|         so.PAY_TIME creationTime
 | |
|         from (
 | |
|         select cm.PK_ID,
 | |
|         cm.MEMBER_CODE,
 | |
|         cm.MEMBER_NAME,
 | |
|         cm.PK_REGISTER_GRADE,
 | |
|         cm.SERVICE_CODE,
 | |
|         cm.pk_vertex,
 | |
|         cm.NICK_NAME
 | |
|         from(
 | |
|         select PK_MEMBER,place_dept,PK_PLACE_PARENT
 | |
|         from (
 | |
|         select PK_MEMBER,place_dept,PK_PLACE_PARENT from ${achieveTableName}
 | |
|         where PERIOd= #{period}
 | |
|         ) cmt START WITH cmt.pk_place_parent =#{pkMember} and cmt.place_dept =#{placeDept}
 | |
|         CONNECT BY cmt.pk_place_parent = PRIOR cmt.pk_member
 | |
|         ) cmt INNER JOIN CU_MEMBER cm on cm.PK_ID=cmt.PK_MEMBER and cm.DEL_FLAG=0 and cm.CUSTOMER_TYPE=0
 | |
|         ) cm
 | |
|         LEFT JOIN SA_ORDER so on so.PK_MEMBER=cm.PK_ID
 | |
|         LEFT JOIN BD_GRADE bg on cm.PK_REGISTER_GRADE=bg.pk_id
 | |
|         where
 | |
|         so.DEL_FLAG=0
 | |
|         and so.ORDER_STATUS=1
 | |
|         and bg.DEL_FLAG=0
 | |
|         <if test="pkCountry != null">
 | |
|             and so.PK_COUNTRY = #{pkCountry}
 | |
|         </if>
 | |
|         <if test="pkRegisterGrade != null">
 | |
|             and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
 | |
|         </if>
 | |
|         <if test="memberCode != null and memberCode != ''">
 | |
|             and (
 | |
|             cm.member_code like #{memberCode} || '%'
 | |
|             or cm.SERVICE_CODE like #{memberCode} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and (
 | |
|             cm.member_name like #{memberName} || '%'
 | |
|             or cm.nick_name like #{memberName} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="startDate != null and startDate !='' ">
 | |
|             and so.PAY_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
 | |
|         </if>
 | |
|         <if test="endDate != null and endDate !='' ">
 | |
|             and so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
 | |
|         </if>
 | |
|         <if test="orderTypeList != null and orderTypeList.size > 0 ">
 | |
|             and so.ORDER_TYPE in
 | |
|             <foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
 | |
|                 #{item}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         ORDER BY so.ORDER_TYPE DESC
 | |
| 
 | |
|     </select>
 | |
| 
 | |
|     <!--    查询左右区血缘业绩详情-->
 | |
|     <select id="leftRightDirectAchieveDetails"
 | |
|             parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select cm.MEMBER_CODE memberCode,
 | |
|         cm.MEMBER_NAME memberName,
 | |
|         cm.SERVICE_CODE serviceCode,
 | |
|         cm.NICK_NAME nickName,
 | |
|         cm.pk_vertex pkVertex,
 | |
|         so.ORDER_AMOUNT orderAmount,
 | |
|         so.ORDER_ACHIEVE orderAchieve,
 | |
|         so.ORDER_TYPE orderType,
 | |
|         bg.PK_TRANSACTION pkRegisterGrade,
 | |
|         so.PAY_TIME creationTime
 | |
|         from (
 | |
|         SELECT
 | |
|         pk_member
 | |
|         FROM
 | |
|         (
 | |
|         SELECT
 | |
|         pk_member,
 | |
|         pk_parent
 | |
|         FROM
 | |
|         ${achieveTableName} START WITH pk_place_parent =#{pkMember}
 | |
|         AND place_dept = #{placeDept} CONNECT BY pk_place_parent = PRIOR pk_member
 | |
|         ) START WITH pk_parent =#{pkMember} CONNECT BY pk_parent = PRIOR pk_member
 | |
|         ) cmm
 | |
|         INNER JOIN CU_MEMBER cm on cm.PK_ID=cmm.PK_MEMBER
 | |
|         LEFT JOIN SA_ORDER so on so.PK_MEMBER=cm.PK_ID
 | |
|         LEFT JOIN BD_GRADE bg on cm.PK_REGISTER_GRADE=bg.pk_id
 | |
|         where
 | |
|         so.DEL_FLAG=0
 | |
|         and so.ORDER_STATUS=1
 | |
|         and cm.DEL_FLAG=0
 | |
|         and cm.CUSTOMER_TYPE=0
 | |
|         and bg.DEL_FLAG=0
 | |
|         <if test="pkCountry != null">
 | |
|             and so.PK_COUNTRY = #{pkCountry}
 | |
|         </if>
 | |
|         <if test="pkRegisterGrade != null">
 | |
|             and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
 | |
|         </if>
 | |
|         <if test="memberCode != null and memberCode != ''">
 | |
|             and (
 | |
|             cm.member_code like #{memberCode} || '%'
 | |
|             or cm.SERVICE_CODE like #{memberCode} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and (
 | |
|             cm.member_name like #{memberName} || '%'
 | |
|             or cm.nick_name like #{memberName} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="startDate != null and startDate !='' ">
 | |
|             and so.PAY_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
 | |
|         </if>
 | |
|         <if test="endDate != null and endDate !='' ">
 | |
|             and so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
 | |
|         </if>
 | |
|         <if test="orderTypeList != null and orderTypeList.size > 0 ">
 | |
|             and so.ORDER_TYPE in
 | |
|             <foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
 | |
|                 #{item}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         ORDER BY so.ORDER_TYPE DESC
 | |
| 
 | |
|     </select>
 | |
| 
 | |
|     <!--月度业绩-查询血缘业绩详情-->
 | |
|     <select id="directAchieveDetails"
 | |
|             parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select cm.MEMBER_CODE memberCode,
 | |
|         cm.MEMBER_NAME memberName,
 | |
|         cm.SERVICE_CODE serviceCode,
 | |
|         cm.NICK_NAME nickName,
 | |
|         cm.pk_vertex pkVertex,
 | |
|         so.ORDER_AMOUNT orderAmount,
 | |
|         so.ORDER_ACHIEVE orderAchieve,
 | |
|         so.ORDER_TYPE orderType,
 | |
|         bg.PK_TRANSACTION pkRegisterGrade,
 | |
|         so.PAY_TIME creationTime
 | |
|         from (
 | |
|         SELECT
 | |
|         pk_member
 | |
|         FROM
 | |
|         (
 | |
|         SELECT
 | |
|         pk_member,
 | |
|         pk_parent
 | |
|         FROM
 | |
|         ${achieveTableName} START WITH pk_place_parent =#{pkMember}
 | |
|         CONNECT BY pk_place_parent = PRIOR pk_member
 | |
|         ) START WITH pk_parent =#{pkMember} CONNECT BY pk_parent = PRIOR pk_member
 | |
|         ) cmm
 | |
|         INNER JOIN CU_MEMBER cm on cm.PK_ID=cmm.PK_MEMBER
 | |
|         LEFT JOIN SA_ORDER so on so.PK_MEMBER=cm.PK_ID
 | |
|         LEFT JOIN BD_GRADE bg on cm.PK_REGISTER_GRADE=bg.pk_id
 | |
|         where
 | |
|         so.DEL_FLAG=0
 | |
|         and so.ORDER_STATUS=1
 | |
|         and cm.DEL_FLAG=0
 | |
|         and cm.CUSTOMER_TYPE=0
 | |
|         and bg.DEL_FLAG=0
 | |
|         <if test="pkCountry != null">
 | |
|             and so.PK_COUNTRY = #{pkCountry}
 | |
|         </if>
 | |
|         <if test="pkRegisterGrade != null">
 | |
|             and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
 | |
|         </if>
 | |
|         <if test="memberCode != null and memberCode != ''">
 | |
|             and (
 | |
|             cm.member_code like #{memberCode} || '%'
 | |
|             or cm.SERVICE_CODE like #{memberCode} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and (
 | |
|             cm.member_name like #{memberName} || '%'
 | |
|             or cm.nick_name like #{memberName} || '%'
 | |
|             )
 | |
|         </if>
 | |
|         <if test="startDate != null and startDate !='' ">
 | |
|             and so.PAY_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
 | |
|         </if>
 | |
|         <if test="endDate != null and endDate !='' ">
 | |
|             and so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
 | |
|         </if>
 | |
|         <if test="orderTypeList != null and orderTypeList.size > 0 ">
 | |
|             and so.ORDER_TYPE in
 | |
|             <foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
 | |
|                 #{item}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         ORDER BY so.PAY_TIME DESC
 | |
| 
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <!--    查询历史左右区人数-->
 | |
|     <select id="selectABCoun" parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         SELECT 1 placeDept, COUNT(1) memberCount
 | |
|         FROM ${achieveTableName} START WITH pk_member = (select pk_member from ${achieveTableName} cm
 | |
|             where cm.pk_place_parent = #{pkMember} and cm.place_dept = 1
 | |
|             )
 | |
|         CONNECT BY pk_place_parent = PRIOR pk_member
 | |
|         UNION
 | |
|         SELECT 2 placeDept, COUNT(1) memberCount
 | |
|         FROM ${achieveTableName} START WITH pk_member = (select pk_member from ${achieveTableName} cm
 | |
|             where cm.pk_place_parent = #{pkMember} and cm.place_dept = 2
 | |
|             )
 | |
|         CONNECT BY pk_place_parent = PRIOR pk_member
 | |
|     </select>
 | |
| 
 | |
|     <!--    查询最新月份左右区人数-->
 | |
|     <select id="selectABNewMonthCoun" parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         SELECT 1 placeDept, COUNT(1) memberCount
 | |
|         FROM cu_member
 | |
|         WHERE del_flag = 0
 | |
|             START
 | |
|         WITH pk_id = (select cm.pk_id from cu_member cm
 | |
|             where cm.pk_place_parent = #{pkMember}
 | |
|             and cm.place_dept = 1
 | |
|             and cm.del_flag = 0)
 | |
|         CONNECT BY pk_place_parent = PRIOR pk_id
 | |
|         UNION
 | |
|         SELECT 2 placeDept, COUNT(1) memberCount
 | |
|         FROM cu_member
 | |
|         WHERE del_flag = 0
 | |
|             START
 | |
|         WITH pk_id = (select cm.pk_id from cu_member cm
 | |
|             where cm.pk_place_parent = #{pkMember}
 | |
|             and cm.place_dept = 2
 | |
|             and cm.del_flag = 0)
 | |
|         CONNECT BY pk_place_parent = PRIOR pk_id
 | |
|     </select>
 | |
| 
 | |
|     <!--查询直推业绩-->
 | |
|     <select id="selectParentAchieve" parameterType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO">
 | |
|         select (sum(REGISTER_PV) + sum(UPGRADE_PV) + sum(REPURCHASE_PV)) AS directAchieve
 | |
|         from ${achieveTableName} start with pk_parent=#{pkMember}
 | |
|         connect by pk_parent = prior pk_member
 | |
|     </select>
 | |
| 
 | |
|     <!--    查询各个等级直推人数和业绩(推荐伞下)-->
 | |
|     <select id="selectParentCounAchieve" parameterType="com.hzs.member.achieve.controller.vo.ParentAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.ParentAchieveVO">
 | |
|         WITH temp AS
 | |
|                  (SELECT a.period,
 | |
|                          a.REGISTER_PV + a.UPGRADE_PV + a.REPURCHASE_PV + a.HI_FUN_PV +
 | |
|                          a.MALL_PV AS achieve,
 | |
|                          a.pk_member
 | |
|                   FROM ${achieveTableName} a
 | |
|                   WHERE a.period = #{period}),
 | |
|              tree AS
 | |
|                  (SELECT t.pk_member, t.pk_grade, t.pk_parent
 | |
|                   FROM ${treeTableNameEnd} t
 | |
|                            INNER JOIN cu_member_settle_period s
 | |
|                                       ON t.period = s.pk_id
 | |
|                   WHERE s.del_flag = 0
 | |
|                     AND t.period = #{period}),
 | |
|              result AS
 | |
|                  (SELECT tt.PK_GRADE     AS pkGrade,
 | |
|                          SUM(tt.achieve) AS achieve,
 | |
|                          COUNT(0)        AS peopleNumber
 | |
|                   FROM (SELECT aup.achieve, t.PK_GRADE
 | |
|                         FROM temp aup
 | |
|                                  INNER JOIN tree t
 | |
|                                             ON aup.pk_member = t.pk_member
 | |
|                             START
 | |
|                         WITH t.pk_member = #{pkMember}
 | |
|                         CONNECT BY t.pk_parent = PRIOR t.pk_member) tt
 | |
|                   GROUP BY tt.PK_GRADE)
 | |
|         SELECT tt.achieve,
 | |
|                tt.pkGrade,
 | |
|                tt.peopleNumber,
 | |
|                bg.PK_TRANSACTION AS pkGradeKey,
 | |
|                bg.color,
 | |
|                bg.GRADE_VALUE    AS gradeValue
 | |
|         FROM result tt
 | |
|                  LEFT JOIN BD_GRADE bg
 | |
|                            ON tt.pkGrade = bg.pk_id
 | |
|     </select>
 | |
| 
 | |
|     <!--    查询本人直推业绩-->
 | |
|     <select id="selfParentCounAchieve" parameterType="com.hzs.member.achieve.controller.vo.ParentAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.ParentAchieveVO">
 | |
|         select tt.achieve, tt.pk_grade pkGrade, bg.PK_TRANSACTION as pkGradeKey, bg.color, bg.GRADE_VALUE as gradeValue
 | |
|         from (
 | |
|                  select tt.*
 | |
|                  from (
 | |
|                           select pk_grade, (sum(REGISTER_PV) + sum(UPGRADE_PV) + sum(REPURCHASE_PV)) achieve
 | |
|                           from ${achieveTableMonth} start with pk_member=#{pkMember}
 | |
|                           connect by pk_parent = prior pk_member
 | |
|                           group by pk_grade) tt
 | |
|              ) tt
 | |
|                  left join BD_GRADE bg on tt.pk_grade = bg.pk_id
 | |
| 
 | |
|     </select>
 | |
| 
 | |
|     <!--    查询前10直推业绩-->
 | |
|     <select id="parentCounAchieveTop" parameterType="com.hzs.member.achieve.controller.vo.ParentAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.ParentAchieveVO">
 | |
|         select *
 | |
|         from (
 | |
|                  select cm.MEMBER_NAME memberName,
 | |
|                         cm.NICK_NAME   nickName,
 | |
|                         cm.PK_VERTEX   pkVertex,
 | |
|                         cma.PK_MEMBER  pkMember,
 | |
|                         cma.achieve    achieve
 | |
|                  from CU_MEMBER cm
 | |
|                           INNER JOIN(
 | |
|                      SELECT a.pk_member,
 | |
|                             b.achieve
 | |
|                      FROM (SELECT pk_member, PK_GRADE FROM ${treeTableNameEnd} WHERE pk_parent = #{pkMember} AND period = #{period}) a
 | |
|                               INNER JOIN (SELECT pk_member, sum(REGISTER_BLO_NEW_PV) + sum(UPGRADE_BLO_NEW_PV) + sum(REPURCHASE_BLO_NEW_PV) achieve
 | |
|                                           FROM ${achieveTableName}
 | |
|                                           GROUP BY pk_member) b ON a.pk_member = b.pk_member
 | |
|                      ORDER BY b.achieve DESC
 | |
|                  ) cma on cma.PK_MEMBER = cm.PK_ID
 | |
|              )
 | |
|         WHERE ROWNUM <= 10
 | |
| 
 | |
|     </select>
 | |
| 
 | |
|     <!--直推业绩前十人伞下等级业绩-->
 | |
|     <select id="umbrellaAchieveTop" parameterType="com.hzs.member.achieve.controller.vo.ParentAchieveVO"
 | |
|             resultType="com.hzs.member.achieve.controller.vo.ParentAchieveVO">
 | |
|         SELECT tt.achieve, tt.PK_GRADE, bg.PK_TRANSACTION AS pkGradeKey, bg.color,pkMember,bg.GRADE_VALUE as gradeValue FROM (
 | |
|         <if test="pkMember != null">
 | |
|             select #{pkMember} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember2 != null">
 | |
|             UNION
 | |
|             select #{pkMember2} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember2}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember3 != null">
 | |
|             UNION
 | |
|             select #{pkMember3} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember3}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember4 != null">
 | |
|             UNION
 | |
|             select #{pkMember4} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember4}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember5 != null">
 | |
|             UNION
 | |
|             select #{pkMember5} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember5}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember6 != null">
 | |
|             UNION
 | |
|             select #{pkMember6} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember6}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember7 != null">
 | |
|             UNION
 | |
|             select #{pkMember7} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember7}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember8 != null">
 | |
|             UNION
 | |
|             select #{pkMember8} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember8}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember9 != null">
 | |
|             UNION
 | |
|             select #{pkMember9} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember9}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         <if test="pkMember10 != null">
 | |
|             UNION
 | |
|             select #{pkMember10} pkMember,a.* from(
 | |
|             select pk_grade,(sum(REGISTER_PV)+sum(UPGRADE_PV)+sum(REPURCHASE_PV)) achieve from ${achieveTableMonth}
 | |
|             start with pk_member=#{pkMember10}
 | |
|             connect by pk_parent = prior pk_member
 | |
|             group by pk_grade) a
 | |
|         </if>
 | |
|         ) tt
 | |
|         inner JOIN BD_GRADE bg
 | |
|         ON bg.pk_id = tt.PK_GRADE
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectPlacementDataList" resultType="com.hzs.member.settlecenter.vo.PlacementDataBaseVO">
 | |
|         select *
 | |
|         from (select *
 | |
|         from (select t.member_code memberCode,
 | |
|         t.member_name memberName,
 | |
|         a.pk_transaction pkAwards,
 | |
|         t.pk_settle_country settleCountry,
 | |
|         v.vertex_name vertexName,
 | |
|         t.pk_vertex,
 | |
|         mt.team_name teamName,
 | |
|         t.pk_team_code,
 | |
|         t.period,
 | |
|         a.pk_id,
 | |
|         a.awards_value,
 | |
|         p.settle_date,
 | |
|         t.pk_member,
 | |
|         t.pk_place_parent
 | |
|         from ${memberTableName} t
 | |
|         left join bd_awards a
 | |
|         on t.pk_awards = a.pk_id
 | |
|         and a.del_flag = 0
 | |
|         left join bd_vertex v
 | |
|         on t.pk_vertex = v.pk_id
 | |
|         and v.del_flag = 0
 | |
|         left join cu_member_team mt
 | |
|         on mt.pk_id = t.pk_team_code
 | |
|         and mt.del_flag = 0
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = t.period
 | |
|         and p.del_flag = 0
 | |
|         where t.pay_status = 1
 | |
|         and t.category = 0
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and t.member_name like '%' || #{memberName} || '%'
 | |
|         </if>
 | |
|         <if test="pkSettleCountry != null">
 | |
|             and t.pk_settle_country = #{pkSettleCountry}
 | |
|         </if>
 | |
|         <if test="pkVertexList != null">
 | |
|             and t.pk_vertex in
 | |
|             <foreach item="pkVertex" collection="pkVertexList" open="(" separator="," close=")">
 | |
|                 #{pkVertex}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         <if test="pkTeamCodeList != null">
 | |
|             and t.pk_team_code in
 | |
|             <foreach item="pkTeamCode" collection="pkTeamCodeList" open="(" separator="," close=")">
 | |
|                 #{pkTeamCode}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) tt
 | |
|         where 1=1
 | |
|         <if test="pkAwards != null and pkAwards != ''">
 | |
|             and tt.pk_id = #{pkAwards}
 | |
|         </if>
 | |
|         start with tt.pk_member = #{pkMember}
 | |
|         connect by prior tt.pk_member = tt.pk_place_parent) cm,
 | |
| 
 | |
|         (select ma.a_sum_pv aSumPv,
 | |
|         ma.b_sum_pv bSumPv,
 | |
|         ma.a_sum_amount aSumAmount,
 | |
|         ma.b_sum_amount bSumAmount,
 | |
|         ma.a_balance aBalance,
 | |
|         ma.b_balance bBalance,
 | |
|         ma.rep_a_sum_pv repASumPv,
 | |
|         ma.rep_b_sum_pv repBSumPv,
 | |
|         ma.rep_a_sum_amount repASumAmount,
 | |
|         ma.rep_b_sum_amount repBSumAmount,
 | |
|         ma.rep_a_balance repABalance,
 | |
|         ma.rep_b_balance repBBalance,
 | |
|         ma.a_sum_real_pv aSumRealPv,
 | |
|         ma.b_sum_real_pv bSumRealPv,
 | |
|         ma.pk_rate pkRate,
 | |
|         ma.pk_member pkMember
 | |
|         from ${achieveTableName} ma
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = ma.period
 | |
|         where ma.pk_country = #{pkSettleCountry}
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) a
 | |
|         where cm.pk_member = a.pkMember
 | |
| 
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectAchieveByPkMember" resultType="com.hzs.member.settlecenter.vo.PlacementDataBaseVO">
 | |
|         select ma.a_sum_pv aSumPv,
 | |
|         ma.b_sum_pv bSumPv,
 | |
|         ma.a_sum_amount aSumAmount,
 | |
|         ma.b_sum_amount bSumAmount,
 | |
|         ma.a_balance aBalance,
 | |
|         ma.b_balance bBalance,
 | |
|         ma.rep_a_sum_pv repASumPv,
 | |
|         ma.rep_b_sum_pv repBSumPv,
 | |
|         ma.rep_a_sum_amount repASumAmount,
 | |
|         ma.rep_b_sum_amount repBSumAmount,
 | |
|         ma.rep_a_balance repABalance,
 | |
|         ma.rep_b_balance repBBalance,
 | |
|         ma.a_sum_real_pv aSumRealPv,
 | |
|         ma.b_sum_real_pv bSumRealPv,
 | |
|         ma.pk_rate pkRate,
 | |
|         ma.pk_member pkMember
 | |
|         from ${achieveTableName} ma
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = ma.period
 | |
|         where ma.pk_country = #{pkSettleCountry}
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')
 | |
|         and ma.pk_member in
 | |
|         <foreach item="pkMember" collection="pkMembers" open="(" separator="," close=")">
 | |
|             #{pkMember}
 | |
|         </foreach>
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectRecommendDataList" resultType="com.hzs.member.settlecenter.vo.RecommendDataBaseVO">
 | |
|         select memberCode,
 | |
|         memberName,
 | |
|         pkAwards,
 | |
|         awardsValue,
 | |
|         settleCountry,
 | |
|         vertexName,
 | |
|         pkVertex,
 | |
|         teamName,
 | |
|         cm.pkMember,
 | |
|         pkParent,
 | |
|         realAchieve,
 | |
|         realAmount,
 | |
|         firstAchieve,
 | |
|         firstAmount,
 | |
|         repeatAchieve,
 | |
|         repeatAmount,
 | |
|         hiFunAchieve,
 | |
|         hiFunAmount,
 | |
|         pkRate
 | |
|         from (select tt.*, level l
 | |
|         from (select t.member_code memberCode,
 | |
|         t.member_name memberName,
 | |
|         a.pk_transaction pkAwards,
 | |
|         a.pk_id,
 | |
|         a.awards_value awardsValue,
 | |
|         t.pk_settle_country settleCountry,
 | |
|         v.vertex_name vertexName,
 | |
|         t.pk_vertex pkVertex,
 | |
|         mt.team_name teamName,
 | |
|         t.pk_team_code,
 | |
|         t.period,
 | |
|         p.settle_date,
 | |
|         t.pk_member pkMember,
 | |
|         t.pk_parent pkParent
 | |
|         from ${memberTableName} t
 | |
|         left join bd_awards a
 | |
|         on t.pk_awards = a.pk_id
 | |
|         and a.del_flag = 0
 | |
|         left join bd_vertex v
 | |
|         on t.pk_vertex = v.pk_id
 | |
|         and v.del_flag = 0
 | |
|         left join cu_member_team mt
 | |
|         on mt.pk_id = t.pk_team_code
 | |
|         and mt.del_flag = 0
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = t.period
 | |
|         and p.del_flag = 0
 | |
|         where t.pay_status = 1
 | |
|         and t.category = 0
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) tt
 | |
|         where 1=1
 | |
|         <if test="pkAwards != null and pkAwards != ''">
 | |
|             and tt.pk_id = #{pkAwards}
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and tt.member_name like '%' || #{memberName} || '%'
 | |
|         </if>
 | |
|         <if test="pkSettleCountry != null">
 | |
|             and tt.settleCountry = #{pkSettleCountry}
 | |
|         </if>
 | |
|         <if test="pkVertexList != null">
 | |
|             and tt.pkVertex in
 | |
|             <foreach item="pkVertex" collection="pkVertexList" open="(" separator="," close=")">
 | |
|                 #{pkVertex}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         <if test="pkTeamCodeList != null">
 | |
|             and tt.pk_team_code in
 | |
|             <foreach item="pkTeamCode" collection="pkTeamCodeList" open="(" separator="," close=")">
 | |
|                 #{pkTeamCode}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         start with tt.pkMember = #{pkMember}
 | |
|         connect by prior tt.pkMember = tt.pkParent) cm,
 | |
|         (select ma.register_pv + ma.upgrade_pv + ma.repurchase_pv as realAchieve,
 | |
|         ma.register_amount + ma.upgrade_amount + repurchase_amount as realAmount,
 | |
|         ma.register_pv + ma.upgrade_pv as firstAchieve,
 | |
|         ma.register_amount + ma.upgrade_amount as firstAmount,
 | |
|         ma.repurchase_pv repeatAchieve,
 | |
|         ma.repurchase_amount repeatAmount,
 | |
|         ma.hi_fun_pv hiFunAchieve,
 | |
|         ma.hi_fun_amount hiFunAmount,
 | |
|         ma.pk_rate pkRate,
 | |
|         ma.pk_member pkMember
 | |
|         from ${achieveTableName} ma
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = ma.period
 | |
|         where ma.pk_country = #{pkSettleCountry}
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) a
 | |
|         where cm.pkMember = a.pkMember
 | |
|         order by cm.l desc
 | |
|     </select>
 | |
| 
 | |
|     <select id="selectRecommendDataListByPkMember" resultType="com.hzs.member.settlecenter.vo.RecommendDataBaseVO">
 | |
|         select ma.register_pv + ma.upgrade_pv + ma.repurchase_pv as realAchieve,
 | |
|         ma.register_amount + ma.upgrade_amount + repurchase_amount as realAmount,
 | |
|         ma.register_pv + ma.upgrade_pv as firstAchieve,
 | |
|         ma.register_amount + ma.upgrade_amount as firstAmount,
 | |
|         ma.repurchase_pv repeatAchieve,
 | |
|         ma.repurchase_amount repeatAmount,
 | |
|         ma.hi_fun_pv hiFunAchieve,
 | |
|         ma.hi_fun_amount hiFunAmount,
 | |
|         ma.pk_rate pkRate,
 | |
|         ma.pk_member pkMember
 | |
|         from ${achieveTableName} ma
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = ma.period
 | |
|         where ma.pk_country = #{pkSettleCountry}
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')
 | |
|         and ma.pk_member in
 | |
|         <foreach item="pkMember" collection="pkMembers" open="(" separator="," close=")">
 | |
|             #{pkMember}
 | |
|         </foreach>
 | |
| 
 | |
|     </select>
 | |
|     <select id="selectRecommendVertexValue" resultType="com.hzs.member.settlecenter.vo.RecommendDataDetailVO">
 | |
|         select sum(b.realAchieve) realAchieve,
 | |
|         sum(b.realAmount) realAmount,
 | |
|         sum(b.firstAchieve) firstAchieve,
 | |
|         sum(b.firstAmount) firstAmount,
 | |
|         sum(b.repeatAchieve) repeatAchieve,
 | |
|         sum(b.repeatAmount) repeatAmount,
 | |
|         sum(b.hiFunAchieve) hiFunAchieve,
 | |
|         sum(b.hiFunAmount) hiFunAmount,
 | |
|         a.pk_vertex pkVertex
 | |
|         from (select t.pk_member, t.pk_vertex
 | |
|         from ${memberTableName} t
 | |
|         left join bd_vertex v
 | |
|         on t.pk_vertex = v.pk_id
 | |
|         and v.del_flag = 0
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = t.period
 | |
|         and p.del_flag = 0
 | |
|         where t.pk_settle_country = #{pkSettleCountry}
 | |
|         and t.pay_status = 1
 | |
|         and t.category = 0
 | |
|         <if test="pkVertexList != null">
 | |
|             and t.pk_vertex in
 | |
|             <foreach item="pkVertex" collection="pkVertexList" open="(" separator="," close=")">
 | |
|                 #{pkVertex}
 | |
|             </foreach>
 | |
|         </if>
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) a,
 | |
|         (select ma.register_pv + ma.upgrade_pv + ma.repurchase_pv as realAchieve,
 | |
|         ma.register_amount + ma.upgrade_amount + repurchase_amount as realAmount,
 | |
|         ma.register_pv + ma.upgrade_pv as firstAchieve,
 | |
|         ma.register_amount + ma.upgrade_amount as firstAmount,
 | |
|         ma.repurchase_pv repeatAchieve,
 | |
|         ma.repurchase_amount repeatAmount,
 | |
|         ma.hi_fun_pv hiFunAchieve,
 | |
|         ma.hi_fun_amount hiFunAmount,
 | |
|         ma.pk_rate pkRate,
 | |
|         ma.pk_member pkMember
 | |
|         from ${achieveTableName} ma
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = ma.period
 | |
|         where ma.pk_country = #{pkSettleCountry}
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) b
 | |
|         where a.pk_member = b.pkMember
 | |
|         group by a.pk_vertex
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectRecommendMarketValue" resultType="com.hzs.member.settlecenter.vo.RecommendDataDetailVO">
 | |
|         select sum(b.realAchieve)   realAchieve,
 | |
|                sum(b.realAmount)    realAmount,
 | |
|                sum(b.firstAchieve)  firstAchieve,
 | |
|                sum(b.firstAmount)   firstAmount,
 | |
|                sum(b.repeatAchieve) repeatAchieve,
 | |
|                sum(b.repeatAmount)  repeatAmount,
 | |
|                sum(b.hiFunAchieve)  hiFunAchieve,
 | |
|                sum(b.hiFunAmount)   hiFunAmount
 | |
|         from (select t.pk_member, t.pk_vertex
 | |
|               from ${memberTableName} t
 | |
|                        left join cu_member_settle_period p
 | |
|                                  on p.pk_id = t.period
 | |
|                                      and p.del_flag = 0
 | |
|               where t.pk_settle_country = #{pkSettleCountry}
 | |
|                 and t.pay_status = 1
 | |
|                 and t.category = 0
 | |
|                 and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) a,
 | |
|              (select ma.register_pv + ma.upgrade_pv + ma.repurchase_pv          as realAchieve,
 | |
|                      ma.register_amount + ma.upgrade_amount + repurchase_amount as realAmount,
 | |
|                      ma.register_pv + ma.upgrade_pv                             as firstAchieve,
 | |
|                      ma.register_amount + ma.upgrade_amount                     as firstAmount,
 | |
|                      ma.repurchase_pv                                              repeatAchieve,
 | |
|                      ma.repurchase_amount                                          repeatAmount,
 | |
|                      ma.hi_fun_pv                                                  hiFunAchieve,
 | |
|                      ma.hi_fun_amount                                              hiFunAmount,
 | |
|                      ma.pk_rate,
 | |
|                      ma.pk_member
 | |
|               from ${achieveTableName} ma
 | |
|                        left join cu_member_settle_period p
 | |
|                                  on p.pk_id = ma.period
 | |
|               where ma.pk_country = #{pkSettleCountry}
 | |
|                 and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')) b
 | |
|         where a.pk_member = b.pk_member
 | |
|     </select>
 | |
| 
 | |
|     <select id="selectPlaceImage" resultType="com.hzs.member.settlecenter.vo.PlacementImageDataVO">
 | |
|         select sum(ma.a_sum_pv) leftSumAchieve,
 | |
|         sum(ma.b_sum_pv) rightSumAchieve,
 | |
|         sum(ma.rep_a_sum_pv) leftRegSumAchieve,
 | |
|         sum(ma.rep_b_sum_pv) rightRegSumAchieve,
 | |
|         sum(ma.a_sum_real_pv) leftRealSumAchieve,
 | |
|         sum(ma.b_sum_real_pv) rightRealSumAchieve
 | |
|         from ${achieveTableName} ma
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = ma.period
 | |
|         where ma.pk_country = #{pkSettleCountry}
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')
 | |
|         and ma.pk_member in
 | |
|         (select tt.pk_member
 | |
|         from (select t.pk_member, t.pk_place_parent
 | |
|         from ${memberTableName} t
 | |
|         left join cu_member_settle_period p
 | |
|         on p.pk_id = t.period
 | |
|         and p.del_flag = 0
 | |
|         where t.pay_status = 1
 | |
|         and t.category = 0
 | |
|         and t.pk_settle_country = #{pkSettleCountry}
 | |
|         and p.settle_date = to_date(#{date}, 'yyyy-mm-dd')
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and t.member_name like #{memberName} || '%'
 | |
|         </if>
 | |
|         ) tt
 | |
|         where 1 = 1
 | |
|         start with tt.pk_member = #{pkMember}
 | |
|         connect by prior tt.pk_member = tt.pk_place_parent)
 | |
|     </select>
 | |
| 
 | |
| 
 | |
|     <select id="selectRecommendVertexImage" resultType="com.hzs.member.settlecenter.vo.RecommendImageDataVO">
 | |
|         select sum(ma.a_sum_pv + ma.b_sum_pv)                   sumPv,
 | |
|                sum(ma.a_sum_amount + ma.b_sum_amount)           sumAmount,
 | |
|                sum(ma.rep_a_sum_pv + ma.rep_b_sum_pv)           repSumPv,
 | |
|                sum(ma.rep_a_sum_amount + ma.rep_b_sum_amount)   repSumAmount,
 | |
|                sum(ma.a_sum_real_pv + ma.b_sum_real_pv)         sumRealPv,
 | |
|                sum(ma.a_sum_real_amount + ma.b_sum_real_amount) sumRealAmount,
 | |
|                sum(ma.hi_fun_pv)                                hiFunPv,
 | |
|                sum(ma.hi_fun_amount)                            hiFunAmount
 | |
|         from ${achieveTableName} ma
 | |
|         where ma.pk_country = #{pkSettleCountry}
 | |
|           and ma.period = #{period}
 | |
|           and ma.pk_member in
 | |
|               (select tt.pk_member
 | |
|                from (select t.pk_member, t.pk_parent
 | |
|                      from ${memberTableName} t
 | |
|                      where t.pay_status = 1
 | |
|                        and t.category = 0
 | |
|                        and t.pk_settle_country = #{pkSettleCountry}
 | |
|                        and t.period = #{period}) tt
 | |
|                where 1 = 1
 | |
|         start with tt.pk_member = #{pkMember}
 | |
|         connect by prior tt.pk_member = tt.pk_parent)
 | |
|     </select>
 | |
| 
 | |
|     <select id="selectRecommendTeamImage" resultType="com.hzs.member.settlecenter.vo.RecommendImageDataVO">
 | |
|         select p.pk_team_code                                   pkTeam,
 | |
|                sum(ma.a_sum_pv + ma.b_sum_pv)                   sumPv,
 | |
|                sum(ma.a_sum_amount + ma.b_sum_amount)           sumAmount,
 | |
|                sum(ma.rep_a_sum_pv + ma.rep_b_sum_pv)           repSumPv,
 | |
|                sum(ma.rep_a_sum_amount + ma.rep_b_sum_amount)   repSumAmount,
 | |
|                sum(ma.a_sum_real_pv + ma.b_sum_real_pv)         sumRealPv,
 | |
|                sum(ma.a_sum_real_amount + ma.b_sum_real_amount) sumRealAmount,
 | |
|                sum(ma.hi_fun_pv)                                hiFunPv,
 | |
|                sum(ma.hi_fun_amount)                            hiFunAmount
 | |
|         from ${achieveTableName} ma,
 | |
|              (select tt.pk_member, tt.pk_team_code
 | |
|               from (select t.pk_member, t.pk_parent, t.pk_team_code
 | |
|                     from ${memberTableName} t
 | |
|                     where t.pay_status = 1
 | |
|                       and t.category = 0
 | |
|                       and t.pk_settle_country = #{pkSettleCountry}
 | |
|                       and t.period = #{period}) tt
 | |
|               where 1 = 1
 | |
|                   start
 | |
|               with tt.pk_member = #{pkMember}
 | |
|               connect by prior tt.pk_member = tt.pk_parent) p
 | |
|         where ma.pk_member = p.pk_member
 | |
|           and ma.pk_country = #{pkSettleCountry}
 | |
|           and ma.period = #{period}
 | |
|         group by p.pk_team_code
 | |
|     </select>
 | |
|     <select id="queryMemberMonthAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt">
 | |
|         select * from(
 | |
|         <foreach collection="monthList" item="item" separator=" union ">
 | |
|             select ${item} month,bc.out_exchange_rate,cm.pk_settle_country,member_name,bg.pk_transaction pk_grade,ba.pk_transaction pk_awards,
 | |
|             cm.A_SUM_PV,cm.B_SUM_PV,cm.REP_A_SUM_PV,cm.REP_B_SUM_PV,nvl((a.REGISTER_PV+a.UPGRADE_PV), 0) firstAchieve,
 | |
|             nvl((a.REPURCHASE_PV+a.HI_FUN_PV+a.MALL_PV), 0) repurchaseAchieve from cu_member_month${item} cm
 | |
|             inner join(
 | |
|             select #{pkMember} pk_member,sum(REGISTER_PV) REGISTER_PV,
 | |
|             sum(UPGRADE_PV) UPGRADE_PV,
 | |
|             sum(REPURCHASE_PV) REPURCHASE_PV,
 | |
|             sum(HI_FUN_PV) HI_FUN_PV,
 | |
|             sum(MALL_PV) MALL_PV from cu_member_month${item}
 | |
|             start with pk_parent = #{pkMember}
 | |
|             connect by pk_parent = prior pk_member)a
 | |
|             on cm.pk_member = a.pk_member
 | |
|             left join bd_grade bg
 | |
|             on bg.pk_id=cm.pk_grade
 | |
|             left join bd_awards ba
 | |
|             on ba.pk_id=cm.pk_awards
 | |
|             left join bd_currency bc
 | |
|             on bc.pk_country = cm.pk_settle_country
 | |
|         </foreach>)
 | |
|         order by month desc
 | |
|     </select>
 | |
| 
 | |
|     <select id="queryPlaceParentMemberMonthAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt">
 | |
|         select so.pk_member,so.order_type,cm.member_code,cm.member_name,
 | |
|         so.order_achieve,bc.out_exchange_rate,bg.pk_transaction pk_grade,
 | |
|         cm.pk_grade grade,ba.pk_transaction pk_awards,cm.pk_awards awards,cm.pk_settle_country,
 | |
|         cmt.pk_vertex,
 | |
|         cmt.nick_name,
 | |
|         cmt.service_code
 | |
|         from sa_order so
 | |
|         inner join(
 | |
|         select pk_member,member_code,member_name,PK_GRADE,PK_AWARDS,pk_settle_country from cu_member_month${month}
 | |
|         start with pk_place_parent = #{pkMember} and place_dept=#{placeDept}
 | |
|         connect by pk_place_parent = prior pk_member) cm
 | |
|         on so.pk_member=cm.pk_member
 | |
|         left join cu_member cmt
 | |
|         on cmt.pk_id = cm.pk_member
 | |
|         left join bd_grade bg
 | |
|         on bg.pk_id=cm.pk_grade
 | |
|         left join bd_awards ba
 | |
|         on ba.pk_id=cm.pk_awards
 | |
|         left join bd_currency bc
 | |
|         on bc.pk_country = cm.pk_settle_country
 | |
|         where so.del_flag=0 and so.order_status=1 and so.pay_time >= #{startDate, jdbcType=DATE}
 | |
|         and so.pay_time < #{endDate, jdbcType=DATE}
 | |
|         <if test="memberCode != null and memberCode != ''">
 | |
|             and (cm.member_code = #{memberCode} or cmt.SERVICE_CODE = #{memberCode})
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and (cm.member_name = #{memberName} or cmt.NICK_NAME = #{memberName})
 | |
|         </if>
 | |
|         <if test="pk_grade != null">
 | |
|             and cm.PK_GRADE = #{pk_grade}
 | |
|         </if>
 | |
|         <if test="pk_awards != null">
 | |
|             and cm.PK_AWARDS = #{pk_awards}
 | |
|         </if>
 | |
|         order by so.creation_time desc
 | |
|     </select>
 | |
| 
 | |
|     <select id="queryParentMemberMonthAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt">
 | |
|         select so.pk_member,so.order_type,cm.member_code,cm.member_name,
 | |
|         so.order_achieve,bc.out_exchange_rate,bg.pk_transaction pk_grade,
 | |
|         cm.pk_grade grade,ba.pk_transaction pk_awards,cm.pk_awards awards,cm.pk_settle_country,
 | |
|         cmt.pk_vertex,
 | |
|         cmt.nick_name,
 | |
|         cmt.service_code
 | |
|         from sa_order so
 | |
|         inner join(
 | |
|         select pk_member,member_code,member_name,PK_GRADE,PK_AWARDS,pk_settle_country from cu_member_month${month}
 | |
|         start with pk_parent = #{pkMember}
 | |
|         connect by pk_parent = prior pk_member) cm
 | |
|         on so.pk_member=cm.pk_member
 | |
|         left join cu_member cmt
 | |
|         on cmt.pk_id = cm.pk_member
 | |
|         left join bd_grade bg
 | |
|         on bg.pk_id=cm.pk_grade
 | |
|         left join bd_awards ba
 | |
|         on ba.pk_id=cm.pk_awards
 | |
|         left join bd_currency bc
 | |
|         on bc.pk_country = cm.pk_settle_country
 | |
|         where so.del_flag=0 and so.order_status=1 and so.pay_time >= #{startDate, jdbcType=DATE}
 | |
|         and so.pay_time < #{endDate, jdbcType=DATE}
 | |
|         <if test="memberCode != null and memberCode != ''">
 | |
|             and (cm.member_code = #{memberCode} or cmt.SERVICE_CODE = #{memberCode})
 | |
|         </if>
 | |
|         <if test="memberName != null and memberName != ''">
 | |
|             and (cm.member_name = #{memberName} or cmt.NICK_NAME = #{memberName})
 | |
|         </if>
 | |
|         <if test="pk_grade != null">
 | |
|             and cm.PK_GRADE = #{pk_grade}
 | |
|         </if>
 | |
|         <if test="pk_awards != null">
 | |
|             and cm.PK_AWARDS = #{pk_awards}
 | |
|         </if>
 | |
|         order by so.creation_time desc
 | |
|     </select>
 | |
| </mapper>
 |