merge into cu_member 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_id = b.pk_member)
        when matched then
        update set
        
            a.pk_awards = b.pk_awards,
        
        
            a.pk_range_awards = b.pk_awards,
        
        a.modified_time = sysdate
    
    
        merge into cu_member a
            using (select c1.*
                   from (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) c1
                            inner join cu_member c2
                                       on c1.pk_member = c2.pk_id
                                           and c1.pk_awards > c2.pk_max_awards) b
            on (a.pk_id = b.pk_member)
            when matched then
                update set a.pk_max_awards = b.pk_awards, a.modified_time = sysdate
    
    
        merge into cu_member a
        using (select pk_member, max(old_level) pk_awards
        from cu_member_awards ca
        inner join cu_member cm
        on ca.pk_member = cm.pk_id
        where ca.period = #{period}
        and ca.up_type = 1
        and award_type = #{awardType}
        and ca.del_flag = 0
        
            and cm.pk_awards < ca.new_level
        
        
            and cm.pk_range_awards < ca.new_level
        
        group by ca.pk_member) b
        on (a.pk_id = b.pk_member)
        when matched then
        update set
        
            a.pk_awards = b.pk_awards,
        
        
            a.pk_range_awards = b.pk_awards,
        
        a.modified_time = sysdate
    
    
        merge into cu_member a
        using (
        select y.pk_member, y.pk_awards
        from cu_member 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_id = y.pk_member
        where
        
            x.pk_awards < y.pk_awards
        
        
            x.pk_range_awards < y.pk_awards
        
        ) b
        on (a.pk_id = b.pk_member)
        when matched then
        update set
        
            a.pk_awards = b.pk_awards,
        
        
            a.pk_range_awards = b.pk_awards,
        
        a.modified_time = sysdate
    
    
    
        update cu_member
        set pk_awards = (select pk_id from bd_awards where awards_value = 0),
            pk_range_awards = (select pk_id from bd_awards where awards_value = 0)
    
    
    
        update cu_member
        set pk_awards       = (select pk_id from bd_awards where awards_value = 5),
            pk_range_awards = (select pk_id from bd_awards where awards_value = 5)
        where pk_settle_grade = (
            select pk_id
            from bd_grade
            where grade_value = 70
              and del_flag = 0
        )
    
    
        merge into cu_member a
        using (
        select pk_member, max(pk_awards) pk_awards from (
        
            select
            #{item.pkMember} pk_member,
            #{item.newLevel} pk_awards,
            #{item.awardType} award_type
            from dual
        
        )
        where award_type = #{awardType}
        group by pk_member
        ) b
        on (a.pk_id = b.pk_member)
        when matched then
        update set
        
            a.pk_awards = b.pk_awards,
        
        
            a.pk_range_awards = b.pk_awards,
        
        a.modified_time = sysdate