insert ALL into cu_member_awards ( pk_member, period, up_type, old_level, new_level, purchase_status, award_type, pk_creator, pk_country, system_type ) values ( #{item.pkMember}, #{item.period}, #{item.upType}, #{item.oldLevel}, #{item.newLevel}, #{item.purchaseStatus}, #{item.awardType}, #{item.pkCreator}, #{item.pkCountry}, #{item.systemType} ) SELECT 1 FROM dual update cu_member_awards set del_flag = 1, modified_time = sysdate, PK_MODIFIED = 1 where period= #{period} and pk_member in #{item.pkMember} merge into cu_member_settle_awards a using ( select ca.pk_member, ca.period, ce.assess_target, ce.assess_status from cu_member_settle_awards ca inner join ${assessTableName} ce on ca.pk_member = ce.pk_member where ca.period = #{awardPeriod} and ce.period = #{assessPeriod} ) b on (a.pk_member = b.pk_member and a.period = b.period) when matched then update set a.assess_target = b.assess_target,a.assess_status = b.assess_status merge into ${rangeTableName} a using ( select cw.* from cu_member_awards cw inner join ( select ca.pk_member, min(ca.pk_id) pk_id from cu_member_awards ca inner join bd_awards bw on ca.new_level = bw.pk_id and bw.del_flag = 0 and bw.awards_value >= 5 where ca.del_flag = 0 and ca.up_type = 1 and ca.period = #{period} and ca.award_type = #{awardType} and ca.pk_member in (select pk_id from cu_member start with pk_id = #{pkMember} connect by prior pk_parent = pk_id) group by ca.pk_member ) cx on cw.pk_id = cx.pk_id where cw.del_flag = 0 ) b on (a.pk_member = b.pk_member) when matched then update set a.pk_awards = b.old_level a.pk_share_awards = b.old_level update cu_member_awards cma set cma.del_flag = 1, cma.modified_time = sysdate where period = #{period} and up_type = 1 update cu_member_awards cma set cma.del_flag = 1, cma.modified_time = sysdate where period = #{period} and del_flag = 0 and up_type = 1 and pk_id in #{item.pkId}