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 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, 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 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 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 ${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 ) 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 10 not null, pk_share_awards number(4) default 10 not null, enable_status number(2) default 1 not null, system_type NUMBER(2) default 2 not null, new_box_num number(10,2) default 0 not null, new_consume_pv number(17,6) default 0 not null, team_new_box_num number(10,2) default 0 not null, team_new_pv number(17,6) default 0 not null, team_new_amount number(17,6) default 0 not null, all_new_box_num number(10,2) default 0 not null, all_new_consume_pv number(17,6) default 0 not null, all_team_new_box_num number(10,2) default 0 not null, all_team_new_pv number(17,6) default 0 not null, ) 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_box_num number(10,2) default 0 not null, consume_box_num number(10,2) default 0 not null, month_box_num number(10,2) default 0 not null, 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, team_new_box_num number(10,2) default 0 not null, team_box_num number(10,2) default 0 not null, team_month_box_num number(10,2) 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, region_address number(8) default 0 not null, big_box_num number(10,2) default 0 not null, small_box_num number(10,2) default 0 not null, big_team_pv number(17,6) default 0 not null, small_team_pv number(17,6) default 0 not null, all_consume_box_num number(10,2) default 0 not null, all_consume_pv number(17,6) default 0 not null, all_team_box_num number(10,2) default 0 not null, all_team_consume_pv number(17,6) default 0 not null ) truncate table ${tableName}