select m.member_code            memberCode,
               m.member_name            memberName,
               r.pk_account,
               d.payment_method         paymentMethod,
               d.payment_before_balance paymentBeforeBalance,
               d.payment_amount         paymentAmount,
               d.payment_balance        paymentBalance,
               r.pk_rate,
               d.recharge_code,
               r.batch,
               u.user_name              creator,
               a.user_name              approverName,
               r.creation_time,
               r.remarks,
               r.approver,
               r.approve_time,
               r.approve_remarks,
               r.approve_state,
               bv.vertex_name
        from cu_member_recharge_detail d,
             cu_member_recharge r
                 left join cu_member m
                           on r.pk_member = m.pk_id
                 left join bd_vertex bv
                           on bv.pk_id = m.pk_vertex
                 left join sys_user u
                           on u.user_id = r.pk_creator
                 left join sys_user a
                           on a.user_id = r.approver
    
    
        
            r.recharge_code = d.recharge_code
            and r.del_flag = 0
            and r.recharge_source = 0
            
                and m.member_name like '%' || #{memberName} || '%'
            
            
                and m.member_code like '%'|| #{memberCode} || '%'
            
            
                and m.pk_vertex = #{pkVertex}
            
            
                and d.PAYMENT_BALANCE = #{paymentBalance}
            
            
                and d.PAYMENT_METHOD = #{paymentMethod}
            
            
                and r.APPROVE_STATE = #{approveState}
            
            
                and r.APPROVER like '%' || #{approver} || '%'
            
            
                and r.APPROVE_REMARKS like '%' || #{approveRemarks} || '%'
            
            
                and r.pk_creator = #{creator}
            
            
                and r.REMARKS like '%' || #{remarks} || '%'
            
            
                and r.PK_ACCOUNT = #{pkAccount}
            
            
                and r.PK_COUNTRY = #{pkCountry}
            
            
                and r.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
            
            
                and r.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
            
            
                and r.APPROVE_TIME >= to_date(#{startApproveTime}, 'yyyy-mm-dd')
            
            
                and r.APPROVE_TIME <= to_date(#{endApproveTime} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
            
        
    
    
    
    
        insert into CU_MEMBER_RECHARGE (PK_ID, PK_MEMBER, RECHARGE_AMOUNT, PK_ACCOUNT, RECHARGE_TYPE,
        RECHARGE_CODE, APPROVE_STATE, REMARKS, MEMBER_REMARKS,PK_COUNTRY, CREATION_TIME, PK_RATE,PK_CREATOR,BATCH,RECHARGE_METHOD)
        SELECT CU_MEMBER_RECHARGE_SEQ.Nextval, r.* FROM
        (
        
            SELECT
            #{item.pkMember} PK_MEMBER,
            #{item.rechargeAmount} RECHARGE_AMOUNT,
            #{item.pkAccount} PK_ACCOUNT,
            #{item.rechargeType} RECHARGE_TYPE,
            #{item.rechargeCode} RECHARGE_CODE,
            #{item.approveState} APPROVE_STATE
            
                
                    ,#{item.remarks} REMARKS
                
                
                    ,null REMARKS
                
            
            
                
                    ,#{item.memberRemarks} MEMBER_REMARKS
                
                
                    ,null MEMBER_REMARKS
                
            
            ,#{item.pkCountry} PK_COUNTRY,#{item.creationTime} CREATION_TIME,#{item.pkRate} PK_RATE,#{item.pkCreator} PK_CREATOR,#{item.batch}
            BATCH,#{item.rechargeMethod} RECHARGE_METHOD
            FROM dual
        
        ) r
    
    
        update cu_member_recharge
        
            approve_state = #{approveState},
            approver = #{approver},
            approve_time = #{approveTime},
            pk_modified = #{pkModified},
            pk_role = #{pkRole},
            role_name = #{roleName},
            modified_time = sysdate
        
        where BATCH = #{rechargeCode}