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
    
    
    
        ,
        ,
        
    
    
        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
    
    
        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 (
        
        ) a
        inner join bd_grade bg
        on a.pk_grade = bg.pk_id
    
    
        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
    
    
        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;
    
    
        
            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
        
    
    
        create table ${tableName}
        (
        pk_id NUMBER(20) primary key,
        
        )
    
    
        create table ${tableName}
        (
        
        )
    
    
    
        create table ${tableName}
        (
            pk_member           NUMBER(20) not null,
            child_node          NUMBER(8) not null,
            pk_parent           NUMBER(20) not null,
            stage               NUMBER(1) default 1 not null,
            stage_status        NUMBER(1) default 1 not null,
            stage_date          DATE,
            point_member_11     NUMBER(20),
            point_11            NUMBER(8),
            point_member_12     NUMBER(20),
            point_12            NUMBER(8),
            point_member_21     NUMBER(20),
            point_21            NUMBER(8),
            point_member_22     NUMBER(20),
            point_22            NUMBER(8),
            point_member_23     NUMBER(20),
            point_23            NUMBER(8),
            point_member_24     NUMBER(20),
            point_24            NUMBER(8),
            point_member_31     NUMBER(20),
            point_31            NUMBER(8),
            point_member_32     NUMBER(20),
            point_32            NUMBER(8),
            point_member_33     NUMBER(20),
            point_33            NUMBER(8),
            point_member_34     NUMBER(20),
            point_34            NUMBER(8),
            point_member_35     NUMBER(20),
            point_35            NUMBER(8),
            point_member_36     NUMBER(20),
            point_36            NUMBER(8),
            point_member_37     NUMBER(20),
            point_37            NUMBER(8),
            point_member_38     NUMBER(20),
            point_38            NUMBER(8),
            point_type          NUMBER(1) default 0 not null,
            point_gift          NUMBER(1) default 0 not null,
            creation_time       DATE,
            point_member_first  NUMBER(20),
            point_first         NUMBER(8),
            point_member_second NUMBER(20),
            point_second        NUMBER(8),
            point_member_third  NUMBER(20),
            point_third         NUMBER(8),
            third_bonus_1       NUMBER(8) default 0 not null,
            third_bonus_2       NUMBER(8) default 0 not null,
            third_bonus_3       NUMBER(8) default 0 not null
        )
    
    
    
        create unique index PK_${tableName}
        on ${tableName}
        (
        PK_MEMBER, CHILD_NODE, STAGE
        )
    
    
        create index ${tableName}_parent
        on
        ${tableName}
        (
        pk_parent
        )
    
    
        create index ${tableName}_place
        on
        ${tableName}
        (
        pk_place_parent,
        place_dept
        )
    
    
        create unique index ${tableName}_PK_M
        on ${tableName}
        (
        PK_MEMBER,
        period
        )
    
    
        create unique index ${tableName}_PK_M
        on ${tableName}
        (
        PK_MEMBER
        )
    
    
        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, 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,
               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
        where cm.del_flag = 0
    
    
        
    
    
        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}
        and ca.del_flag = 0
        
            and cm.pk_awards <= ca.new_level
        
        
            and cm.pk_share_awards <= ca.new_level
        
        group by ca.pk_member
        ) b
        on (a.pk_member = b.pk_member)
        when matched then
        update set
        
            a.pk_awards = b.pk_awards
        
        
            a.pk_share_awards=b.pk_awards
        
    
    
        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
        where a.del_flag = 0
        ) y
        on x.pk_member = y.pk_member
        where
        
            x.pk_awards < y.pk_awards
        
        
            x.pk_share_awards < y.pk_awards
        
        ) b
        on (a.pk_member = b.pk_member)
        when matched then
        update set
        
            a.pk_awards = b.pk_awards
        
        
            a.pk_share_awards = b.pk_awards
        
    
    
        CREATE TABLE ${tableName}
        (
            "PK_MEMBER" NUMBER(20,0) NOT NULL ENABLE,
            "PK_PARENT" NUMBER(20,0) NOT NULL ENABLE,
            "PK_GRADE" NUMBER(4,0) NOT NULL ENABLE,
            "PK_AWARDS" NUMBER(4,0) DEFAULT 10 NOT NULL ENABLE,
            "ALL_CONSUME_NEW_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "ALL_CONSUME_NEW_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "ALL_TEAM_NEW_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "ALL_TEAM_NEW_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REG_CONSUME_NEW_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REG_CONSUME_NEW_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REG_TEAM_NEW_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REG_TEAM_NEW_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REP_CONSUME_NEW_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REP_CONSUME_NEW_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REP_TEAM_NEW_AMOUNT" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE,
            "REP_TEAM_NEW_PV" NUMBER(17,6) DEFAULT 0 NOT NULL ENABLE
        )
    
    
        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 10 not null,
            pk_share_awards        number(4) default 10 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),
            new_consume_pv         number(17,6) 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_amount     number(17,6) default 0 not null,
            consume_amount         number(17,6) default 0 not null,
            month_consume_amount   number(17,6) default 0 not null,
            team_new_pv            number(17,6) default 0 not null,
            team_consume_pv        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_consume_amount    number(17,6) default 0 not null,
            team_month_amount      number(17,6) default 0 not null,
            recommend_num          number(8) default 0 not null,
            team_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,
            reg_consume_new_amount number(17,6) default 0 not null,
            reg_consume_new_pv     number(17,6) default 0 not null,
            reg_team_new_amount    number(17,6) default 0 not null,
            reg_team_new_pv        number(17,6) default 0 not null,
            rep_consume_new_amount number(17,6) default 0 not null,
            rep_consume_new_pv     number(17,6) default 0 not null,
            rep_team_new_amount    number(17,6) default 0 not null,
            rep_team_new_pv        number(17,6) default 0 not null,
            point_count            number(8) default 0 not null,
            rep_pv_balance         number(17,6) default 0 not null
        )
    
    
        truncate table ${tableName}