1693 lines
		
	
	
		
			92 KiB
		
	
	
	
		
			XML
		
	
	
	
		
		
			
		
	
	
			1693 lines
		
	
	
		
			92 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.bonus.achieve.mapper.CuMemberTreeMapper"> | ||
|  | 
 | ||
|  |     <!-- 通用查询映射结果 --> | ||
|  |     <resultMap id="CuMemberSettleExt" type="com.hzs.common.domain.member.ext.CuMemberSettleExt"> | ||
|  |         <id column="PK_ID" property="pkId" /> | ||
|  |         <result column="PERIOD" property="period" /> | ||
|  |         <result column="PK_MEMBER" property="pkMember" /> | ||
|  |         <result column="PK_PARENT" property="pkParent" /> | ||
|  |         <result column="PK_PLACE_PARENT" property="pkPlaceParent" /> | ||
|  |         <result column="PLACE_DEPT" property="placeDept" /> | ||
|  |         <result column="MEMBER_CODE" property="memberCode" /> | ||
|  |         <result column="MEMBER_NAME" property="memberName" /> | ||
|  |         <result column="CUSTOMER_TYPE" property="customerType" /> | ||
|  |         <result column="PHONE" property="phone" /> | ||
|  |         <result column="PK_GRADE" property="pkGrade" /> | ||
|  |         <result column="PK_ORI_AWARDS" property="pkOriAwards" /> | ||
|  |         <result column="PK_AWARDS" property="pkAwards" /> | ||
|  |         <result column="ACCOUNT_STATUS" property="accountStatus"/> | ||
|  |         <result column="PAY_STATUS" property="payStatus" /> | ||
|  |         <result column="REGISTER_AUTHORITY" property="registerAuthority"/> | ||
|  |         <result column="CATEGORY" property="category"/> | ||
|  |         <result column="PURCHASE_TYPE" property="purchaseType"/> | ||
|  |         <result column="PURCHASE_STATUS" property="purchaseStatus" /> | ||
|  |         <result column="SHARE_STATUS" property="shareStatus"/> | ||
|  |         <result column="INCOME_STATUS" property="incomeStatus"/> | ||
|  |         <result column="PK_TEAM_CODE" property="pkTeamCode"/> | ||
|  |         <result column="PK_CENTER_CODE" property="pkCenterCode"/> | ||
|  |         <result column="PK_VERTEX" property="pkVertex"/> | ||
|  |         <result column="PK_SETTLE_COUNTRY" property="pkSettleCountry" /> | ||
|  |         <result column="IS_REAL_NAME" property="isRealName"/> | ||
|  |         <result column="IS_BUS_LICENSE" property="isBusLicense"/> | ||
|  |         <result column="IS_MAKER_SPACE" property="isMakerSpace"/> | ||
|  |         <result column="PK_COUNTRY" property="pkCountry" /> | ||
|  |         <result column="PK_RATE" property="pkRate" /> | ||
|  |         <result column="A_BALANCE" property="aBalance" /> | ||
|  |         <result column="B_BALANCE" property="bBalance" /> | ||
|  |         <result column="R_A_BALANCE" property="rABalance" /> | ||
|  |         <result column="R_B_BALANCE" property="rBBalance" /> | ||
|  |         <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="R_REP_A_BALANCE" property="rRepABalance" /> | ||
|  |         <result column="R_REP_B_BALANCE" property="rRepBBalance" /> | ||
|  |         <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="MIN_ACHIEVE" property="minAchieve" /> | ||
|  |         <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="ROUND" property="round" /> | ||
|  |         <result column="SECOND" property="second" /> | ||
|  |         <result column="ASSESS_TYPE" property="assessType"/> | ||
|  |         <result column="PK_ORDER" property="pkOrder" /> | ||
|  |         <result column="LEVEL" property="level" /> | ||
|  |         <result column="GRADE_VALUE" property="gradeValue" /> | ||
|  |         <result column="parentMemberCode" property="parentMemberCode" /> | ||
|  |         <result column="AP_PK_ID" property="apPkId" /> | ||
|  |         <result column="USABLE_QUANTITY" property="usableQuantity"/> | ||
|  |         <result column="RETAIL_PRICE" property="retailPrice" /> | ||
|  |         <result column="PK_DATA_ID" property="pkDataId" /> | ||
|  |         <result column="directPushNumber" property="directPushNumber" /> | ||
|  |         <result column="historyPerformancePv" property="historyPerformancePv" /> | ||
|  |         <result column="STORE_LEVEL" property="storeLevel" /> | ||
|  |         <result column="IS_MAKER_GIFT" property="isMakerGift" /> | ||
|  |         <result column="EXPIRE_STATUS" property="expireStatus" /> | ||
|  |         <result column="IS_PAY_REG" property="isPayReg" /> | ||
|  |     </resultMap> | ||
|  | 
 | ||
|  |     <!-- 会员网体月表数据,用于查询 网体跟业绩分开 横向分表--> | ||
|  |     <sql id="CuMemberTreeColumn"> | ||
|  |         period            NUMBER(6) default 0 not null, | ||
|  |         pk_member         NUMBER(20) not null, | ||
|  |         pk_parent         NUMBER(20) not null, | ||
|  |         pk_place_parent   NUMBER(20), | ||
|  |         place_dept        NUMBER(3), | ||
|  |         member_code       VARCHAR2(30) not null, | ||
|  |         member_name       VARCHAR2(100) not null, | ||
|  |         customer_type     NUMBER(2) not null, | ||
|  |         phone             VARCHAR2(40) not null, | ||
|  |         pk_grade          NUMBER(4) not null, | ||
|  |         pk_awards         NUMBER(4) not null, | ||
|  |         account_status    number(1) default 0 not null, | ||
|  |         pay_status         NUMBER(2) default 0 not null, | ||
|  |         register_authority number(2) default 0 not null, | ||
|  |         category        number(2)  default 0 not null, | ||
|  |         purchase_type    number(2)  default 0 not null, | ||
|  |         purchase_status number(2)  default 0 not null, | ||
|  |         share_status  number(2)  default 0 not null, | ||
|  |         income_status number(2) default 0 not null, | ||
|  |         pk_team_code number(20), | ||
|  |         pk_center_code number(20), | ||
|  |         pk_vertex    number(20), | ||
|  |         pk_settle_country number(4) not null, | ||
|  |         is_real_name    NUMBER(1) default 1 not null, | ||
|  |         is_bus_license     NUMBER(1) default 1 not null, | ||
|  |         is_maker_space     NUMBER(1) default 1 not null, | ||
|  |         pk_country        number(4) default 1 not null, | ||
|  |         store_level       NUMBER(2) default 0, | ||
|  |         is_maker_gift     NUMBER(1) default 1, | ||
|  |         expire_status     number(1) default 1 | ||
|  |     </sql> | ||
|  | 
 | ||
|  |     <!-- 结算数据会员网体+业绩数据,用于结算 网体跟业绩冗余在一起--> | ||
|  |     <sql id="CuMemberSettleColumn"> | ||
|  |             <include refid="CuMemberTreeColumn"></include>, | ||
|  |             <include refid="CuMemberSettleDetailColumn"></include>, | ||
|  |             <include refid="CuMemberBackColumn"></include> | ||
|  |     </sql> | ||
|  |     <sql id="CuMemberSettleDetailColumn"> | ||
|  |             pk_rate           NUMBER(6) , | ||
|  |             a_balance         NUMBER(17,6) default 0 not null, | ||
|  |             b_balance         NUMBER(17,6) default 0 not null, | ||
|  |             a_sum_amount      NUMBER(17,6) default 0 not null, | ||
|  |             b_sum_amount      NUMBER(17,6) default 0 not null, | ||
|  |             a_sum_pv          NUMBER(17,6) default 0 not null, | ||
|  |             b_sum_pv          NUMBER(17,6) default 0 not null, | ||
|  |             a_new_amount      NUMBER(17,6) default 0 not null, | ||
|  |             b_new_amount      NUMBER(17,6) default 0 not null, | ||
|  |             a_new_pv          NUMBER(17,6) default 0 not null, | ||
|  |             b_new_pv          NUMBER(17,6) default 0 not null, | ||
|  |             a_sum_real_amount NUMBER(17,6) default 0 not null, | ||
|  |             b_sum_real_amount NUMBER(17,6) default 0 not null, | ||
|  |             a_sum_real_pv     NUMBER(17,6) default 0 not null, | ||
|  |             b_sum_real_pv     NUMBER(17,6) default 0 not null, | ||
|  |             rep_a_balance     NUMBER(17,6) default 0 not null, | ||
|  |             rep_b_balance     NUMBER(17,6) default 0 not null, | ||
|  |             rep_a_new_amount  NUMBER(17,6) default 0 not null, | ||
|  |             rep_b_new_amount  NUMBER(17,6) default 0 not null, | ||
|  |             rep_a_new_pv      NUMBER(17,6) default 0 not null, | ||
|  |             rep_b_new_pv      NUMBER(17,6) default 0 not null, | ||
|  |             rep_a_sum_amount  NUMBER(17,6) default 0 not null, | ||
|  |             rep_b_sum_amount  NUMBER(17,6) default 0 not null, | ||
|  |             rep_a_sum_pv      NUMBER(17,6) default 0 not null, | ||
|  |             rep_b_sum_pv      NUMBER(17,6) default 0 not null, | ||
|  |             register_amount  NUMBER(17,6) default 0 not null, | ||
|  |             register_pv     NUMBER(17,6) default 0 not null, | ||
|  |             register_new_amount     NUMBER(17,6) default 0 not null, | ||
|  |             register_new_pv NUMBER(17,6) default 0 not null, | ||
|  |             upgrade_amount  NUMBER(17,6) default 0 not null, | ||
|  |             upgrade_pv      NUMBER(17,6) default 0 not null, | ||
|  |             upgrade_new_amount       NUMBER(17,6) default 0 not null, | ||
|  |             upgrade_new_pv NUMBER(17,6) default 0 not null, | ||
|  |             repurchase_amount NUMBER(17,6) default 0 not null, | ||
|  |             repurchase_pv   NUMBER(17,6) default 0 not null, | ||
|  |             repurchase_new_amount    NUMBER(17,6) default 0 not null, | ||
|  |             repurchase_new_pv NUMBER(17,6) default 0 not null, | ||
|  |             hi_fun_amount NUMBER(17,6) default 0 not null, | ||
|  |             hi_fun_pv   NUMBER(17,6) default 0 not null, | ||
|  |             hi_fun_new_amount        NUMBER(17,6) default 0 not null, | ||
|  |             hi_fun_new_pv NUMBER(17,6) default 0 not null, | ||
|  |             mall_amount NUMBER(17,6) default 0 not null, | ||
|  |             mall_pv     NUMBER(17,6) default 0 not null, | ||
|  |             mall_new_amount          NUMBER(17,6) default 0 not null, | ||
|  |             mall_new_pv NUMBER(17,6) default 0 not null, | ||
|  |             REGISTER_Blo_NEW_PV  NUMBER(17,6) default 0 not null, | ||
|  |             UPGRADE_Blo_NEW_PV    NUMBER(17,6) default 0 not null, | ||
|  |             REPURCHASE_Blo_NEW_PV    NUMBER(17,6) default 0 not null, | ||
|  |             HI_FUN_Blo_NEW_PV    NUMBER(17,6) default 0 not null, | ||
|  |             MALL_Blo_NEW_PV    NUMBER(17,6) default 0 not null, | ||
|  |             min_achieve       number(17,6) default 0 not null, | ||
|  |             round             NUMBER(6) default 0 not null, | ||
|  |             second            NUMBER(4) default 1 not null | ||
|  |     </sql> | ||
|  |     <sql id="memberParent"> | ||
|  |         select pk_member,pk_parent,member_code,member_name,a.pk_awards,account_status,a.register_authority,customer_type, | ||
|  |         income_status,pk_settle_country,purchase_status,share_status,is_maker_space, | ||
|  |         a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, | ||
|  |         register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code, | ||
|  |         repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_grade, | ||
|  |         min_achieve,round,second,bg.grade_value,store_level,expire_status from ( | ||
|  |         <include refid="QueryMemberParent"></include> | ||
|  |         ) a | ||
|  |         inner join bd_grade bg | ||
|  |         on a.pk_grade = bg.pk_id | ||
|  |     </sql> | ||
|  |     <sql id="CuMemberBackColumn"> | ||
|  |             net_first_achieve   NUMBER(17,6) default 0 not null, | ||
|  |             net_repurchase_achieve  NUMBER(17,6) default 0 not null, | ||
|  |             r_a_balance         NUMBER(17,6) default 0 not null, | ||
|  |             r_b_balance         NUMBER(17,6) default 0 not null, | ||
|  |             r_a_sum_amount      NUMBER(17,6) default 0 not null, | ||
|  |             r_b_sum_amount      NUMBER(17,6) default 0 not null, | ||
|  |             r_a_sum_pv          NUMBER(17,6) default 0 not null, | ||
|  |             r_b_sum_pv          NUMBER(17,6) default 0 not null, | ||
|  |             r_a_sum_real_amount NUMBER(17,6) default 0 not null, | ||
|  |             r_b_sum_real_amount NUMBER(17,6) default 0 not null, | ||
|  |             r_a_sum_real_pv     NUMBER(17,6) default 0 not null, | ||
|  |             r_b_sum_real_pv     NUMBER(17,6) default 0 not null, | ||
|  |             r_rep_a_balance     NUMBER(17,6) default 0 not null, | ||
|  |             r_rep_b_balance     NUMBER(17,6) default 0 not null, | ||
|  |             r_rep_a_sum_amount  NUMBER(17,6) default 0 not null, | ||
|  |             r_rep_b_sum_amount  NUMBER(17,6) default 0 not null, | ||
|  |             r_rep_a_sum_pv      NUMBER(17,6) default 0 not null, | ||
|  |             r_rep_b_sum_pv      NUMBER(17,6) default 0 not null | ||
|  |     </sql> | ||
|  |     <sql id="CuMemberTableTrig"> | ||
|  |         CREATE OR REPLACE TRIGGER ${tableName}_TRIG | ||
|  |                       BEFORE INSERT OR UPDATE ON ${tableName} | ||
|  |             FOR EACH ROW | ||
|  |             DECLARE | ||
|  |             v_newVal NUMBER(12) := 0; | ||
|  |         v_incval NUMBER(12) := 0; | ||
|  |         BEGIN | ||
|  |             IF INSERTING AND :new.pk_id IS NULL THEN | ||
|  |         SELECT | ||
|  |             ${tableNameSeq}.NEXTVAL | ||
|  |         INTO v_newVal | ||
|  |         FROM DUAL; | ||
|  |         IF v_newVal = 1 THEN | ||
|  |         SELECT NVL(max(pk_id), 0) INTO v_newVal FROM ${tableName}; | ||
|  |         v_newVal := v_newVal + 1; | ||
|  |         LOOP | ||
|  |                 EXIT WHEN v_incval >= v_newVal; | ||
|  |         SELECT ${tableNameSeq}.nextval INTO v_incval | ||
|  |         FROM dual; | ||
|  |         END LOOP; | ||
|  |         END IF; | ||
|  |         :new.pk_id := v_newVal; | ||
|  |         END IF; | ||
|  |         END; | ||
|  |     </sql> | ||
|  |     <sql id="QueryMemberParent"> | ||
|  |         <foreach collection="pkMemberList" item="item" open=" " close=" " separator=" union "> | ||
|  |             select pk_member,pk_parent,member_code,member_name,pk_awards,account_status, | ||
|  |             register_authority,customer_type,income_status,pk_settle_country,purchase_status,share_status,is_maker_space, | ||
|  |             a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, | ||
|  |             register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code, | ||
|  |             repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_grade, | ||
|  |             min_achieve,round,second,store_level,expire_status | ||
|  |             from ${settleTableName} | ||
|  |             where pay_status = 1 | ||
|  |             start with pk_member = #{item} | ||
|  |             connect by pk_member = prior pk_parent | ||
|  |         </foreach> | ||
|  |     </sql> | ||
|  | 
 | ||
|  |     <insert id="insertCuMemberSettleByMember"> | ||
|  |         insert into ${settleTableName}(pk_member,pk_parent,pk_place_parent,place_dept,member_code,member_name, | ||
|  |                                        customer_type,phone,pk_grade,pk_awards,account_status,pay_status,register_authority,category, | ||
|  |                                        purchase_type,purchase_status,share_status,income_status,pk_team_code,is_maker_space, | ||
|  |                                        pk_center_code,pk_vertex,pk_settle_country,is_real_name,pk_country,pk_rate, | ||
|  |                                        store_level,is_maker_gift,expire_status) | ||
|  |         select cm.pk_id,pk_parent,pk_place_parent,place_dept,member_code,member_name, | ||
|  |         customer_type,phone,pk_settle_grade,pk_awards,account_status,pay_status,register_authority,category, | ||
|  |         (case when purchase_status = 0 then 1 else 0 end) purchase_type, | ||
|  |         purchase_status,share_status,income_status,pk_team_code,is_maker_space,pk_center_code, | ||
|  |         pk_vertex,pk_settle_country,is_real_name,cm.pk_country,nvl(bc.pk_id,-1) pk_rate, | ||
|  |         nvl(b.store_level,0) store_level,cm.is_maker_gift,cm.expire_status from cu_member cm | ||
|  |         left join ( | ||
|  |         select pk_country,max(pk_id) pk_id from bd_currency | ||
|  |         where del_flag=0 and pk_country=1 and enable_state=0 and effective_date <=sysdate | ||
|  |         group by pk_country) bc | ||
|  |         on cm.pk_settle_country = bc.pk_country | ||
|  |         left join( | ||
|  |             select pk_member,store_level from cu_maker_space | ||
|  |             where del_flag=0 and approve_status=5 | ||
|  |               and apply_status=5 and store_type=1 | ||
|  |         ) b | ||
|  |         on  cm.pk_id=b.pk_member | ||
|  |         where cm.del_flag=0 and cm.system_type=0 | ||
|  |     </insert> | ||
|  |     <insert id="insertCuMemberTreeBySettleDate"> | ||
|  |         insert into ${targetTableName}(period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, | ||
|  |         member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, | ||
|  |         register_authority,category,purchase_type,purchase_status, | ||
|  |         share_status,income_status,pk_team_code,pk_center_code,pk_vertex, | ||
|  |         pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country) | ||
|  |         select #{period} period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, | ||
|  |                member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, | ||
|  |                register_authority,category,purchase_type,purchase_status, | ||
|  |                share_status,income_status,pk_team_code,pk_center_code,pk_vertex, | ||
|  |                pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country from ${sourceTableName} | ||
|  |     </insert> | ||
|  | 
 | ||
|  |     <update id="createCuMemberTreeTable"> | ||
|  |         create table ${tableName} | ||
|  |         ( | ||
|  |             pk_id         NUMBER(20) primary key, | ||
|  |             <include refid="CuMemberTreeColumn"></include> | ||
|  |         ) | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="createCuMemberSettleTable"> | ||
|  |         create table ${tableName} | ||
|  |         ( | ||
|  |         <include refid="CuMemberSettleColumn"></include> | ||
|  |         ) | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="createCuMemberSecondTable"> | ||
|  |         create table ${tableName} | ||
|  |         ( | ||
|  |             pk_member         NUMBER(20) not null, | ||
|  |             pk_country        number(4) default 1 not null, | ||
|  |         expire_status     number(1) default 1, | ||
|  |             <include refid="CuMemberSettleDetailColumn"></include> | ||
|  |         ) | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="createCuMemberTreeParentIndex"> | ||
|  |         create index ${tableName}_parent on ${tableName}(pk_parent) | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="createCuMemberTreePlaceIndex"> | ||
|  |         create index ${tableName}_place on ${tableName}(pk_place_parent,place_dept) | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="createCuMemberTableUniqueIndex"> | ||
|  |         create unique index ${tableName}_PK_M on ${tableName}(PK_MEMBER,period) | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="createCuMemberTreeDayOnlyIndex"> | ||
|  |         create unique index ${tableName}_PK_M on ${tableName}(PK_MEMBER) | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberTreeByCancelOrder"> | ||
|  |         update ${settleTableName} set customer_type =2,category =1 | ||
|  |         where pk_member in | ||
|  |         <foreach collection="saOrderExtList" item="item" open="(" close=")" separator=","> | ||
|  |             #{item.pkMember} | ||
|  |         </foreach> | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberSettleByPeriod"> | ||
|  |         merge into ${updateTableName} a | ||
|  |         using( | ||
|  |             select pk_member,max(new_level) pk_awards from cu_member_awards | ||
|  |               where period = #{period} and del_flag=0 | ||
|  |               group by pk_member) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set | ||
|  |             a.pk_awards = b.pk_awards | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <insert id="insertCuMemberSettleByHis"> | ||
|  |         insert into ${settleTableName}(pk_member,PK_PARENT,PK_PLACE_PARENT,PLACE_DEPT,MEMBER_CODE,member_name, | ||
|  |                                        CUSTOMER_TYPE,PHONE,PK_GRADE,PK_AWARDS,ACCOUNT_STATUS,PAY_STATUS,REGISTER_AUTHORITY, | ||
|  |                                        CATEGORY,PURCHASE_TYPE,PURCHASE_STATUS,SHARE_STATUS,INCOME_STATUS,PK_TEAM_CODE,PK_CENTER_CODE, | ||
|  |                                        PK_VERTEX,PK_SETTLE_COUNTRY,IS_REAL_NAME,IS_BUS_LICENSE,IS_MAKER_SPACE,PK_COUNTRY,PK_RATE, | ||
|  |                                        a_balance,b_balance,A_SUM_AMOUNT,B_SUM_AMOUNT,A_SUM_PV,B_SUM_PV, | ||
|  |                                        A_NEW_AMOUNT,B_NEW_AMOUNT,A_NEW_PV,B_NEW_PV,A_SUM_REAL_AMOUNT,B_SUM_REAL_AMOUNT,A_SUM_REAL_PV,B_SUM_REAL_PV, | ||
|  |                                        REP_A_BALANCE,REP_B_BALANCE,REP_A_NEW_AMOUNT,REP_B_NEW_AMOUNT,REP_A_NEW_PV,REP_B_NEW_PV,REP_A_SUM_AMOUNT, | ||
|  |                                        REP_B_SUM_AMOUNT,REP_A_SUM_PV,REP_B_SUM_PV,REGISTER_AMOUNT,REGISTER_PV,REGISTER_NEW_AMOUNT,REGISTER_NEW_PV, | ||
|  |                                        UPGRADE_AMOUNT,UPGRADE_PV,UPGRADE_NEW_AMOUNT,UPGRADE_NEW_PV,REPURCHASE_AMOUNT,REPURCHASE_PV, | ||
|  |                                        REPURCHASE_NEW_AMOUNT,REPURCHASE_NEW_PV,HI_FUN_AMOUNT,HI_FUN_PV,HI_FUN_NEW_AMOUNT,HI_FUN_NEW_PV, | ||
|  |                                        MALL_AMOUNT,MALL_PV,MALL_NEW_AMOUNT,MALL_NEW_PV,REGISTER_BLO_NEW_PV,UPGRADE_BLO_NEW_PV,REPURCHASE_BLO_NEW_PV, | ||
|  |                                        HI_FUN_BLO_NEW_PV,MALL_BLO_NEW_PV,MIN_ACHIEVE,ROUND,SECOND) | ||
|  |         select ca.pk_member,ca.PK_PARENT,ca.PK_PLACE_PARENT,ca.PLACE_DEPT,ca.MEMBER_CODE,ca.member_name, | ||
|  |                ca.CUSTOMER_TYPE,ca.PHONE,PK_GRADE,PK_AWARDS,ACCOUNT_STATUS,PAY_STATUS,REGISTER_AUTHORITY, | ||
|  |                CATEGORY,PURCHASE_TYPE,PURCHASE_STATUS,SHARE_STATUS,INCOME_STATUS,PK_TEAM_CODE,PK_CENTER_CODE, | ||
|  |                PK_VERTEX,ca.PK_SETTLE_COUNTRY,IS_REAL_NAME,IS_BUS_LICENSE,IS_MAKER_SPACE,ca.PK_COUNTRY,PK_RATE, | ||
|  |                a_balance,b_balance,A_SUM_AMOUNT,B_SUM_AMOUNT,A_SUM_PV,B_SUM_PV, | ||
|  |                A_NEW_AMOUNT,B_NEW_AMOUNT,A_NEW_PV,B_NEW_PV,A_SUM_REAL_AMOUNT,B_SUM_REAL_AMOUNT,A_SUM_REAL_PV,B_SUM_REAL_PV, | ||
|  |                REP_A_BALANCE,REP_B_BALANCE,REP_A_NEW_AMOUNT,REP_B_NEW_AMOUNT,REP_A_NEW_PV,REP_B_NEW_PV,REP_A_SUM_AMOUNT, | ||
|  |                REP_B_SUM_AMOUNT,REP_A_SUM_PV,REP_B_SUM_PV,REGISTER_AMOUNT,REGISTER_PV,REGISTER_NEW_AMOUNT,REGISTER_NEW_PV, | ||
|  |                UPGRADE_AMOUNT,UPGRADE_PV,UPGRADE_NEW_AMOUNT,UPGRADE_NEW_PV,REPURCHASE_AMOUNT,REPURCHASE_PV, | ||
|  |                REPURCHASE_NEW_AMOUNT,REPURCHASE_NEW_PV,HI_FUN_AMOUNT,HI_FUN_PV,HI_FUN_NEW_AMOUNT,HI_FUN_NEW_PV, | ||
|  |                MALL_AMOUNT,MALL_PV,MALL_NEW_AMOUNT,MALL_NEW_PV,REGISTER_BLO_NEW_PV,UPGRADE_BLO_NEW_PV,REPURCHASE_BLO_NEW_PV, | ||
|  |                HI_FUN_BLO_NEW_PV,MALL_BLO_NEW_PV,0 MIN_ACHIEVE,0 ROUND,1 SECOND from ${achieveTableName} ct | ||
|  |                                                                                          inner join ${treeTableName} ca | ||
|  |                                                                                                     on ca.pk_member=ct.pk_member and ca.period=ct.period | ||
|  |         where ca.period=#{period} | ||
|  |     </insert> | ||
|  |     <insert id="insertCuMemberRangeByMember"> | ||
|  |         insert into ${settleTableName}(pk_member,pk_parent,member_code,member_name, | ||
|  |                                        customer_type,phone,pk_grade,pk_awards,pk_range_awards,pk_benefit_awards,account_status,pay_status,register_authority,category, | ||
|  |                                        purchase_status,income_status,pk_team_code, | ||
|  |                                        pk_center_code,pk_vertex,pk_settle_country,is_real_name,pk_country,pk_rate,assess_status,month_member,range_store_status,pay_time) | ||
|  |         select cm.pk_id,pk_parent,member_code,member_name, | ||
|  |                customer_type,phone,pk_settle_grade,cm.pk_awards,pk_range_awards,pk_benefit_awards,account_status,pay_status,register_authority,category, | ||
|  |                purchase_status,income_status,pk_team_code,pk_center_code, | ||
|  |                pk_vertex,pk_settle_country,is_real_name,cm.pk_country,nvl(bc.pk_id,-1) pk_rate, | ||
|  |                (case when nvl(ca.assess_status,2)=1 then 0 else nvl(ca.assess_status,2) end) assess_status, | ||
|  |                (case when pay_time>#{firstDate,jdbcType=DATE} then 0 else 1 end) month_member,nvl(cs.status,0) range_store_status,cm.pay_time from cu_member cm | ||
|  |             left join ( | ||
|  |             select pk_country,max(pk_id) pk_id from bd_currency | ||
|  |             where del_flag=0 and pk_country=1 and enable_state=0 and effective_date <=sysdate | ||
|  |             group by pk_country) bc | ||
|  |             on cm.pk_settle_country = bc.pk_country | ||
|  |             left join cu_range_store cs | ||
|  |             on cs.pk_member=cm.pk_id and cs.del_flag=0 | ||
|  |             left join cu_member_assess${year} ca | ||
|  |             on ca.pk_member=cm.pk_id and ca.period=#{period} and ca.assess_type=0 | ||
|  |         where cm.del_flag=0 and cm.system_type=1 | ||
|  |     </insert> | ||
|  |     <insert id="insertCuMemberRetailRangeByMember"> | ||
|  |         insert into ${settleTableName}(pk_member,pk_parent,member_code,member_name, | ||
|  |                                        customer_type,phone,pk_grade,pk_awards,account_status,pay_status,category, | ||
|  |                                        purchase_status,income_status,pk_team_code, | ||
|  |                                        pk_center_code,pk_vertex,pk_settle_country,is_real_name, | ||
|  |                                        pk_country,pk_rate,pay_time,region_address,system_type,enable_status) | ||
|  |         select cm.pk_id,pk_parent,member_code,member_name, | ||
|  |                customer_type,phone,pk_settle_grade,cm.pk_awards,account_status,pay_status,category, | ||
|  |                purchase_status,income_status,pk_team_code,pk_center_code, | ||
|  |                pk_vertex,pk_settle_country,is_real_name,cm.pk_country,nvl(bc.pk_id,-1) pk_rate, | ||
|  |                cm.pay_time,nvl(cr.county,0) country,cm.system_type,cm.is_activate from cu_member cm | ||
|  |            left join ( | ||
|  |             select pk_country,max(pk_id) pk_id from bd_currency | ||
|  |             where del_flag=0 and pk_country=1 and enable_state=0 and effective_date <=sysdate | ||
|  |             group by pk_country) bc | ||
|  |             on cm.pk_settle_country = bc.pk_country | ||
|  |             left join cu_member_retail_region cr | ||
|  |             on cr.pk_member=cm.pk_id and cr.effective=0 and cr.del_flag=0 | ||
|  |         where cm.del_flag=0 | ||
|  |     </insert> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberSettleMonthByPeriod"> | ||
|  |         merge into ${updateTableName} a | ||
|  |         using(select pk_member,pk_awards from tmp_cu_member_awards) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set | ||
|  |         a.pk_awards = b.pk_awards | ||
|  |         where period >= #{period} | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="createCuMemberTableSequence" statementType="STATEMENT"> | ||
|  |         <include refid="CuMemberTableTrig"></include> | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberSettleExemptByAward"> | ||
|  |         merge into ${settleTableName} a | ||
|  |         using ( | ||
|  |         select pk_member,max(purchase_type) purchase_type from( | ||
|  |         select pk_id pk_member,2 purchase_type from cu_member where del_flag =0 | ||
|  |         and category =0 and pay_status = 1 | ||
|  |         and pay_time >= #{startDate, jdbcType=DATE} and pay_time < #{endDate, jdbcType=DATE} | ||
|  |         union | ||
|  |         select pk_member,3 purchase_type from cu_member_awards | ||
|  |         where del_flag=0 and purchase_status= 0 and | ||
|  |         creation_time >= #{startDate, jdbcType=DATE} and creation_time < #{endDate, jdbcType=DATE}) | ||
|  |         group by pk_member | ||
|  |         ) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set a.purchase_status=0,a.purchase_type=b.purchase_type | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberSettle"> | ||
|  |         merge into ${settleTableName} a | ||
|  |         using( | ||
|  |             select * from ( | ||
|  |         <foreach collection="cuMemberTreeList" item="item" open=" " separator=" union " close=" "> | ||
|  |             select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} b_balance, | ||
|  |             #{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv} b_new_pv, | ||
|  |             #{item.repABalance} rep_a_balance,#{item.repBBalance} rep_b_balance,#{item.repANewAmount} rep_a_new_amount, | ||
|  |             #{item.repBNewAmount} rep_b_new_amount,#{item.repANewPv} rep_a_new_pv,#{item.repBNewPv} rep_b_new_pv, | ||
|  |             #{item.registerAmount} register_amount,#{item.registerPv} register_pv,#{item.registerNewAmount} register_new_amount,#{item.registerNewPv} register_new_pv, | ||
|  |             #{item.upgradeAmount} upgrade_amount,#{item.upgradePv} upgrade_pv,#{item.upgradeNewAmount} upgrade_new_amount,#{item.upgradeNewPv} upgrade_new_pv, | ||
|  |             #{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewAmount} repurchase_new_amount,#{item.repurchaseNewPv} repurchase_new_pV, | ||
|  |             #{item.hiFunAmount} hi_fun_amount,#{item.hiFunPv} hi_fun_pv,#{item.hiFunNewAmount} hi_fun_new_amount,#{item.hiFunNewPv} hi_fun_new_pv, | ||
|  |             #{item.mallAmount} mall_amount,#{item.mallPv} mall_pv,#{item.mallNewAmount} mall_new_amount,#{item.mallNewPv} mall_new_pv, | ||
|  |             #{item.registerBloNewPv} register_blo_new_pv,#{item.upgradeBloNewPv} upgrade_blo_new_pv,#{item.repurchaseBloNewPv} repurchase_blo_new_pv, | ||
|  |             #{item.hiFunBloNewPv} hi_fun_blo_new_pv,#{item.mallBloNewPv} mall_blo_new_pv, | ||
|  |             #{item.rABalance} r_a_balance,#{item.rBBalance} r_b_balance,#{item.rRepABalance} r_rep_a_balance, | ||
|  |             #{item.rRepBBalance} r_rep_b_balance,#{item.minAchieve} min_achieve,#{item.round} round,#{item.second} second from dual | ||
|  |         </foreach>) | ||
|  |         ) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set a.a_balance = b.a_balance, a.b_balance=b.b_balance,a.a_new_amount=b.a_new_amount, | ||
|  |         a.b_new_amount=b.b_new_amount,a.a_new_pv=b.a_new_pv,a.b_new_pv=b.b_new_pv,a.rep_a_balance=b.rep_a_balance, | ||
|  |         a.rep_b_balance=b.rep_b_balance, a.rep_a_new_amount=b.rep_a_new_amount,a.rep_b_new_amount=b.rep_b_new_amount, | ||
|  |         a.rep_a_new_pv=b.rep_a_new_pv,a.rep_b_new_pv=b.rep_b_new_pv, | ||
|  |         a.register_amount = b.register_amount,a.register_pv=b.register_pv,a.register_new_amount = b.register_new_amount,a.register_new_pv=b.register_new_pv, | ||
|  |         a.upgrade_amount=b.upgrade_amount,a.upgrade_pv=b.upgrade_pv,a.upgrade_new_amount=b.upgrade_new_amount,a.upgrade_new_pv=b.upgrade_new_pv, | ||
|  |         a.repurchase_amount=b.repurchase_amount,a.repurchase_pv=b.repurchase_pv,a.repurchase_new_amount=b.repurchase_new_amount,a.repurchase_new_pv=b.repurchase_new_pv, | ||
|  |         a.hi_fun_amount=b.hi_fun_amount,a.hi_fun_pv=b.hi_fun_pv,a.hi_fun_new_amount=b.hi_fun_new_amount,a.hi_fun_new_pv=b.hi_fun_new_pv, | ||
|  |         a.mall_amount=b.mall_amount,a.mall_pv=b.mall_pv,a.mall_new_amount=b.mall_new_amount,a.mall_new_pv=b.mall_new_pv, | ||
|  |         a.register_blo_new_pv=b.register_blo_new_pv,a.upgrade_blo_new_pv=b.upgrade_blo_new_pv,a.repurchase_blo_new_pv=b.repurchase_blo_new_pv, | ||
|  |         a.hi_fun_blo_new_pv=b.hi_fun_blo_new_pv,a.mall_blo_new_pv=b.mall_blo_new_pv, | ||
|  |         a.r_a_balance=b.r_a_balance,a.r_b_balance=b.r_b_balance,a.r_rep_a_balance=b.r_rep_a_balance,a.r_rep_b_balance=b.r_rep_b_balance, | ||
|  |         a.min_achieve=b.min_achieve,a.round = b.round,a.second=b.second, | ||
|  |         a.a_sum_amount = a.a_sum_amount + b.a_new_amount, | ||
|  |         a.b_sum_amount = a.b_sum_amount + b.b_new_amount, | ||
|  |         a.a_sum_pv = a.a_sum_pv + b.a_new_pv, | ||
|  |         a.b_sum_pv = a.b_sum_pv + b.b_new_pv, | ||
|  |         a.rep_a_sum_amount = a.rep_a_sum_amount + b.rep_a_new_amount, | ||
|  |         a.rep_b_sum_amount = a.rep_b_sum_amount + b.rep_b_new_amount, | ||
|  |         a.rep_a_sum_pv = a.rep_a_sum_pv + b.rep_a_new_pv, | ||
|  |         a.rep_b_sum_pv = a.rep_b_sum_pv + b.rep_b_new_pv, | ||
|  |         a.a_sum_real_amount = a.a_sum_real_amount + b.a_new_amount + b.rep_a_new_amount, | ||
|  |         a.b_sum_real_amount = a.b_sum_real_amount + b.b_new_amount + b.rep_b_new_amount, | ||
|  |         a.a_sum_real_pv = a.a_sum_real_pv + b.a_new_pv + b.rep_a_new_pv, | ||
|  |         a.b_sum_real_pv = a.b_sum_real_pv + b.b_new_pv + b.rep_b_new_pv | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberSecond"> | ||
|  |         merge into ${settleTableName} a | ||
|  |         using( | ||
|  |         <foreach collection="cuMemberTreeList" item="item" open=" " separator=" union all " close=" "> | ||
|  |             select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} b_balance, | ||
|  |             #{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv} b_new_pv, | ||
|  |             #{item.repABalance} rep_a_balance,#{item.repBBalance} rep_b_balance,#{item.repANewAmount} rep_a_new_amount, | ||
|  |             #{item.repBNewAmount} rep_b_new_amount,#{item.repANewPv} rep_a_new_pv,#{item.repBNewPv} rep_b_new_pv, | ||
|  |             #{item.registerAmount} register_amount,#{item.registerPv} register_pv,#{item.registerNewPv} register_new_pv, | ||
|  |             #{item.upgradeAmount} upgrade_amount,#{item.upgradePv} upgrade_pv,#{item.upgradeNewPv} upgrade_new_pv, | ||
|  |             #{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewPv} repurchase_new_pv, | ||
|  |             #{item.hiFunAmount} hi_fun_amount,#{item.hiFunPv} hi_fun_pv,#{item.hiFunNewPv} hi_fun_new_pv, | ||
|  |             #{item.mallAmount} mall_amount,#{item.mallPv} mall_pv,#{item.mallNewPv} mall_new_pv, | ||
|  |             #{item.minAchieve} min_achieve,#{item.round} round,#{item.second} second from dual | ||
|  |         </foreach> | ||
|  |         ) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set a.a_balance = b.a_balance, a.b_balance=b.b_balance,a.a_new_amount=b.a_new_amount, | ||
|  |         a.b_new_amount=b.b_new_amount,a.a_new_pv=b.a_new_pv,a.b_new_pv=b.b_new_pv,a.rep_a_balance=b.rep_a_balance, | ||
|  |         a.rep_b_balance=b.rep_b_balance, a.rep_a_new_amount=b.rep_a_new_amount,a.rep_b_new_amount=b.rep_b_new_amount, | ||
|  |         a.rep_a_new_pv=b.rep_a_new_pv,a.rep_b_new_pv=b.rep_b_new_pv, | ||
|  |         a.register_amount = b.register_amount,a.register_pv=b.register_pv,a.register_new_pv=b.register_new_pv, | ||
|  |         a.upgrade_amount=b.upgrade_amount,a.upgrade_pv=b.upgrade_pv,a.upgrade_new_pv=b.upgrade_new_pv, | ||
|  |         a.repurchase_amount=b.repurchase_amount,a.repurchase_pv=b.repurchase_pv,a.repurchase_new_pv=b.repurchase_new_pv, | ||
|  |         a.hi_fun_amount=b.hi_fun_amount,a.hi_fun_pv=b.hi_fun_pv,a.hi_fun_new_pv=b.hi_fun_new_pv, | ||
|  |         a.mall_amount=b.mall_amount,a.mall_pv=b.mall_pv,a.mall_new_pv=b.mall_new_pv, | ||
|  |         a.min_achieve=b.min_achieve,a.round = b.round,a.second=b.second, | ||
|  |         a.a_sum_amount = a.a_sum_amount + b.a_new_amount, | ||
|  |         a.b_sum_amount = a.b_sum_amount + b.b_new_amount, | ||
|  |         a.a_sum_pv = a.a_sum_pv + b.a_new_pv, | ||
|  |         a.b_sum_pv = a.b_sum_pv + b.b_new_pv, | ||
|  |         a.rep_a_sum_amount = a.rep_a_sum_amount + b.rep_a_new_amount, | ||
|  |         a.rep_b_sum_amount = a.rep_b_sum_amount + b.rep_b_new_amount, | ||
|  |         a.rep_a_sum_pv = a.rep_a_sum_pv + b.rep_a_new_pv, | ||
|  |         a.rep_b_sum_pv = a.rep_b_sum_pv + b.rep_b_new_pv, | ||
|  |         a.a_sum_real_amount = a.a_sum_real_amount + b.a_new_amount + b.rep_a_new_amount, | ||
|  |         a.b_sum_real_amount = a.b_sum_real_amount + b.b_new_amount + b.rep_b_new_amount, | ||
|  |         a.a_sum_real_pv = a.a_sum_real_pv + b.a_new_pv + b.rep_a_new_pv, | ||
|  |         a.b_sum_real_pv = a.b_sum_real_pv + b.b_new_pv + b.rep_b_new_pv | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberSecondPlaceParent"> | ||
|  |         merge into ${secondTableName} a | ||
|  |         using ( | ||
|  |         select B.pk_id,b.pk_settle_country pk_country,nvl(st.A_BALANCE,0) A_BALANCE,nvl(st.B_BALANCE,0) B_BALANCE, | ||
|  |         nvl(yt.A_SUM_AMOUNT,0) A_SUM_AMOUNT,nvl(yt.B_SUM_AMOUNT,0) B_SUM_AMOUNT, | ||
|  |         nvl(yt.A_SUM_PV,0) A_SUM_PV,nvl(yt.b_SUM_PV,0) b_SUM_PV,nvl(st.A_NEW_AMOUNT,0) A_NEW_AMOUNT, | ||
|  |         nvl(st.B_NEW_AMOUNT,0) B_NEW_AMOUNT,nvl(st.A_NEW_PV,0) A_NEW_PV, | ||
|  |         nvl(ST.B_NEW_PV,0) B_NEW_PV,nvl(yt.A_SUM_REAL_AMOUNT,0) A_SUM_REAL_AMOUNT, | ||
|  |         nvl(yt.B_SUM_REAL_AMOUNT,0) B_SUM_REAL_AMOUNT, | ||
|  |         nvl(yt.A_SUM_REAL_PV,0) A_SUM_REAL_PV, | ||
|  |         nvl(yt.B_SUM_REAL_PV,0) B_SUM_REAL_PV, | ||
|  |         nvl(ST.REP_A_BALANCE,0) REP_A_BALANCE,nvl(ST.REP_B_BALANCE,0) REP_B_BALANCE, | ||
|  |         nvl(ST.REP_A_NEW_AMOUNT,0) REP_A_NEW_AMOUNT, | ||
|  |         nvl(ST.REP_B_NEW_AMOUNT,0) REP_B_NEW_AMOUNT,nvl(ST.REP_A_NEW_PV,0) REP_A_NEW_PV, | ||
|  |         nvl(ST.REP_B_NEW_PV,0) REP_B_NEW_PV,nvl(yt.REP_A_SUM_AMOUNT,0) REP_A_SUM_AMOUNT, | ||
|  |         nvl(yt.REP_B_SUM_AMOUNT,0) REP_B_SUM_AMOUNT,nvl(yt.REP_A_SUM_PV,0) REP_A_SUM_PV, | ||
|  |         nvl(yt.REP_B_SUM_PV,0) REP_B_SUM_PV, | ||
|  |         nvl(ST.ROUND,0) ROUND,nvl(nvl(ST.SECOND,yt.second),1) SECOND,nvl(ST.MIN_ACHIEVE,0) MIN_ACHIEVE,b.expire_status from | ||
|  |             (select t.pk_id,t.pk_settle_country,t.expire_status from cu_member t | ||
|  |              where t.del_flag = 0 start with t.pk_id = #{pkMember} | ||
|  |             connect by t.pk_id = prior | ||
|  |             <choose> | ||
|  |                 <when test="isPlace == 0"> t.pk_place_parent</when> | ||
|  |                 <otherwise> t.pk_parent</otherwise> | ||
|  |             </choose> | ||
|  |             <if test="cuMemberTreeList != null and cuMemberTreeList.size >0"> | ||
|  |                 union | ||
|  |                 select pk_id,t.pk_settle_country,t.expire_status from cu_member t | ||
|  |                 where t.del_flag= 0 and pk_id in | ||
|  |                 <foreach collection="cuMemberTreeList" item="item" open="(" close=")" separator=","> | ||
|  |                     #{item} | ||
|  |                 </foreach> | ||
|  |             </if> | ||
|  |              ) b | ||
|  |              left join ${secondTableName} st | ||
|  |              on b.pk_id = st.pk_member | ||
|  |              left join ${settleTableName} yt | ||
|  |              on b.pk_id=yt.pk_member | ||
|  |         ) b | ||
|  |         on (a.pk_member = b.pk_id) | ||
|  |         when matched then | ||
|  |             update set a.a_sum_amount=b.a_sum_amount,a.b_sum_amount=b.b_sum_amount, | ||
|  |                 a.a_sum_pv=b.a_sum_pv,a.b_sum_pv=b.b_sum_pv, | ||
|  |                 a.a_sum_real_amount=b.a_sum_real_amount, | ||
|  |                 a.b_sum_real_amount=b.b_sum_real_amount, | ||
|  |                 a.a_sum_real_pv=b.a_sum_real_pv, | ||
|  |                 a.b_sum_real_pv=b.b_sum_real_pv, | ||
|  |                 a.rep_a_sum_amount=b.rep_a_sum_amount,a.rep_b_sum_amount=b.rep_b_sum_amount, | ||
|  |                 a.rep_a_sum_pv=b.rep_a_sum_pv,a.rep_b_sum_pv=b.rep_b_sum_pv | ||
|  |         when not matched then | ||
|  |         insert (pk_member,pk_country,a_balance,b_balance,a_sum_amount,b_sum_amount,a_sum_pv,b_sum_pv, | ||
|  |             a_new_amount,b_new_amount,a_new_pv,b_new_pv,a_sum_real_amount,b_sum_real_amount, | ||
|  |             a_sum_real_pv,b_sum_real_pv,rep_a_balance,rep_b_balance,rep_a_new_amount, | ||
|  |             rep_b_new_amount,rep_a_new_pv,rep_b_new_pv,rep_a_sum_amount,rep_b_sum_amount, | ||
|  |             rep_a_sum_pv,rep_b_sum_pv,round,second,min_achieve,expire_status) | ||
|  |             values(b.pk_id,b.pk_country,b.a_balance,b.b_balance,b.a_sum_amount, b.b_sum_amount,b.a_sum_pv,b.b_sum_pv, | ||
|  |             b.a_new_amount,b.b_new_amount,b.a_new_pv,b.b_new_pv,b.a_sum_real_amount,b.b_sum_real_amount, | ||
|  |             b.a_sum_real_pv,b.b_sum_real_pv,b.rep_a_balance,b.rep_b_balance,b.rep_a_new_amount, | ||
|  |             b.rep_b_new_amount,b.rep_a_new_pv,b.rep_b_new_pv,b.rep_a_sum_amount,b.rep_b_sum_amount, | ||
|  |             b.rep_a_sum_pv,b.rep_b_sum_pv,b.round,b.second,b.min_achieve,b.expire_status) | ||
|  |     </update> | ||
|  |     <update id="dropCuMemberSettleTable"> | ||
|  |         drop table ${tableName} | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberTreeGradeByCancelOrder"> | ||
|  |         merge into ${settleTableName} a | ||
|  |         using (select cl.pk_id,cl.pk_member,cl.new_level from cu_member_level cl | ||
|  |         inner join ( | ||
|  |         select pk_member,max(pk_id) pk_id from cu_member_level | ||
|  |         where del_flag=0 and upgrade_time < #{currentDate, jdbcType=DATE} | ||
|  |         and pk_member in | ||
|  |         <foreach collection="saOrderExtList" item="item" open="(" close=")" separator=","> | ||
|  |             #{item.pkMember} | ||
|  |         </foreach> | ||
|  |         group by pk_member) ce | ||
|  |         on cl.pk_id = ce.pk_id | ||
|  |         ) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set a.pk_grade = b.new_level | ||
|  |     </update> | ||
|  |     <update id="mergeCuMemberTreeBySettleDate"> | ||
|  |         merge into ${targetTableName} a | ||
|  |         using( | ||
|  |             select #{period} period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, | ||
|  |                    member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, | ||
|  |                    register_authority,category,purchase_type,purchase_status, | ||
|  |                    share_status,income_status,pk_team_code,pk_center_code,pk_vertex, | ||
|  |                    pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country from ${sourceTableName} | ||
|  |             ) b | ||
|  |         on (a.pk_member=b.pk_member and a.period=b.period) | ||
|  |         WHEN MATCHED THEN | ||
|  |             update set a.pk_parent = b.pk_parent,a.pk_place_parent = b.pk_place_parent,a.place_dept = b.place_dept, | ||
|  |                 a.member_code = b.member_code,a.member_name = b.member_name,a.customer_type = b.customer_type,a.phone = b.phone, | ||
|  |                 a.pk_grade = b.pk_grade,a.pk_awards = b.pk_awards,a.account_status = b.account_status,a.pay_status = b.pay_status, | ||
|  |                 a.register_authority = b.register_authority,a.category = b.category,a.purchase_type = b.purchase_type, | ||
|  |                 a.purchase_status = b.purchase_status,a.share_status = b.share_status,a.income_status = b.income_status, | ||
|  |                 a.pk_team_code = b.pk_team_code,a.pk_center_code = b.pk_center_code,a.pk_vertex = b.pk_vertex, | ||
|  |                 a.pk_settle_country = b.pk_settle_country,a.is_real_name = b.is_real_name, | ||
|  |                 a.is_bus_license = b.is_bus_license,a.is_maker_space = b.is_maker_space,a.pk_country = b.pk_country | ||
|  |         WHEN NOT MATCHED THEN | ||
|  |         insert (period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, | ||
|  |                                        member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, | ||
|  |                                        register_authority,category,purchase_type,purchase_status, | ||
|  |                                        share_status,income_status,pk_team_code,pk_center_code,pk_vertex, | ||
|  |                                        pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country) | ||
|  |         values(b.period,b.pk_member,b.pk_parent,b.pk_place_parent,b.place_dept,b.member_code, | ||
|  |                b.member_name,b.customer_type,b.phone,b.pk_grade,b.pk_awards,b.account_status,b.pay_status, | ||
|  |                b.register_authority,b.category,b.purchase_type,b.purchase_status, | ||
|  |                b.share_status,b.income_status,b.pk_team_code,b.pk_center_code,b.pk_vertex, | ||
|  |                b.pk_settle_country,b.is_real_name,b.is_bus_license,b.is_maker_space,b.pk_country) | ||
|  |     </update> | ||
|  |     <update id="updateBackCuMemberSettleAward"> | ||
|  |         merge into ${settleTableName} a | ||
|  |             using (select pk_member,max(old_level) old_level from cu_member_awards | ||
|  |                    where period = #{period} | ||
|  |                    group by pk_member ) b | ||
|  |             on (a.pk_member = b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set | ||
|  |                     a.pk_awards = b.old_level | ||
|  |     </update> | ||
|  |     <update id="updateBackCuMemberSettleRangeAward"> | ||
|  |         merge into ${rangeTableName} a | ||
|  |             using ( | ||
|  |             select pk_member,old_level,ba.pk_awards from( | ||
|  |             select pk_member,max(old_level) old_level from cu_member_awards | ||
|  |                    where period = #{period} and up_type = 1 and system_type=1 | ||
|  |                    group by pk_member) ca | ||
|  |              inner join bd_range_awards ba | ||
|  |               on ca.old_level=ba.pk_id | ||
|  |             where ba.del_flag=0 | ||
|  |             ) b | ||
|  |             on (a.pk_member = b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set | ||
|  |                     a.pk_awards = b.pk_awards,a.pk_range_awards=b.old_level | ||
|  |     </update> | ||
|  |     <update id="updateBackCuMemberRetailRangeAward"> | ||
|  |         merge into ${rangeTableName} a | ||
|  |             using ( | ||
|  |                 select ca.pk_member,max(old_level) pk_awards from cu_member_awards ca | ||
|  |                 inner join ${rangeTableName} cm | ||
|  |                 on ca.pk_member=cm.pk_member | ||
|  |                 where ca.period = #{period} and ca.up_type = 1 | ||
|  |                 and ca.award_type = #{awardType} | ||
|  |                 <if test="awardType == 1"> | ||
|  |                     and cm.pk_awards <= ca.new_level | ||
|  |                 </if> | ||
|  |                 <if test="awardType == 2"> | ||
|  |                     and cm.pk_share_awards <= ca.new_level | ||
|  |                 </if> | ||
|  |                 group by ca.pk_member | ||
|  |             ) b | ||
|  |             on (a.pk_member = b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set | ||
|  |                     <if test="awardType == 1"> | ||
|  |                         a.pk_awards = b.pk_awards | ||
|  |                     </if> | ||
|  |                     <if test="awardType == 2"> | ||
|  |                         a.pk_share_awards=b.pk_awards | ||
|  |                     </if> | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberRetailRangeAwardByDate"> | ||
|  |         merge into ${rangeTableName} a | ||
|  |         using ( | ||
|  |             select y.pk_member,y.pk_awards from  ${rangeTableName} x | ||
|  |             inner join ( | ||
|  |             select a.pk_member,a.new_level pk_awards from cu_member_awards a | ||
|  |             inner join( | ||
|  |             select pk_member,max(pk_id) pk_id from cu_member_awards where del_flag=0 and up_type=2 | ||
|  |             and end_validity_date <=#{settleDate, jdbcType=DATE} | ||
|  |             and award_type = #{awardType} | ||
|  |             group by pk_member) b | ||
|  |             on a.pk_id=b.pk_id ) y | ||
|  |             on x.pk_member=y.pk_member | ||
|  |             where | ||
|  |             <if test="awardType == 1"> | ||
|  |                 x.pk_awards < y.pk_awards | ||
|  |             </if> | ||
|  |             <if test="awardType == 2"> | ||
|  |                 x.pk_share_awards < y.pk_awards | ||
|  |             </if> | ||
|  |         ) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set | ||
|  |         <if test="awardType == 1"> | ||
|  |             a.pk_awards = b.pk_awards | ||
|  |         </if> | ||
|  |         <if test="awardType == 2"> | ||
|  |             a.pk_share_awards=b.pk_awards | ||
|  |         </if> | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberRetailRangeInitAward"> | ||
|  |         update ${rangeTableName} set pk_awards=(select pk_id from bd_awards where awards_value=0) | ||
|  |           ,pk_share_awards=(select pk_id from bd_awards where awards_value=0) | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberExpandSettle"> | ||
|  |         merge into ${settleTableName} a | ||
|  |         using( | ||
|  |         select * from ( | ||
|  |         <foreach collection="cuMemberTreeList" item="item" open=" " separator=" union " close=" "> | ||
|  |             select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} b_balance, | ||
|  |             #{item.minAchieve} min_achieve,#{item.round} round,#{item.second} second from dual | ||
|  |         </foreach>) | ||
|  |         ) b | ||
|  |         on (a.pk_member = b.pk_member) | ||
|  |         when matched then | ||
|  |         update set a.a_balance = b.a_balance, a.b_balance=b.b_balance, | ||
|  |         a.min_achieve=b.min_achieve,a.round = b.round,a.second=b.second | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberAwardsBySettle"> | ||
|  |         merge into cu_member a | ||
|  |             using ( | ||
|  |                 select ca.pk_member,max(ca.pk_awards) pk_awards from cu_member_settle_awards ca | ||
|  |                 inner join cu_member cm | ||
|  |                 on cm.pk_id=ca.pk_member | ||
|  |                 where cm.system_type= 0 and period between #{startPeriod} and #{period} | ||
|  |                 group by ca.pk_member | ||
|  |             ) b | ||
|  |             on (a.pk_id=b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set a.pk_awards=b.pk_awards | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberSettleAwardsBySettle"> | ||
|  |         merge into ${settleTableName} a | ||
|  |             using ( | ||
|  |                 select pk_member,max(pk_awards) pk_awards from cu_member_settle_awards | ||
|  |                 where period between #{startPeriod} and #{period} | ||
|  |                 group by pk_member | ||
|  |             ) b | ||
|  |             on (a.pk_member=b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set a.pk_awards=b.pk_awards | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberMaxAwardsBySettle"> | ||
|  |         merge into cu_member a | ||
|  |             using ( | ||
|  |                 select pk_member,max(pk_awards) pk_awards from cu_member_settle_awards | ||
|  |                 group by pk_member | ||
|  |             ) b | ||
|  |             on (a.pk_id=b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set a.pk_max_awards=b.pk_awards | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberAwardsInit"> | ||
|  |         merge into cu_member a | ||
|  |         using( | ||
|  |         select ct.pk_id,ba.pk_id pk_awards from cu_member ct | ||
|  |         inner join bd_awards ba | ||
|  |         on ct.pk_settle_country = ba.pk_country | ||
|  |         where ba.awards_value=0 and ba.del_flag=0 and ct.system_type=0) b | ||
|  |         on (a.pk_id=b.pk_id) | ||
|  |         when matched then | ||
|  |         update set a.pk_awards=b.pk_awards,a.pk_max_awards=b.pk_awards | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberSettleAwardsInit"> | ||
|  |       merge into ${settleTableName} a | ||
|  |           using( | ||
|  |               select ct.pk_member,ba.pk_id pk_awards from ${settleTableName} ct | ||
|  |                               inner join bd_awards ba | ||
|  |                                          on ct.pk_settle_country = ba.pk_country | ||
|  |               where ba.awards_value=0 and ba.del_flag=0) b | ||
|  |           on (a.pk_member=b.pk_member) | ||
|  |           when matched then | ||
|  |               update set a.pk_awards=b.pk_awards | ||
|  |     </update> | ||
|  |     <update id="createCuMemberRangeTable"> | ||
|  |         create table ${tableName} | ||
|  |         ( | ||
|  |             pk_member         NUMBER(20) not null, | ||
|  |             pk_parent         NUMBER(20) not null, | ||
|  |             member_code       VARCHAR2(30) not null, | ||
|  |             member_name       VARCHAR2(100) not null, | ||
|  |             customer_type     NUMBER(2) not null, | ||
|  |             phone             VARCHAR2(40) not null, | ||
|  |             pk_grade          NUMBER(4) not null, | ||
|  |             pk_awards          NUMBER(4) not null, | ||
|  |             pk_range_awards    number(4) default 1 not null, | ||
|  |             pk_benefit_awards number(6) default 1 not null, | ||
|  |             account_status   number(1) default 0 not null, | ||
|  |             pay_status         NUMBER(2) default 0 not null, | ||
|  |             pay_time           DATE, | ||
|  |             register_authority number(2) default 0 not null, | ||
|  |             category        number(2)  default 0 not null, | ||
|  |             purchase_status number(2)  default 0 not null, | ||
|  |             income_status number(2) default 0 not null, | ||
|  |             pk_team_code number(20), | ||
|  |             pk_center_code number(20), | ||
|  |             pk_vertex    number(20), | ||
|  |             pk_settle_country number(4) not null, | ||
|  |             is_real_name    NUMBER(1) default 1 not null, | ||
|  |             pk_country        number(4) default 1 not null, | ||
|  |             pk_rate           NUMBER(6) , | ||
|  |             consume_status number(2) default 1 not null, | ||
|  |             consume_pv number(17,6) default 0 not null, | ||
|  |             month_pv number(17,6) default 0 not null, | ||
|  |             new_pv  number(17,6) default 0 not null, | ||
|  |             new_team_pv number(17,6) default 0 not null, | ||
|  |             dept_new_team_pv number(17,6) default 0 not null, | ||
|  |             effective_num number(8) default 0 not null, | ||
|  |             ev_effective_num number(8) default 0 not null, | ||
|  |             provide_state	number(1) default 1 not null, | ||
|  |             buy_effective_num number(8) default 0 not null, | ||
|  |             first_agent number(4) default 0 not null, | ||
|  |             second_agent number(4) default 0 not null, | ||
|  |             recommend_num number(8) default 0 not null, | ||
|  |             team_num    number(8) default 0 not null, | ||
|  |             team_consume_amount number(17,6) default 0 not null, | ||
|  |             team_consume_pv number(17,6) default 0 not null, | ||
|  |             team_month_amount number(17,6) default 0 not null, | ||
|  |             team_month_pv number(17,6) default 0 not null, | ||
|  |             dept_team_consume_amount number(17,6) default 0 not null, | ||
|  |             dept_team_consume_pv number(17,6) default 0 not null, | ||
|  |             dept_team_month_amount number(17,6) default 0 not null, | ||
|  |             dept_team_month_pv number(17,6) default 0 not null, | ||
|  |             small_area_pv number(17,6) default 0 not null, | ||
|  |             assess_status number(2) default 3 not null, | ||
|  |             month_member number(1) default 1 not null, | ||
|  |             range_store_status number(1) default 0 not null | ||
|  |         ) | ||
|  |     </update> | ||
|  |     <update id="createCuMemberRangeSecondTable"> | ||
|  |         create table ${tableName} | ||
|  |         ( | ||
|  |             pk_member         NUMBER(20) not null, | ||
|  |             pk_parent         NUMBER(20) not null, | ||
|  |             pk_range_awards    number(4) default 1 not null, | ||
|  |             buy_effective_num number(8) default 0 not null, | ||
|  |             first_agent number(4) default 0 not null, | ||
|  |             second_agent number(4) default 0 not null, | ||
|  |             new_pv number(17,6) default 0 not null, | ||
|  |             new_effective_num number(8) default 0 not null, | ||
|  |             new_team_pv number(17,6) default 0 not null, | ||
|  |             dept_new_team_pv number(17,6) default 0 not null, | ||
|  |             assess_status number(2) default 3 not null, | ||
|  |             consume_status number(2) default 1 not null, | ||
|  |             month_member number(1) default 1 not null | ||
|  |         ) | ||
|  |     </update> | ||
|  |     <update id="createCuMemberRetailRangeSecondTable"> | ||
|  |         create table ${tableName} | ||
|  |         ( | ||
|  |             pk_member         NUMBER(20) not null, | ||
|  |             pk_parent         NUMBER(20) not null, | ||
|  |             pk_grade          NUMBER(4) not null, | ||
|  |             pk_awards    number(4) default 1 not null, | ||
|  |             enable_status     number(2) default 1 not null, | ||
|  |             system_type        NUMBER(2) default 2 not null, | ||
|  |             new_box_num number(8) default 0 not null, | ||
|  |             team_new_box_num number(8) default 0 not null, | ||
|  |             new_consume_pv  number(17,6) default 0 not null, | ||
|  |             team_new_amount number(17,6) default 0 not null, | ||
|  |             team_new_pv number(17,6) default 0 not null | ||
|  |         ) | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberRangeAwardsInit"> | ||
|  |         merge into ${rangeTableName} a | ||
|  |             using( | ||
|  |                 select ct.pk_member,ba.pk_id pk_awards from ${rangeTableName} ct | ||
|  |                 inner join bd_awards ba | ||
|  |                 on ct.pk_settle_country = ba.pk_country | ||
|  |                 where ba.awards_value=0 and ba.del_flag=0) b | ||
|  |             on (a.pk_member=b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set a.pk_benefit_awards=b.pk_awards | ||
|  |     </update> | ||
|  |     <update id="updateCuMemberRangeAwardsBySettle"> | ||
|  |         merge into ${rangeTableName} a | ||
|  |             using ( | ||
|  |                 select pk_member,max(pk_awards) pk_awards from cu_member_settle_awards | ||
|  |                 where period between #{startPeriod} and #{period} | ||
|  |                 group by pk_member | ||
|  |             ) b | ||
|  |             on (a.pk_member=b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set a.pk_benefit_awards=b.pk_awards | ||
|  |     </update> | ||
|  |     <update id="updateMemberRangeAwardsInit"> | ||
|  |         merge into cu_member a | ||
|  |             using( | ||
|  |                 select ct.pk_id,ba.pk_id pk_awards from cu_member ct | ||
|  |                 inner join bd_awards ba | ||
|  |                 on ct.pk_settle_country = ba.pk_country | ||
|  |                 where ba.awards_value=0 and ba.del_flag=0 and ct.system_type=1) b | ||
|  |             on (a.pk_id=b.pk_id) | ||
|  |             when matched then | ||
|  |                 update set a.pk_benefit_awards=b.pk_awards,a.pk_max_awards=b.pk_awards | ||
|  |     </update> | ||
|  |     <update id="updateMemberRangeAwardsBySettle"> | ||
|  |         merge into cu_member a | ||
|  |             using ( | ||
|  |                 select ca.pk_member,max(ca.pk_awards) pk_awards from cu_member_settle_awards ca | ||
|  |                 inner join cu_member cm | ||
|  |                 on cm.pk_id=ca.pk_member | ||
|  |                 where cm.system_type= 1 and period between #{startPeriod} and #{period} | ||
|  |                 group by ca.pk_member | ||
|  |             ) b | ||
|  |             on (a.pk_id=b.pk_member) | ||
|  |             when matched then | ||
|  |                 update set a.pk_benefit_awards=b.pk_awards | ||
|  |     </update> | ||
|  |     <update id="createCuMemberRetailRangeTable"> | ||
|  |         create table ${tableName} | ||
|  |         ( | ||
|  |             pk_member         NUMBER(20) not null, | ||
|  |             pk_parent         NUMBER(20) not null, | ||
|  |             member_code       VARCHAR2(30) not null, | ||
|  |             member_name       VARCHAR2(100) not null, | ||
|  |             customer_type     NUMBER(2) not null, | ||
|  |             phone             VARCHAR2(40) not null, | ||
|  |             pk_grade          NUMBER(4) not null, | ||
|  |             pk_awards    number(4) default 1 not null, | ||
|  |             pk_share_awards   number(4) default 12 not null, | ||
|  |             enable_status     number(2) default 1 not null, | ||
|  |             account_status   number(1) default 0 not null, | ||
|  |             pay_status         NUMBER(2) default 0 not null, | ||
|  |             pay_time           DATE, | ||
|  |             category        number(2)  default 0 not null, | ||
|  |             purchase_status number(2)  default 0 not null, | ||
|  |             income_status number(2) default 0 not null, | ||
|  |             pk_team_code number(20), | ||
|  |             pk_center_code number(20), | ||
|  |             pk_vertex    number(20), | ||
|  |             pk_settle_country number(4) not null, | ||
|  |             is_real_name    NUMBER(1) default 1 not null, | ||
|  |             pk_country        number(4) default 1 not null, | ||
|  |             system_type        NUMBER(2) default 2 not null, | ||
|  |             pk_rate           NUMBER(6) , | ||
|  |             consume_box_num number(8) default 0 not null, | ||
|  |             new_box_num number(8) default 0 not null, | ||
|  |             team_box_num number(8) default 0 not null, | ||
|  |             month_box_num number(8) default 0 not null, | ||
|  |             team_new_box_num number(8) default 0 not null, | ||
|  |             consume_pv number(17,6) default 0 not null, | ||
|  |             month_consume_pv number(17,6) default 0 not null, | ||
|  |             new_consume_pv  number(17,6) default 0 not null, | ||
|  |             team_consume_amount number(17,6) default 0 not null, | ||
|  |             team_consume_pv number(17,6) default 0 not null, | ||
|  |             team_month_amount number(17,6) default 0 not null, | ||
|  |             team_month_pv number(17,6) default 0 not null, | ||
|  |             team_new_amount number(17,6) default 0 not null, | ||
|  |             team_new_pv number(17,6) default 0 not null, | ||
|  |             recommend_num number(8) default 0 not null, | ||
|  |             team_num    number(8) default 0 not null, | ||
|  |             region_address number(8) default 0 not null, | ||
|  |             big_box_num number(8) default 0 not null, | ||
|  |             small_box_num  number(8) default 0 not null, | ||
|  |             big_team_pv number(17,6) default 0 not null, | ||
|  |             small_team_pv number(17,6) default 0 not null | ||
|  |         ) | ||
|  |     </update> | ||
|  | 
 | ||
|  |     <update id="updateCuMemberRetailRangeInitV5Award"> | ||
|  |         update ${rangeTableName} set pk_awards=(select pk_id from bd_awards where awards_value=5) | ||
|  |                                    ,pk_share_awards=(select pk_id from bd_awards where awards_value=5) | ||
|  |         where pk_grade = ( | ||
|  |             select pk_id from bd_grade where grade_value=70 and del_flag=0 | ||
|  |             ) | ||
|  |     </update> | ||
|  |     <delete id="deleteCuMemberTreeByPeriod"> | ||
|  |         delete from ${targetTableName} where period=#{period} | ||
|  |     </delete> | ||
|  |     <delete id="truncateCuMemberTreeTable"> | ||
|  |         truncate table ${tableName} | ||
|  |     </delete> | ||
|  |     <select id="queryExistOracleTable" resultType="java.lang.Integer"> | ||
|  |         select 1 | ||
|  |         from user_tables | ||
|  |         where table_name = upper(#{tableName}) | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryExistOrderTableCount" resultType="java.lang.Integer"> | ||
|  |         select count(1) from ${tableName} | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreeExt" resultType="com.hzs.common.domain.member.ext.CuMemberSettleExt"> | ||
|  |         select ct.* from ${settleTableName} ct | ||
|  |         inner join( | ||
|  |             select t.pk_member | ||
|  |             from ${settleTableName} t | ||
|  |                 start with t.pk_member = #{pkMember} | ||
|  |                 connect by t.pk_member = prior t.pk_place_parent) tmp | ||
|  |               on ct.pk_member = tmp.pk_member | ||
|  |     </select> | ||
|  |     <select id="queryCuMemberSettleEnoughAwardAchieve" resultMap="CuMemberSettleExt"> | ||
|  |         select a.pk_member,a.pk_parent,a.pk_place_parent,a.a_sum_real_pv, | ||
|  |                a.b_sum_real_pv,a.pk_country,a.pk_settle_country,bw.pk_id pk_awards,bdw.pk_id pk_ori_awards | ||
|  |         from (select ct.pk_member,ct.pk_parent,ct.pk_place_parent,(ba.awards_value+5) awards_value, | ||
|  |               ba.awards_value ori_awards_value,ct.a_sum_real_pv,ct.b_sum_real_pv,ct.pk_country, | ||
|  |               ct.pk_settle_country | ||
|  |               from ${settleTableName} ct | ||
|  |               inner join bd_awards ba | ||
|  |               on ct.pk_awards = ba.pk_id | ||
|  |               where ct.category =0 and ct.income_status =0 | ||
|  |                 and ba.del_flag=0) a | ||
|  |               inner join bd_awards bw | ||
|  |               on a.awards_value = bw.awards_value and a.pk_settle_country= bw.pk_country | ||
|  |               inner join bd_awards bdw | ||
|  |               on a.ori_awards_value = bdw.awards_value and a.pk_settle_country= bdw.pk_country | ||
|  |         where bw.del_flag=0 and bw.community_check <= a.a_sum_real_pv | ||
|  |           and bw.community_check <= a.b_sum_real_pv | ||
|  |         order by pk_member desc | ||
|  |     </select> | ||
|  |     <select id="queryCuMemberSettlePlaceUnderUmbrella" resultType="java.lang.Integer"> | ||
|  |         select count(a.pk_member) | ||
|  |         from (select a.*, b.pk_awards | ||
|  |               from (select pk_member, pk_parent, pk_place_parent, place_dept | ||
|  |                     from ${settleTableName} start with pk_place_parent = #{pkMember} and place_dept=#{placeDept} | ||
|  |                     connect by pk_place_parent = prior pk_member) a | ||
|  |                  inner join (select cw.pk_member, cw.new_level pk_awards | ||
|  |                              from cu_member_awards cw | ||
|  |                                       inner join(select pk_member, max(pk_id) pk_id | ||
|  |                                                  from cu_member_awards | ||
|  |                                                  where del_flag = 0 | ||
|  |                                                    and UP_TYPE in (1, 3) | ||
|  |                                                  group by pk_member) ca | ||
|  |                                                 on cw.pk_id = ca.pk_id) b | ||
|  |                             on a.pk_member = b.pk_member )a | ||
|  |                  inner join bd_awards ba | ||
|  |                 on a.pk_awards = ba.pk_id | ||
|  |         where ba.awards_value >= (select awards_value from bd_awards where pk_id = #{awardsValue}) | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberSettleBloodUnderUmbrella" resultType="java.lang.Integer"> | ||
|  |         select count(pk_member) from( | ||
|  |         select pk_member from ${settleTableName} | ||
|  |         start with pk_parent = #{pkMember} | ||
|  |         connect by pk_parent = prior pk_member) a | ||
|  |         where a.pk_member in( | ||
|  |         select x.pk_member from ( | ||
|  |                                     select a.*, b.pk_awards from ( | ||
|  |                                     select pk_member,pk_parent,pk_place_parent,place_dept | ||
|  |                                     from ${settleTableName} | ||
|  |                                              start with pk_place_parent = #{pkMember} and place_dept=#{placeDept} | ||
|  |                                     connect by pk_place_parent = prior pk_member) a | ||
|  |                                      inner join (select cw.pk_member, cw.new_level pk_awards | ||
|  |                                     from cu_member_awards cw | ||
|  |                                      inner join(select pk_member, max(pk_id) pk_id from cu_member_awards | ||
|  |                                     where del_flag = 0 and UP_TYPE in (1, 3) | ||
|  |                                      group by pk_member) ca | ||
|  |                                     on cw.pk_id = ca.pk_id) b | ||
|  |                                                 on a.pk_member = b.pk_member | ||
|  |                                 ) x | ||
|  |                                     inner join bd_awards ba | ||
|  |                                                on x.pk_awards = ba.pk_id | ||
|  |         where ba.awards_value>=(select awards_value from bd_awards where pk_id=#{awardsValue})) | ||
|  |     </select> | ||
|  |     <select id="queryExemptCuMemberSettle" resultMap="CuMemberSettleExt"> | ||
|  |         select pk_member,0 assess_type from ${tableName} | ||
|  |         where purchase_status= 0 | ||
|  |         union | ||
|  |         select pk_member,1 assess_type from ${tableName} | ||
|  |         where share_status= 0 | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryMemberSettleBySaOrder" resultMap="CuMemberSettleExt"> | ||
|  |         select pk_member,member_code,member_name,c.pk_awards,c.pk_grade,account_status,category,income_status,pk_settle_country, | ||
|  |                is_maker_space,purchase_status,share_status,bg.grade_value,pk_parent,is_maker_space, | ||
|  |                a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, | ||
|  |                register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code,c.pk_vertex, | ||
|  |         repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,min_achieve,round,second,c.register_authority,store_level, | ||
|  |             c.is_maker_gift,c.expire_status from ${settleTableName} c | ||
|  |         left join bd_grade bg | ||
|  |         on c.pk_grade = bg.pk_id | ||
|  |         where pk_member in | ||
|  |         <foreach collection="memberPkList" item="item" open="(" close=")" separator=","> | ||
|  |             #{item} | ||
|  |         </foreach> | ||
|  |     </select> | ||
|  |     <select id="batchQueryCuMemberSettlePlaceParent" resultMap="CuMemberSettleExt"> | ||
|  |         select pk_order,pk_member,member_code,member_name,pk_place_parent,place_dept,pk_grade,a.pk_awards,bg.grade_value,account_status, | ||
|  |         income_status,pk_settle_country,purchase_status,share_status,a.register_authority, | ||
|  |         a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, | ||
|  |         register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code, | ||
|  |         repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_vertex, | ||
|  |                min_achieve,round,second,store_level,expire_status from ( | ||
|  |             <foreach collection="firPurchaseOrderList" item="item" open=" " close=" " separator=" union all "> | ||
|  |             select #{item.pkId} pk_order,pk_member,member_code,member_name,pk_place_parent,place_dept,pk_grade,pk_awards,account_status, | ||
|  |                    income_status,pk_settle_country,purchase_status,share_status,register_authority, | ||
|  |                    a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, | ||
|  |                 register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code, | ||
|  |                 repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_vertex, | ||
|  |                    min_achieve,round,second,store_level,expire_status,level sort | ||
|  |                 from ${settleTableName} | ||
|  |                 start with pk_member = #{item.pkMember} | ||
|  |                 connect by pk_member = prior pk_place_parent | ||
|  |             </foreach> | ||
|  |         ) a | ||
|  |         left join bd_grade bg | ||
|  |         on a.pk_grade = bg.pk_id | ||
|  |         order by a.pk_order,a.sort | ||
|  |     </select> | ||
|  |     <select id="batchQueryCuMemberSettleParent" resultMap="CuMemberSettleExt"> | ||
|  |         <include refid="memberParent"></include> | ||
|  |     </select> | ||
|  |     <select id="batchQuerySpecialCuMemberSettleParent" resultMap="CuMemberSettleExt"> | ||
|  |         select a.*,(case when nvl(so.order_achieve,0)>0 then 0 else 1 end ) is_pay_reg  from ( | ||
|  |         <include refid="memberParent"></include>) a | ||
|  |         left join (select pk_member,max(order_achieve) order_achieve from sa_order | ||
|  |         where del_flag = 0 and order_status = 1 | ||
|  |         and order_type=24 | ||
|  |         group by pk_member) so | ||
|  |         on so.pk_member=a.pk_member | ||
|  |     </select> | ||
|  |     <select id="batchQueryCuMemberSettleParentForSpecial" resultMap="CuMemberSettleExt"> | ||
|  |         select a.pk_member,a.pk_parent,a.member_code,a.member_name,a.pk_awards,a.account_status,a.register_authority,a.customer_type, | ||
|  |         a.income_status,a.pk_settle_country,a.purchase_status,a.share_status,a.is_maker_space, | ||
|  |         a.a_balance,a.b_balance,a.r_a_balance,a.r_b_balance,a.rep_a_balance,a.rep_b_balance,a.r_rep_a_balance,a.r_rep_b_balance, | ||
|  |         a.register_amount,a.register_pv,a.upgrade_amount,a.upgrade_pv,a.repurchase_amount,a.pk_center_code, | ||
|  |         a.repurchase_pv,a.hi_fun_amount,a.hi_fun_pv,a.mall_amount,a.mall_pv,a.category,a.pk_grade,bg.grade_value, | ||
|  |         a.min_achieve,a.round,second,ap.pk_id ap_pk_id,nvl(ap.usable_quantity,0) usable_quantity, | ||
|  |             nvl(bp.retail_price,0) retail_price,ap.pk_data_id from ( | ||
|  |             <include refid="QueryMemberParent"></include> | ||
|  |         ) a | ||
|  |         inner join bd_grade bg | ||
|  |         on a.pk_grade = bg.pk_id | ||
|  |         left join ac_pick ap | ||
|  |         on ap.pk_member = a.pk_member and ap.pick_type=8 and ap.del_flag=0 | ||
|  |         left join bd_product bp | ||
|  |         on ap.pk_data_id = bp.pk_id | ||
|  |     </select> | ||
|  |     <select id="queryCuMemberSecondPlaceParent" resultMap="CuMemberSettleExt"> | ||
|  |         select b.pk_id pk_member,b.pk_parent,b.pk_place_parent,b.place_dept,b.pk_center_code,b.member_code,b.member_name,b.pk_grade,b.pk_awards,b.account_status, | ||
|  |         b.register_authority,b.customer_type,b.income_status,b.pk_settle_country,b.is_maker_space,b.purchase_status, | ||
|  |         b.share_status,bg.grade_value,b.category,st.a_balance,st.b_balance,0 r_a_balance,0 r_b_balance, | ||
|  |         st.a_sum_amount,st.b_sum_amount,st.a_sum_pv,st.b_sum_pv,st.a_new_amount,st.b_new_amount,st.a_new_pv, | ||
|  |         st.b_new_pv,st.a_sum_real_amount,st.b_sum_real_amount,st.a_sum_real_pv, | ||
|  |         st.b_sum_real_pv,st.rep_a_balance,st.rep_b_balance,0 r_rep_a_balance,0 r_rep_b_balance,st.rep_a_new_amount, | ||
|  |         st.rep_b_new_amount,st.rep_a_new_pv,st.rep_b_new_pv,st.rep_a_sum_amount, | ||
|  |         st.rep_b_sum_amount,st.rep_a_sum_pv,st.rep_b_sum_pv, | ||
|  |        st.register_amount,st.register_pv,st.register_new_amount,st.register_new_pv, | ||
|  |        st.upgrade_amount,st.upgrade_pv,st.upgrade_new_amount,st.upgrade_new_pv, | ||
|  |        st.repurchase_amount,st.repurchase_pv,st.repurchase_new_amount,st.repurchase_new_pv, | ||
|  |        st.hi_fun_amount,st.hi_fun_pv,st.hi_fun_new_amount,st.hi_fun_new_pv, | ||
|  |        st.mall_amount,st.mall_pv,st.mall_new_amount,st.mall_new_pv, | ||
|  |         st.round,st.second,st.min_achieve,st.expire_status from ${secondTableName} st | ||
|  |         inner join | ||
|  |         (select pk_id,pk_parent,pk_place_parent,place_dept,member_code,member_name,pk_center_code,pk_settle_grade pk_grade,pk_awards,account_status,register_authority,customer_type, | ||
|  |         income_status,pk_settle_country,purchase_status,share_status,category,is_maker_space,0 orders from cu_member | ||
|  |         where del_flag = 0 start with pk_id = #{pkMember} | ||
|  |         connect by pk_id = prior pk_place_parent | ||
|  |         ) b | ||
|  |         on b.pk_id = st.pk_member | ||
|  |         left join bd_grade bg | ||
|  |         on b.pk_grade = bg.pk_id | ||
|  |         order by b.orders | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberSecondBloParent" resultMap="CuMemberSettleExt"> | ||
|  |         select b.pk_id pk_member,b.pk_parent,b.pk_place_parent,b.place_dept,b.pk_center_code,b.member_code,b.member_name,b.pk_grade,b.pk_awards,b.account_status, | ||
|  |                b.register_authority,b.customer_type,b.income_status,b.pk_settle_country,b.is_maker_space,b.purchase_status, | ||
|  |                b.share_status,bg.grade_value,b.category,st.a_balance,st.b_balance,0 r_a_balance,0 r_b_balance, | ||
|  |                st.a_sum_amount,st.b_sum_amount,st.a_sum_pv,st.b_sum_pv,st.a_new_amount,st.b_new_amount,st.a_new_pv, | ||
|  |                st.b_new_pv,st.a_sum_real_amount,st.b_sum_real_amount,st.a_sum_real_pv, | ||
|  |                st.b_sum_real_pv,st.rep_a_balance,st.rep_b_balance,0 r_rep_a_balance,0 r_rep_b_balance,st.rep_a_new_amount, | ||
|  |                st.rep_b_new_amount,st.rep_a_new_pv,st.rep_b_new_pv,st.rep_a_sum_amount, | ||
|  |                st.rep_b_sum_amount,st.rep_a_sum_pv,st.rep_b_sum_pv, | ||
|  |                st.register_amount,st.register_pv,st.register_new_amount,st.register_new_pv, | ||
|  |                st.upgrade_amount,st.upgrade_pv,st.upgrade_new_amount,st.upgrade_new_pv, | ||
|  |                st.repurchase_amount,st.repurchase_pv,st.repurchase_new_amount,st.repurchase_new_pv, | ||
|  |                st.hi_fun_amount,st.hi_fun_pv,st.hi_fun_new_amount,st.hi_fun_new_pv, | ||
|  |                st.mall_amount,st.mall_pv,st.mall_new_amount,st.mall_new_pv, | ||
|  |                st.round,st.second,st.min_achieve,st.expire_status from ${secondTableName} st | ||
|  |                   inner join | ||
|  |               (select pk_id,pk_parent,pk_place_parent,place_dept,member_code,member_name,pk_center_code,pk_settle_grade pk_grade,pk_awards,account_status,register_authority,customer_type, | ||
|  |                       income_status,pk_settle_country,purchase_status,share_status,category,is_maker_space,0 orders from cu_member | ||
|  |                where del_flag = 0 start with pk_id = #{pkMember} | ||
|  |                connect by pk_id = prior pk_parent | ||
|  |               ) b | ||
|  |               on b.pk_id = st.pk_member | ||
|  |                   left join bd_grade bg | ||
|  |                             on b.pk_grade = bg.pk_id | ||
|  |         order by b.orders | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberSecondParent" resultMap="CuMemberSettleExt"> | ||
|  |         select b.pk_id pk_member,b.pk_parent,b.pk_place_parent,b.place_dept,b.pk_center_code,b.member_code,b.member_name,b.pk_grade,b.pk_awards,b.account_status, | ||
|  |         b.register_authority,b.customer_type,b.income_status,b.pk_settle_country,b.is_maker_space,b.purchase_status, | ||
|  |         b.share_status,bg.grade_value,b.category,st.a_balance,st.b_balance,0 r_a_balance,0 r_b_balance, | ||
|  |         st.a_sum_amount,st.b_sum_amount,st.a_sum_pv,st.b_sum_pv,st.a_new_amount,st.b_new_amount,st.a_new_pv, | ||
|  |         st.b_new_pv,st.a_sum_real_amount,st.b_sum_real_amount,st.a_sum_real_pv, | ||
|  |         st.b_sum_real_pv,st.rep_a_balance,st.rep_b_balance,0 r_rep_a_balance,0 r_rep_b_balance,st.rep_a_new_amount, | ||
|  |         st.rep_b_new_amount,st.rep_a_new_pv,st.rep_b_new_pv,st.rep_a_sum_amount, | ||
|  |         st.rep_b_sum_amount,st.rep_a_sum_pv,st.rep_b_sum_pv, | ||
|  |         st.register_amount,st.register_pv,st.register_new_amount,st.register_new_pv, | ||
|  |         st.upgrade_amount,st.upgrade_pv,st.upgrade_new_amount,st.upgrade_new_pv, | ||
|  |         st.repurchase_amount,st.repurchase_pv,st.repurchase_new_amount,st.repurchase_new_pv, | ||
|  |         st.hi_fun_amount,st.hi_fun_pv,st.hi_fun_new_amount,st.hi_fun_new_pv, | ||
|  |         st.mall_amount,st.mall_pv,st.mall_new_amount,st.mall_new_pv, | ||
|  |         st.round,st.second,st.min_achieve,st.expire_status from | ||
|  |         ( | ||
|  |         select pk_id,pk_parent,pk_place_parent,place_dept,member_code,member_name,pk_center_code,pk_settle_grade pk_grade,pk_awards,account_status,register_authority,customer_type, | ||
|  |         income_status,pk_settle_country,purchase_status,share_status,category,is_maker_space from cu_member | ||
|  |         where del_flag= 0 and pk_id in | ||
|  |         <foreach collection="cuMemberTreeList" item="item" open="(" close=")" separator=","> | ||
|  |             #{item} | ||
|  |         </foreach> | ||
|  |         ) b | ||
|  |         inner join ${secondTableName} st | ||
|  |         on b.pk_id = st.pk_member | ||
|  |         left join bd_grade bg | ||
|  |         on b.pk_grade = bg.pk_id | ||
|  |     </select> | ||
|  | 
 | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreePlaceParentTable" resultMap="CuMemberSettleExt"> | ||
|  |         select t.*,cm.PK_PLACE_PARENT,cm.PK_PARENT, level,cm.PLACE_DEPT | ||
|  |         from ${tableName} t | ||
|  |         left join  CU_MEMBER cm on cm.PK_ID = t.PK_MEMBER | ||
|  |         where level < #{level} | ||
|  |         and cm.DEL_FLAG  = 0 | ||
|  |         <if test="memberIdList.size() > 0 and memberIdList != ''"> | ||
|  |             and cm.PK_ID in | ||
|  |             <foreach collection="memberIdList" item="item" open="(" close=")" separator=","> | ||
|  |                 #{item} | ||
|  |             </foreach> | ||
|  |         </if> | ||
|  |         start with cm.PK_PLACE_PARENT = #{pkMember} | ||
|  |         connect by cm.PK_PLACE_PARENT = prior t.pk_member | ||
|  |         order by cm.PLACE_DEPT ASC | ||
|  |     </select> | ||
|  | 
 | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreeByPkMemberTable" resultMap="CuMemberSettleExt"> | ||
|  |         select | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |                t.PK_RATE,t.A_BALANCE,t.B_BALANCE,t.A_SUM_AMOUNT,t.B_SUM_AMOUNT,t.A_SUM_PV,t.B_SUM_PV,t.A_NEW_AMOUNT, | ||
|  |                t.B_NEW_AMOUNT,t.A_NEW_PV,t.B_NEW_PV,t.A_SUM_REAL_AMOUNT,t.B_SUM_REAL_AMOUNT,t.A_SUM_REAL_PV,t.B_SUM_REAL_PV, | ||
|  |                t.REP_A_BALANCE,t.REP_B_BALANCE,t.REP_A_NEW_AMOUNT,t.REP_B_NEW_AMOUNT,t.REP_A_NEW_PV,t.REP_B_NEW_PV,t.REP_A_SUM_AMOUNT, | ||
|  |                t.REP_B_SUM_AMOUNT,t.REP_A_SUM_PV,t.REP_B_SUM_PV,t.REGISTER_AMOUNT,t.REGISTER_PV,t.REGISTER_NEW_PV,t.UPGRADE_AMOUNT,t.UPGRADE_PV, | ||
|  |                t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT, | ||
|  |                t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND, | ||
|  |         </if> | ||
|  |                cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode, | ||
|  |         (select count(cr.pk_id) from CU_MEMBER cr where cr.pk_parent = cm.pk_id and cr.del_flag = 0)   directPushNumber | ||
|  |         from | ||
|  |         CU_MEMBER cm | ||
|  |         left join  CU_MEMBER cme on cme.PK_ID = cm.PK_PLACE_PARENT | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |             left join  ${tableName} t  on cm.PK_ID = t.PK_MEMBER | ||
|  |         </if> | ||
|  | 
 | ||
|  |         where cm.PK_ID = #{pkMember} | ||
|  |           and cm.DEL_FLAG  = 0 | ||
|  |     </select> | ||
|  | 
 | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreeParentTable" resultMap="CuMemberSettleExt" > | ||
|  |         select | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |                t.PK_RATE, | ||
|  |         t.A_BALANCE, | ||
|  |         t.B_BALANCE, | ||
|  |         t.A_SUM_AMOUNT, | ||
|  |         t.B_SUM_AMOUNT, | ||
|  |         t.A_SUM_PV, | ||
|  |         t.B_SUM_PV, | ||
|  |         t.A_NEW_AMOUNT, | ||
|  |         t.B_NEW_AMOUNT, | ||
|  |         t.A_NEW_PV, | ||
|  |         t.B_NEW_PV, | ||
|  |         t.A_SUM_REAL_AMOUNT, | ||
|  |         t.B_SUM_REAL_AMOUNT, | ||
|  |         t.A_SUM_REAL_PV, | ||
|  |         t.B_SUM_REAL_PV, | ||
|  |         t.REP_A_BALANCE, | ||
|  |         t.REP_B_BALANCE, | ||
|  |         t.REP_A_NEW_AMOUNT, | ||
|  |         t.REP_B_NEW_AMOUNT, | ||
|  |         t.REP_A_NEW_PV, | ||
|  |         t.REP_B_NEW_PV, | ||
|  |         t.REP_A_SUM_AMOUNT, | ||
|  |         t.REP_B_SUM_AMOUNT, | ||
|  |         t.REP_A_SUM_PV, | ||
|  |         t.REP_B_SUM_PV, | ||
|  |         t.REGISTER_AMOUNT, | ||
|  |         t.REGISTER_PV, | ||
|  |         t.REGISTER_NEW_PV, | ||
|  |         t.UPGRADE_AMOUNT, | ||
|  |         t.UPGRADE_PV, | ||
|  |         t.UPGRADE_NEW_PV, | ||
|  |         t.REPURCHASE_AMOUNT, | ||
|  |         t.REPURCHASE_PV, | ||
|  |         t.REPURCHASE_NEW_PV, | ||
|  |         t.HI_FUN_AMOUNT, | ||
|  |         t.HI_FUN_PV, | ||
|  |         t.HI_FUN_NEW_PV, | ||
|  |         t.MALL_AMOUNT, | ||
|  |         t.MALL_PV, | ||
|  |         t.MALL_NEW_PV, | ||
|  |         t.MIN_ACHIEVE, | ||
|  |         t.ROUND, | ||
|  |         t.SECOND, | ||
|  |         </if> | ||
|  |                cm.*,      cme.MEMBER_CODE      parentMemberCode from (  select | ||
|  |         level,cm.PK_ID, | ||
|  |         cm.PK_COUNTRY, | ||
|  |         cm.PK_PLACE_PARENT, | ||
|  |         cm.PK_PARENT, | ||
|  |         cm.PLACE_DEPT, | ||
|  |         cm.MEMBER_NAME, | ||
|  |         cm.MEMBER_CODE, | ||
|  |         cm.PK_ID    PK_MEMBER, | ||
|  |         cm.PK_SETTLE_COUNTRY | ||
|  | 
 | ||
|  |         from CU_MEMBER cm | ||
|  | 
 | ||
|  |         where  1 = 1 | ||
|  |         <if test="level != null"> | ||
|  |             and level <  #{level} | ||
|  |         </if> | ||
|  |         and cm.del_flag = 0 | ||
|  |         start with cm.PK_PARENT = #{pkMember} | ||
|  |         connect by cm.PK_PARENT = prior cm.pk_id | ||
|  |         order by cm.Place_Dept ASC )  cm | ||
|  |         left join CU_MEMBER cme | ||
|  |         on cme.PK_ID = cm.PK_PARENT | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |         left join ${tableName} t | ||
|  |         on cm.PK_ID = t.PK_MEMBER | ||
|  |         </if> | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreeParentTableCount" resultType="long" > | ||
|  |         select count(PK_MEMBER) from  ${tableName} t | ||
|  |         left join CU_MEMBER cm on cm.pk_id = t.PK_MEMBER   where  cm.PK_PARENT = #{pkMember} | ||
|  |     </select> | ||
|  | 
 | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreePlaceParentHistoryTable" resultMap="CuMemberSettleExt"> | ||
|  |         select | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |             t.PK_RATE,t.A_BALANCE,t.B_BALANCE,t.A_SUM_AMOUNT,t.B_SUM_AMOUNT,t.A_SUM_PV,t.B_SUM_PV,t.A_NEW_AMOUNT, | ||
|  |             t.B_NEW_AMOUNT,t.A_NEW_PV,t.B_NEW_PV,t.A_SUM_REAL_AMOUNT,t.B_SUM_REAL_AMOUNT,t.A_SUM_REAL_PV,t.B_SUM_REAL_PV, | ||
|  |             t.REP_A_BALANCE,t.REP_B_BALANCE,t.REP_A_NEW_AMOUNT,t.REP_B_NEW_AMOUNT,t.REP_A_NEW_PV,t.REP_B_NEW_PV,t.REP_A_SUM_AMOUNT, | ||
|  |             t.REP_B_SUM_AMOUNT,t.REP_A_SUM_PV,t.REP_B_SUM_PV,t.REGISTER_AMOUNT,t.REGISTER_PV,t.REGISTER_NEW_PV,t.UPGRADE_AMOUNT,t.UPGRADE_PV, | ||
|  |             t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT, | ||
|  |             t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND, | ||
|  |         </if> | ||
|  |                level,cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode | ||
|  |         from  CU_MEMBER cm | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |         left join  ${tableName} t on cm.PK_ID = t.PK_MEMBER | ||
|  |         </if> | ||
|  |         left join  CU_MEMBER cme on cme.PK_ID = cm.PK_PLACE_PARENT | ||
|  |         where level < #{level} | ||
|  |         <if test="memberIdList.size() > 0 and memberIdList != ''"> | ||
|  |             and cm.PK_ID in | ||
|  |             <foreach collection="memberIdList" item="item" open="(" close=")" separator=","> | ||
|  |                 #{item} | ||
|  |             </foreach> | ||
|  |         </if> | ||
|  | 
 | ||
|  |         start with cm.PK_PLACE_PARENT = #{pkMember} | ||
|  |         connect by cm.PK_PLACE_PARENT = prior cm.pk_id | ||
|  |         order by cm.Place_Dept ASC | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreeParentSumTable"  resultType="com.hzs.bonus.census.vo.CensusSummaryVo"> | ||
|  |         select | ||
|  |                nvl(sum(REGISTER_NEW_AMOUNT + UPGRADE_NEW_AMOUNT),0) firstBuyAmount , | ||
|  |                nvl(sum(UPGRADE_NEW_AMOUNT),0) upgradeAmount, | ||
|  |                nvl(sum(REPURCHASE_NEW_AMOUNT),0) repurchaseAmount, | ||
|  |                nvl(sum(HI_FUN_NEW_AMOUNT),0) fansAmount, | ||
|  |                nvl(sum(REGISTER_NEW_PV+UPGRADE_NEW_PV),0) firstBuyAmountPv, | ||
|  |                nvl(sum(UPGRADE_NEW_PV),0) upgradePv, | ||
|  |                nvl(sum(REPURCHASE_NEW_PV),0) repurchasePv, | ||
|  |                nvl(sum(HI_FUN_NEW_PV),0) hiFunAmountPv | ||
|  |         from  ${tableName} t | ||
|  |         left join cu_member cm on cm.pk_id = t.PK_MEMBER | ||
|  |         <if test="censusSummaryParam.pkVertex != null and censusSummaryParam.pkVertex.size() > 0"> | ||
|  |             and cm.PK_VERTEX in | ||
|  |             <foreach collection="censusSummaryParam.pkVertex" item="item" open="(" close=")" separator=","> | ||
|  |                 #{item} | ||
|  |             </foreach> | ||
|  |         </if> | ||
|  |         <if test="censusSummaryParam.pkMemberTeam != null and censusSummaryParam.pkMemberTeam.size() > 0"> | ||
|  |             and cm.PK_TEAM_CODE in | ||
|  |             <foreach collection="censusSummaryParam.pkMemberTeam" item="item" open="(" close=")" separator=","> | ||
|  |                 #{item} | ||
|  |             </foreach> | ||
|  |         </if> | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreeLastPlaceParent"  resultMap="CuMemberSettleExt"> | ||
|  |         select cu.place_dept, cu.pk_member,cu.member_code, cu.member_name, cu.phone,cu.category,cu.pk_grade, | ||
|  |                bg.grade_value from( | ||
|  |             select * | ||
|  |         from (select t.place_dept, t.pk_member,t.member_name,t.member_code, t.phone,t.category,t.pk_grade | ||
|  |               from ${tableName} t | ||
|  |               where t.place_dept = 1 | ||
|  |                   start with t.pk_member = (select u.pk_member | ||
|  |                   from ${tableName} u | ||
|  |                   where u.pk_place_parent=#{pkMember} | ||
|  |                   and place_dept = 1) | ||
|  |               connect by prior | ||
|  |                   t.pk_member = (select u.pk_place_parent | ||
|  |                   from ${tableName} u | ||
|  |                   where u.pk_member = t.pk_member | ||
|  |                      and u.place_dept = 1) | ||
|  |               order by level desc) n | ||
|  |         where rownum = 1 | ||
|  |         union | ||
|  |         select * | ||
|  |         from ( | ||
|  |                  select t.place_dept, t.pk_member,t.member_name,t.member_code, t.phone,t.category,t.pk_grade | ||
|  |                  from ${tableName} t | ||
|  |                  where t.place_dept = 2 | ||
|  |                      start with t.pk_member = (select u.pk_member | ||
|  |                      from ${tableName} u | ||
|  |                      where u.pk_place_parent=#{pkMember} | ||
|  |                      and place_dept = 2) | ||
|  |                  connect by prior | ||
|  |                      t.pk_member = (select u.pk_place_parent | ||
|  |                      from ${tableName} u | ||
|  |                      where u.pk_member = t.pk_member | ||
|  |                         and u.place_dept = 2) | ||
|  |                  order by level desc) n | ||
|  |         where rownum = 1)cu | ||
|  |          left join bd_grade bg | ||
|  |         on cu.pk_grade = bg.pk_id | ||
|  |     </select> | ||
|  |     <select id="queryCuMemberTree" resultMap="CuMemberSettleExt"> | ||
|  |         select t.place_dept, t.pk_member, t.member_name,t.member_code, t.phone,t.category,t.pk_grade,bg.grade_value from ${tableName} t | ||
|  |         left join bd_grade bg | ||
|  |         on bg.pk_id = t.pk_grade | ||
|  |         where 1=1 | ||
|  |         <if test="pkMember != null"> | ||
|  |             and pk_member = #{pkMember} | ||
|  |         </if> | ||
|  |         <if test="pkPlaceParent != null"> | ||
|  |             and pk_place_parent=#{pkPlaceParent} | ||
|  |         </if> | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="selectByTreeMemberList" resultMap="CuMemberSettleExt"> | ||
|  |         select t.PK_RATE,t.A_BALANCE,t.B_BALANCE,t.A_SUM_AMOUNT,t.B_SUM_AMOUNT,t.A_SUM_PV,t.B_SUM_PV,t.A_NEW_AMOUNT, | ||
|  |                t.B_NEW_AMOUNT,t.A_NEW_PV,t.B_NEW_PV,t.A_SUM_REAL_AMOUNT,t.B_SUM_REAL_AMOUNT,t.A_SUM_REAL_PV,t.B_SUM_REAL_PV, | ||
|  |                t.REP_A_BALANCE,t.REP_B_BALANCE,t.REP_A_NEW_AMOUNT,t.REP_B_NEW_AMOUNT,t.REP_A_NEW_PV,t.REP_B_NEW_PV,t.REP_A_SUM_AMOUNT, | ||
|  |                t.REP_B_SUM_AMOUNT,t.REP_A_SUM_PV,t.REP_B_SUM_PV,t.REGISTER_AMOUNT,t.REGISTER_PV,t.REGISTER_NEW_PV,t.UPGRADE_AMOUNT,t.UPGRADE_PV, | ||
|  |                t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT, | ||
|  |                t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND,level,cm.PK_AWARDS,cm.PK_SETTLE_COUNTRY, | ||
|  |                cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cme.MEMBER_CODE parentMemberCode | ||
|  |         from CU_MEMBER cm | ||
|  |         left join  CU_MEMBER cme on cme.PK_ID = cm.PK_PLACE_PARENT | ||
|  |         left join ${tableName} t on cm.PK_ID = t.PK_MEMBER | ||
|  |         where level < #{level} and cm.del_flag = 0 | ||
|  |             start | ||
|  |         with cm.PK_PLACE_PARENT = #{pkMember} | ||
|  |         connect by cm.PK_PLACE_PARENT = prior cm.PK_ID | ||
|  |         order by cm.PLACE_DEPT | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="getCuMemberRealPerformanceByMemberId" resultType="com.hzs.common.domain.member.ext.CuMemberSettleExt" > | ||
|  |         select t.* | ||
|  |         from  ${tableName} t | ||
|  |         where t.PK_MEMBER = #{pkMember} | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryPlaceParentPeopleNumber"  resultType="long"> | ||
|  |         select count(t.PK_ID) | ||
|  |         from CU_MEMBER t | ||
|  |         where t.PLACE_DEPT = #{placeDept} | ||
|  |             start with t.PK_PLACE_PARENT = #{memberId} | ||
|  |         connect by t.PK_PLACE_PARENT = prior t.PK_ID | ||
|  |         order by level | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryParentPeopleNumber"  resultType="long"> | ||
|  |         select count(t.PK_ID) | ||
|  |         from CU_MEMBER t | ||
|  |         where t.PLACE_DEPT = #{placeDept} | ||
|  |             start with t.PK_PARENT = #{memberId} | ||
|  |         connect by t.PK_PARENT = prior t.PK_ID | ||
|  |         order by level | ||
|  |     </select> | ||
|  |     <select id="batchQueryMemberSettleParentByMemberPk" resultMap="CuMemberSettleExt"> | ||
|  |         select cl.pk_member,cl.member_code,cl.member_name,cl.pk_awards,cl.pk_grade,cl.account_status,cl.category,cl.income_status,cl.pk_settle_country, | ||
|  |         cl.is_maker_space,cl.purchase_status,cl.share_status, | ||
|  |         cl.a_balance,cl.b_balance,cl.r_a_balance,cl.r_b_balance,cl.rep_a_balance,cl.rep_b_balance,cl.r_rep_a_balance,cl.r_rep_b_balance, | ||
|  |         cl.register_amount,cl.register_pv,cl.upgrade_amount,cl.upgrade_pv,cl.repurchase_amount,cl.pk_center_code,cl.register_authority, | ||
|  |         cl.repurchase_pv,cl.hi_fun_amount,cl.hi_fun_pv,cl.mall_amount,cl.mall_pv,cl.min_achieve,cl.round,cl.second from ${settleTableName} ct | ||
|  |         inner join ${settleTableName} cl | ||
|  |         on ct.pk_parent = cl.pk_member | ||
|  |         where ct.pk_member in | ||
|  |         <foreach collection="memberPkList" item="item" open="(" close=")" separator=","> | ||
|  |             #{item} | ||
|  |         </foreach> | ||
|  |         union | ||
|  |         select pk_member,member_code,member_name,pk_awards,pk_grade,account_status,category,income_status,pk_settle_country, | ||
|  |         is_maker_space,purchase_status,share_status, | ||
|  |         a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, | ||
|  |         register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code,register_authority, | ||
|  |         repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,min_achieve,round,second from ${settleTableName} | ||
|  |         where pk_member in | ||
|  |         <foreach collection="memberPkList" item="item" open="(" close=")" separator=","> | ||
|  |             #{item} | ||
|  |         </foreach> | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="selectByselectByTreeMemberCount" resultType="long"> | ||
|  |         select count(PK_MEMBER) from  ${tableName} where pk_member = #{pkMember} | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="brollyBelowResettle" resultMap="CuMemberSettleExt" > | ||
|  |         select t.*,cm.PK_PLACE_PARENT,cm.PK_PARENT, level,cm.PLACE_DEPT | ||
|  |         from ${tableName} t | ||
|  |         left join  CU_MEMBER cm on cm.PK_ID = t.PK_MEMBER | ||
|  |         where | ||
|  |         cm.DEL_FLAG  = 0 | ||
|  |         start with cm.PK_PLACE_PARENT = #{pkMember} | ||
|  |         connect by cm.PK_PLACE_PARENT = prior t.pk_member | ||
|  |         order by cm.PLACE_DEPT ASC | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryCuMemberTreeByPlacePkMemberTable" resultMap="CuMemberSettleExt"> | ||
|  |         select | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |             t.PK_RATE,t.A_BALANCE,t.B_BALANCE,t.A_SUM_AMOUNT,t.B_SUM_AMOUNT,t.A_SUM_PV,t.B_SUM_PV,t.A_NEW_AMOUNT, | ||
|  |             t.B_NEW_AMOUNT,t.A_NEW_PV,t.B_NEW_PV,t.A_SUM_REAL_AMOUNT,t.B_SUM_REAL_AMOUNT,t.A_SUM_REAL_PV,t.B_SUM_REAL_PV, | ||
|  |             t.REP_A_BALANCE,t.REP_B_BALANCE,t.REP_A_NEW_AMOUNT,t.REP_B_NEW_AMOUNT,t.REP_A_NEW_PV,t.REP_B_NEW_PV,t.REP_A_SUM_AMOUNT, | ||
|  |             t.REP_B_SUM_AMOUNT,t.REP_A_SUM_PV,t.REP_B_SUM_PV,t.REGISTER_AMOUNT,t.REGISTER_PV,t.REGISTER_NEW_PV,t.UPGRADE_AMOUNT,t.UPGRADE_PV, | ||
|  |             t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT, | ||
|  |             t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND, | ||
|  |         </if> | ||
|  |         cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode | ||
|  | 
 | ||
|  |         from | ||
|  |         CU_MEMBER cm | ||
|  |         left join  CU_MEMBER cme on cme.PK_ID = cm.PK_PARENT | ||
|  |         <if test="tableName != null and tableName != ''"> | ||
|  |             left join  ${tableName} t  on cm.PK_ID = t.PK_MEMBER | ||
|  |         </if> | ||
|  | 
 | ||
|  | 
 | ||
|  |         where cm.PK_ID = #{pkMember} | ||
|  |         and cm.DEL_FLAG  = 0 | ||
|  |     </select> | ||
|  |     <select id="queryByMemberParentCount"  resultType="com.hzs.bonus.achieve.param.MemberParentCountParam"> | ||
|  |         select count(cr.pk_id) parentMemberCount,cr.PK_PARENT pkMember from CU_MEMBER cr where   cr.PK_PARENT in | ||
|  | 
 | ||
|  |         <trim suffixOverrides=" OR PK_ID IN()">	<!-- 表示删除最后一个条件 --> | ||
|  |             <foreach collection="memberIds" item="Id" index="index" open="(" close=")"> | ||
|  |                 <if test="index != 0"> | ||
|  |                     <choose> | ||
|  |                         <when test="index % 1000 == 999">) OR cr.PK_PARENT IN (</when> | ||
|  |                         <otherwise>,</otherwise> | ||
|  |                     </choose> | ||
|  |                 </if> | ||
|  |                 #{Id} | ||
|  |             </foreach> | ||
|  |         </trim> | ||
|  |         and cr.del_flag = 0 | ||
|  |         group by cr.PK_PARENT | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryByMemberParentSumPv" resultType="com.hzs.bonus.achieve.param.MemberParentCountParam"> | ||
|  |         select sum(cr.REGISTER_PV + cr.UPGRADE_PV + cr.REPURCHASE_PV + cr.HI_FUN_PV + cr.MALL_PV) parentMemberSumPv,cm.PK_PARENT pkMember from ${tableName} cr | ||
|  |         left join CU_MEMBER cm on cm.PK_ID = cr.PK_MEMBER | ||
|  |         where  cm.del_flag = 0 and cm.PK_PARENT in | ||
|  |         <foreach collection="memberIds" item="item" open="(" close=")" separator=","> | ||
|  |             #{item} | ||
|  |         </foreach> | ||
|  |         group by cm.PK_PARENT | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryByMemberParentAndMemberSettleCount"  resultType="com.hzs.bonus.achieve.param.MemberParentCountParam"> | ||
|  |         select count(cr.PK_MEMBER) parentMemberCount,cr.PK_PARENT pkMember from cu_member_settle981 cr where   cr.PK_PARENT in | ||
|  | 
 | ||
|  |         <trim suffixOverrides=" OR PK_ID IN()">	<!-- 表示删除最后一个条件 --> | ||
|  |             <foreach collection="memberIds" item="Id" index="index" open="(" close=")"> | ||
|  |                 <if test="index != 0"> | ||
|  |                     <choose> | ||
|  |                         <when test="index % 1000 == 999">) OR cr.PK_PARENT IN (</when> | ||
|  |                         <otherwise>,</otherwise> | ||
|  |                     </choose> | ||
|  |                 </if> | ||
|  |                 #{Id} | ||
|  |             </foreach> | ||
|  |         </trim> | ||
|  | 
 | ||
|  |         group by cr.PK_PARENT | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryByMemberParentSettleSumPv" resultType="com.hzs.bonus.achieve.param.MemberParentCountParam"> | ||
|  |         select sum(cr.REGISTER_PV + cr.UPGRADE_PV + cr.REPURCHASE_PV + cr.HI_FUN_PV + cr.MALL_PV) parentMemberSumPv,cr.PK_PARENT pkMember from ${tableName} cr | ||
|  | 
 | ||
|  |         where   cr.PK_PARENT in | ||
|  |         <foreach collection="memberIds" item="item" open="(" close=")" separator=","> | ||
|  |             #{item} | ||
|  |         </foreach> | ||
|  |         group by cr.PK_PARENT | ||
|  |     </select> | ||
|  | 
 | ||
|  |     <select id="queryMemberSettleByAwards" resultType="com.hzs.common.domain.member.ext.CuMemberSettleExt"> | ||
|  |         select a.pk_settle_country,a.income_status,a.pk_member,a.expire_status,a.purchase_status,ba.abonus_ratio,c.real_income_total from ${settleTableName} a | ||
|  |             inner join bd_awards ba | ||
|  |                        on a.pk_awards=ba.pk_id | ||
|  |             inner join ( | ||
|  |             select pk_member,sum(real_income_total-global_points) real_income_total from cu_member_bonus | ||
|  |             where del_flag=0 and period between #{startPeriod} and #{endPeriod} | ||
|  |               and real_income_total>0 | ||
|  |             group by pk_member) c | ||
|  |         on a.pk_member=c.pk_member | ||
|  |         where ba.del_flag=0 and ba.awards_value>=5 and ba.abonus_ratio>0 | ||
|  |           and a.pk_settle_country=1 | ||
|  |         union | ||
|  |         select a.pk_settle_country,a.income_status,a.pk_member,1 expire_status,a.purchase_status,ba.abonus_ratio,c.real_income_total from ${rangeTableName} a | ||
|  |             inner join bd_awards ba | ||
|  |            on a.pk_benefit_awards=ba.pk_id | ||
|  |             inner join ( | ||
|  |             select pk_member,sum(real_income_total) real_income_total from cu_member_bonus | ||
|  |             where del_flag=0 and period between #{startPeriod} and #{endPeriod} | ||
|  |               and real_income_total>0 | ||
|  |             group by pk_member | ||
|  |         ) c | ||
|  |        on a.pk_member=c.pk_member | ||
|  |         where ba.del_flag=0 and ba.awards_value>=5 and ba.abonus_ratio>0 | ||
|  |           and a.pk_settle_country=1 | ||
|  |     </select> | ||
|  | 
 | ||
|  | </mapper> |