update ${rangeTableName} set pk_grade = (select pk_id from bd_grade where del_flag = 0 and grade_value = 30), new_consume_pv = 0, consume_pv = 0, month_consume_pv = 0, new_consume_amount = 0, consume_amount = 0, month_consume_amount = 0, team_new_pv = 0, team_consume_pv = 0, team_month_pv = 0, team_new_amount = 0, team_consume_amount = 0, team_month_amount = 0, recommend_num = 0, team_num = 0, big_team_pv = 0, small_team_pv = 0, reg_consume_new_amount = 0, reg_consume_new_pv = 0, reg_team_new_amount = 0, reg_team_new_pv = 0, rep_consume_new_amount = 0, rep_consume_new_pv = 0, rep_team_new_amount = 0, rep_team_new_pv = 0, point_count = 0, wait_point_count = 0, rep_pv_balance = 0, gift_point = 0, gift_pay_time = null merge into ${rangeTableName} a using( select pk_member, pk_grade, pk_awards, pk_share_awards, consume_pv, month_consume_pv, consume_amount, month_consume_amount, team_consume_pv, team_month_pv, team_consume_amount, team_month_amount, recommend_num, team_num, big_team_pv, small_team_pv, point_count, wait_point_count, rep_pv_balance, gift_point, gift_pay_time from ${yesterdayRangeTableName} ) b on (a.pk_member = b.pk_member) when matched then update set a.pk_grade = b.pk_grade, a.consume_pv = b.consume_pv, a.consume_amount = b.consume_amount, a.team_consume_pv = b.team_consume_pv, a.team_consume_amount = b.team_consume_amount, a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv, a.point_count = b.point_count, a.wait_point_count = b.wait_point_count, a.rep_pv_balance = b.rep_pv_balance, a.gift_point = b.gift_point, a.gift_pay_time = b.gift_pay_time ,a.month_consume_pv = b.month_consume_pv ,a.month_consume_amount = b.month_consume_amount ,a.team_month_pv = b.team_month_pv ,a.team_month_amount = b.team_month_amount merge into ${detailTableName} a using ( select x.pk_member, x.child_node, cm.pk_parent, x.stage, x.stage_status, x.stage_date, x.point_11, x.point_12, x.point_21, x.point_22, x.point_23, x.point_24, x.point_31, x.point_32, x.point_33, x.point_34, x.point_35, x.point_36, x.point_37, x.point_38, x.point_member_11, x.point_member_12, x.point_member_21, x.point_member_22, x.point_member_23, x.point_member_24, x.point_member_31, x.point_member_32, x.point_member_33, x.point_member_34, x.point_member_35, x.point_member_36, x.point_member_37, x.point_member_38, x.point_type, x.point_gift, x.creation_time, x.point_first, x.point_member_first, x.point_second, x.point_member_second, x.point_third, x.point_member_third, x.third_bonus_1, x.third_bonus_2, x.third_bonus_3 from ${yesterdayDetailTableName} x left join cu_member cm on cm.pk_id = x.pk_member ) b on (a.pk_member = b.pk_member and a.child_node = b.child_node and a.stage = b.stage) when not matched then insert (pk_member, child_node, pk_parent, stage, stage_status, stage_date, point_11, point_12, point_21, point_22, point_23, point_24, point_31, point_32, point_33, point_34, point_35, point_36, point_37, point_38, point_member_11, point_member_12, point_member_21, point_member_22, point_member_23, point_member_24, point_member_31, point_member_32, point_member_33, point_member_34, point_member_35, point_member_36, point_member_37, point_member_38, point_type, point_gift, creation_time, point_first, point_member_first, point_second, point_member_second, point_third, point_member_third, third_bonus_1, third_bonus_2, third_bonus_3) values (b.pk_member, b.child_node, b.pk_parent, b.stage, b.stage_status, b.stage_date, b.point_11, b.point_12, b.point_21, b.point_22, b.point_23, b.point_24, b.point_31, b.point_32, b.point_33, b.point_34, b.point_35, b.point_36, b.point_37, b.point_38, b.point_member_11, b.point_member_12, b.point_member_21, b.point_member_22, b.point_member_23, b.point_member_24, b.point_member_31, b.point_member_32, b.point_member_33, b.point_member_34, b.point_member_35, b.point_member_36, b.point_member_37, b.point_member_38, b.point_type, b.point_gift, b.creation_time, b.point_first, b.point_member_first, b.point_second, b.point_member_second, b.point_third, b.point_member_third, b.third_bonus_1, b.third_bonus_2, b.third_bonus_3) when matched then update set a.pk_parent = b.pk_parent, a.stage_status = b.stage_status, a.stage_date = b.stage_date, a.point_11 = b.point_11, a.point_12 = b.point_12, a.point_21 = b.point_21, a.point_22 = b.point_22, a.point_23 = b.point_23, a.point_24 = b.point_24, a.point_31 = b.point_31, a.point_32 = b.point_32, a.point_33 = b.point_33, a.point_34 = b.point_34, a.point_35 = b.point_35, a.point_36 = b.point_36, a.point_37 = b.point_37, a.point_38 = b.point_38, a.point_member_11 = b.point_member_11, a.point_member_12 = b.point_member_12, a.point_member_21 = b.point_member_21, a.point_member_22 = b.point_member_22, a.point_member_23 = b.point_member_23, a.point_member_24 = b.point_member_24, a.point_member_31 = b.point_member_31, a.point_member_32 = b.point_member_32, a.point_member_33 = b.point_member_33, a.point_member_34 = b.point_member_34, a.point_member_35 = b.point_member_35, a.point_member_36 = b.point_member_36, a.point_member_37 = b.point_member_37, a.point_member_38 = b.point_member_38, a.point_type = b.point_type, a.point_gift = b.point_gift, a.creation_time = b.creation_time, a.point_first = b.point_first, a.point_member_first = b.point_member_first, a.point_second = b.point_second, a.point_member_second = b.point_member_second, a.point_third = b.point_third, a.point_member_third = b.point_member_third, a.third_bonus_1 = b.third_bonus_1, a.third_bonus_2 = b.third_bonus_2, a.third_bonus_3 = b.third_bonus_3 merge into ${rangeTableName} a using ( select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards, #{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv, #{item.newConsumeAmount} new_consume_amount, #{item.consumeAmount} consume_amount, #{item.monthConsumeAmount} month_consume_amount, #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, #{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount, #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.regConsumeNewAmount} reg_consume_new_amount, #{item.regConsumeNewPv} reg_consume_new_pv, #{item.regTeamNewAmount} reg_team_new_amount, #{item.regTeamNewPv} reg_team_new_pv, #{item.repConsumeNewAmount} rep_consume_new_amount, #{item.repConsumeNewPv} rep_consume_new_pv, #{item.repTeamNewAmount} rep_team_new_amount, #{item.repTeamNewPv} rep_team_new_pv, #{item.pointCount} point_count, #{item.waitPointCount} wait_point_count, #{item.repPvBalance} rep_pv_balance, #{item.giftPoint} gift_point, #{item.giftPayTime, jdbcType=TIMESTAMP} gift_pay_time from dual ) 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_share_awards, a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, a.new_consume_amount = b.new_consume_amount, a.consume_amount = b.consume_amount, a.month_consume_amount = b.month_consume_amount, a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount, a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.reg_consume_new_amount = b.reg_consume_new_amount, a.reg_consume_new_pv = b.reg_consume_new_pv, a.reg_team_new_amount = b.reg_team_new_amount, a.reg_team_new_pv = b.reg_team_new_pv, a.rep_consume_new_amount = b.rep_consume_new_amount, a.rep_consume_new_pv = b.rep_consume_new_pv, a.rep_team_new_amount = b.rep_team_new_amount, a.rep_team_new_pv = b.rep_team_new_pv, a.point_count = b.point_count, a.wait_point_count = b.wait_point_count, a.rep_pv_balance = b.rep_pv_balance, a.gift_point = b.gift_point, a.gift_pay_time = b.gift_pay_time merge into ${rangeDetailTableName} a using ( select #{item.pkMember} pk_member, #{item.childNode} child_node, #{item.pkParent} pk_parent, #{item.stage} stage, #{item.stageStatus} stage_status, #{item.stageDate, jdbcType=TIMESTAMP} stage_date, #{item.point11, jdbcType=NUMERIC} point_11, #{item.point12, jdbcType=NUMERIC} point_12, #{item.point21, jdbcType=NUMERIC} point_21, #{item.point22, jdbcType=NUMERIC} point_22, #{item.point23, jdbcType=NUMERIC} point_23, #{item.point24, jdbcType=NUMERIC} point_24, #{item.point31, jdbcType=NUMERIC} point_31, #{item.point32, jdbcType=NUMERIC} point_32, #{item.point33, jdbcType=NUMERIC} point_33, #{item.point34, jdbcType=NUMERIC} point_34, #{item.point35, jdbcType=NUMERIC} point_35, #{item.point36, jdbcType=NUMERIC} point_36, #{item.point37, jdbcType=NUMERIC} point_37, #{item.point38, jdbcType=NUMERIC} point_38, #{item.pointMember11, jdbcType=NUMERIC} point_member_11, #{item.pointMember12, jdbcType=NUMERIC} point_member_12, #{item.pointMember21, jdbcType=NUMERIC} point_member_21, #{item.pointMember22, jdbcType=NUMERIC} point_member_22, #{item.pointMember23, jdbcType=NUMERIC} point_member_23, #{item.pointMember24, jdbcType=NUMERIC} point_member_24, #{item.pointMember31, jdbcType=NUMERIC} point_member_31, #{item.pointMember32, jdbcType=NUMERIC} point_member_32, #{item.pointMember33, jdbcType=NUMERIC} point_member_33, #{item.pointMember34, jdbcType=NUMERIC} point_member_34, #{item.pointMember35, jdbcType=NUMERIC} point_member_35, #{item.pointMember36, jdbcType=NUMERIC} point_member_36, #{item.pointMember37, jdbcType=NUMERIC} point_member_37, #{item.pointMember38, jdbcType=NUMERIC} point_member_38, #{item.pointType} point_type, #{item.pointGift} point_gift, #{item.creationTime, jdbcType=TIMESTAMP} creation_time, #{item.pointFirst, jdbcType=NUMERIC} point_first, #{item.pointMemberFirst, jdbcType=NUMERIC} point_member_first, #{item.pointSecond, jdbcType=NUMERIC} point_second, #{item.pointMemberSecond, jdbcType=NUMERIC} point_member_second, #{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third, #{item.thirdBonus1, jdbcType=NUMERIC} third_bonus_1, #{item.thirdBonus2, jdbcType=NUMERIC} third_bonus_2, #{item.thirdBonus3, jdbcType=NUMERIC} third_bonus_3 from dual ) b on (a.pk_member = b.pk_member and a.child_node = b.child_node and a.stage = b.stage) when not matched then insert (pk_member, child_node, pk_parent, stage, stage_status, stage_date, point_11, point_12, point_21, point_22, point_23, point_24, point_31, point_32, point_33, point_34, point_35, point_36, point_37, point_38, point_member_11, point_member_12, point_member_21, point_member_22, point_member_23, point_member_24, point_member_31, point_member_32, point_member_33, point_member_34, point_member_35, point_member_36, point_member_37, point_member_38, point_type, point_gift, creation_time, point_first, point_member_first, point_second, point_member_second, point_third, point_member_third, third_bonus_1, third_bonus_2, third_bonus_3) values (b.pk_member, b.child_node, b.pk_parent, b.stage, b.stage_status, b.stage_date, b.point_11, b.point_12, b.point_21, b.point_22, b.point_23, b.point_24, b.point_31, b.point_32, b.point_33, b.point_34, b.point_35, b.point_36, b.point_37, b.point_38, b.point_member_11, b.point_member_12, b.point_member_21, b.point_member_22, b.point_member_23, b.point_member_24, b.point_member_31, b.point_member_32, b.point_member_33, b.point_member_34, b.point_member_35, b.point_member_36, b.point_member_37, b.point_member_38, b.point_type, b.point_gift, b.creation_time, b.point_first, b.point_member_first, b.point_second, b.point_member_second, b.point_third, b.point_member_third, b.third_bonus_1, b.third_bonus_2, b.third_bonus_3) when matched then update set a.stage_status = b.stage_status, a.stage_date = b.stage_date, a.point_11 = b.point_11, a.point_12 = b.point_12, a.point_21 = b.point_21, a.point_22 = b.point_22, a.point_23 = b.point_23, a.point_24 = b.point_24, a.point_31 = b.point_31, a.point_32 = b.point_32, a.point_33 = b.point_33, a.point_34 = b.point_34, a.point_35 = b.point_35, a.point_36 = b.point_36, a.point_37 = b.point_37, a.point_38 = b.point_38, a.point_member_11 = b.point_member_11, a.point_member_12 = b.point_member_12, a.point_member_21 = b.point_member_21, a.point_member_22 = b.point_member_22, a.point_member_23 = b.point_member_23, a.point_member_24 = b.point_member_24, a.point_member_31 = b.point_member_31, a.point_member_32 = b.point_member_32, a.point_member_33 = b.point_member_33, a.point_member_34 = b.point_member_34, a.point_member_35 = b.point_member_35, a.point_member_36 = b.point_member_36, a.point_member_37 = b.point_member_37, a.point_member_38 = b.point_member_38, a.point_type = b.point_type, a.point_gift = b.point_gift, a.creation_time = b.creation_time, a.point_first = b.point_first, a.point_member_first = b.point_member_first, a.point_second = b.point_second, a.point_member_second = b.point_member_second, a.point_third = b.point_third, a.point_member_third = b.point_member_third, a.third_bonus_1 = b.third_bonus_1, a.third_bonus_2 = b.third_bonus_2, a.third_bonus_3 = b.third_bonus_3 merge into ${secondRangeTableName} a using ( select a.pk_id pk_member, a.pk_parent, a.pk_settle_grade pk_grade, a.pk_awards, a.pk_range_awards, a.system_type from (select * from cu_member where del_flag = 0 start with pk_id = #{pkMember} connect by pk_id = prior pk_parent ) a ) b on (a.pk_member = b.pk_member) when not matched then insert (pk_member, pk_parent, pk_grade, pk_awards, pk_share_awards, system_type) values (b.pk_member, b.pk_parent, b.pk_grade, b.pk_awards, b.pk_range_awards, b.system_type) merge into ${secondRangeTableName} a using ( select a.pk_id pk_member, a.pk_parent, a.pk_settle_grade pk_grade, a.pk_awards, a.pk_range_awards from (select * from cu_member where del_flag = 0 start with pk_id = #{pkMember} connect by pk_id = prior pk_parent ) a left join ${rangeTableName} b on a.pk_id = b.pk_member ) b on (a.pk_member = b.pk_member) when matched then update set a.pk_grade = b.pk_grade merge into ${secondTableName} a using ( select #{item.pkMember} pk_member, #{item.pkGrade} pk_grade, #{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards, #{item.newConsumePv} new_consume_pv, #{item.teamNewPv} team_new_pv, #{item.teamNewAmount} team_new_amount from dual ) b on (a.pk_member = b.pk_member) when matched then update set a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards, a.new_consume_pv = b.new_consume_pv, a.team_new_pv = b.team_new_pv, a.team_new_amount = b.team_new_amount merge into ${rangeTableName} a using ( select pk_id pk_member, pk_parent, pk_settle_grade, pk_awards, pk_range_awards from cu_member start with pk_id = #{pkMember} connect by prior pk_parent = pk_id ) b on (a.pk_member = b.pk_member) when matched then update set a.pk_grade = b.pk_settle_grade, a.pk_awards = b.pk_awards , a.pk_share_awards = b.pk_range_awards UPDATE ${tableName} SET PK_GRADE = ${cuMember.pkSettleGrade}, PK_AWARDS = ${cuMember.pkAwards}, REG_CONSUME_NEW_AMOUNT = REG_CONSUME_NEW_AMOUNT ${symbol} #{orderExt.orderAmount}, REG_CONSUME_NEW_PV = REG_CONSUME_NEW_PV ${symbol} #{orderExt.orderAchieve}, REP_CONSUME_NEW_AMOUNT = REP_CONSUME_NEW_AMOUNT ${symbol} #{orderExt.orderAmount}, REP_CONSUME_NEW_PV = REP_CONSUME_NEW_PV ${symbol} #{orderExt.orderAchieve}, ALL_CONSUME_NEW_AMOUNT = ALL_CONSUME_NEW_AMOUNT ${symbol} #{orderExt.orderAmount}, ALL_CONSUME_NEW_PV = ALL_CONSUME_NEW_PV ${symbol} #{orderExt.orderAchieve} WHERE PK_MEMBER = #{cuMember.pkId} UPDATE ${tableName} SET REG_TEAM_NEW_AMOUNT = REG_TEAM_NEW_AMOUNT ${symbol} #{orderExt.orderAmount}, REG_TEAM_NEW_PV = REG_TEAM_NEW_PV ${symbol} #{orderExt.orderAchieve}, REP_TEAM_NEW_AMOUNT = REP_TEAM_NEW_AMOUNT ${symbol} #{orderExt.orderAmount}, REP_TEAM_NEW_PV = REP_TEAM_NEW_PV ${symbol} #{orderExt.orderAchieve}, ALL_TEAM_NEW_AMOUNT = ALL_TEAM_NEW_AMOUNT ${symbol} #{orderExt.orderAmount}, ALL_TEAM_NEW_PV = ALL_TEAM_NEW_PV ${symbol} #{orderExt.orderAchieve} WHERE PK_MEMBER in #{member.pkId} INSERT INTO ${tableName} ("PK_MEMBER", "PK_PARENT", "PK_GRADE", "PK_AWARDS", "ALL_CONSUME_NEW_AMOUNT", "ALL_CONSUME_NEW_PV", "ALL_TEAM_NEW_AMOUNT", "ALL_TEAM_NEW_PV", "REG_CONSUME_NEW_AMOUNT", "REG_CONSUME_NEW_PV", "REG_TEAM_NEW_AMOUNT", "REG_TEAM_NEW_PV", "REP_CONSUME_NEW_AMOUNT", "REP_CONSUME_NEW_PV", "REP_TEAM_NEW_AMOUNT", "REP_TEAM_NEW_PV") SELECT #{member.pkId}, #{member.pkParent}, #{member.pkSettleGrade}, #{member.pkAwards}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 FROM DUAL WHERE NOT EXISTS( SELECT 1 FROM ${tableName} WHERE "PK_MEMBER" = #{member.pkId} ) merge into ${rangeTableName} a using ( select pk_member, sum(consume_pv) consume_pv, sum(consume_amount) consume_amount, sum(team_consume_pv) team_consume_pv, sum(team_consume_amount) team_consume_amount from ( SELECT cmr.pk_member, DECODE(cmr.pk_member, #{item.pkMember}, #{item.newPv}, 0) AS consume_pv, DECODE(cmr.pk_member, #{item.pkMember}, #{item.newAmount}, 0) AS consume_amount, DECODE(cmr.pk_member, #{item.pkMember}, 0, #{item.newPv}) AS team_consume_pv, DECODE(cmr.pk_member, #{item.pkMember}, 0, #{item.newAmount}) AS team_consume_amount FROM ${rangeTableName} cmr START WITH cmr.pk_member = #{item.pkMember} CONNECT BY cmr.pk_member = PRIOR cmr.pk_parent ) tmp group by pk_member ) b on (a.pk_member = b.pk_member) when matched then update set a.consume_pv = a.consume_pv + b.consume_pv, a.consume_amount = a.consume_amount + b.consume_amount, a.team_consume_pv = a.team_consume_pv + b.team_consume_pv, a.team_consume_amount = a.team_consume_amount + b.team_consume_amount merge into ${rangeTableName} a using ( select pk_member, max(new_level) pk_awards from cu_member_awards where period = #{period} and award_type = #{awardType} 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