insert into CU_MEMBER_EMPTY_DETAIL (PK_ID,
        PK_MEMBER_EMPTY, MEMBER_CODE, MEMBER_NAME, PHONE,
        PARENT_CODE,
        PK_COUNTRY, PK_SETTLE_COUNTRY, POINT_STATUS, CONTENT_ABSTRACT,
        PK_CREATOR)
        select tmp.*
        from (
        
            select #{item.pkId} PK_ID,
            #{item.pkMemberEmpty} PK_MEMBER_EMPTY,
            #{item.memberCode} MEMBER_CODE,
            #{item.memberName} MEMBER_NAME,
            #{item.phone} PHONE,
            #{item.parentCode} PARENT_CODE,
            #{item.pkCountry} PK_COUNTRY,
            #{item.pkSettleCountry} PK_SETTLE_COUNTRY,
            #{item.pointStatus} POINT_STATUS,
            #{item.contentAbstract} CONTENT_ABSTRACT,
            #{userId} PK_CREATOR
            from dual
        
        ) tmp
    
    
    
        merge into CU_MEMBER_EMPTY_DETAIL cmed
        using (
        
            select
            #{item.pkId} pk_id,
            #{item.pkMemberEmpty} pk_member_empty,
            #{item.memberCode} member_code,
            #{item.memberName} member_name,
            #{item.phone} phone,
            #{item.parentCode} parent_code,
            #{item.pkRegisterGrade} pk_register_grade,
            #{item.registerAchieve} register_achieve,
            #{item.orderSource} order_source,
            #{item.pkCountry} pk_country,
            #{item.pkSettleCountry} pk_settle_country,
            #{item.pkAwards} pk_awards,
            #{item.backAmount} back_amount,
            #{item.pointStatus} point_status,
            #{item.settlementFlag} settlement_flag,
            #{item.settlementAchieve, jdbcType=NUMERIC} settlement_achieve,
            #{item.transferAchieve, jdbcType=NUMERIC} transfer_achieve,
            #{item.recName, jdbcType=VARCHAR} rec_name,
            #{item.recPhone, jdbcType=VARCHAR} rec_phone,
            #{item.recProvince, jdbcType=NUMERIC} rec_province,
            #{item.recCity, jdbcType=NUMERIC} rec_city,
            #{item.recCounty, jdbcType=NUMERIC} rec_county,
            #{item.recAddress, jdbcType=VARCHAR} rec_address,
            #{item.contentAbstract, jdbcType=VARCHAR} content_abstract,
            #{item.productFlag} product_flag,
            #{item.orderType} order_type,
            #{item.autoFlag} auto_flag
            from dual
        
        ) tmp
        on (cmed.del_flag = 0 and tmp.pk_id = cmed.pk_id)
        WHEN MATCHED THEN
        update set
        cmed.member_code = tmp.member_code,
        cmed.member_name = tmp.member_name,
        cmed.phone = tmp.phone,
        cmed.parent_code = tmp.parent_code,
        cmed.pk_register_grade = tmp.pk_register_grade,
        cmed.register_achieve = tmp.register_achieve,
        cmed.order_source = tmp.order_source,
        cmed.pk_country = tmp.pk_country,
        cmed.pk_settle_country = tmp.pk_settle_country,
        cmed.pk_awards = tmp.pk_awards,
        cmed.back_amount = tmp.back_amount,
        cmed.point_status = tmp.point_status,
        cmed.settlement_flag = tmp.settlement_flag,
        cmed.settlement_achieve = nvl(tmp.settlement_achieve, 0),
        cmed.transfer_achieve = nvl(tmp.transfer_achieve, 0),
        cmed.rec_name = tmp.rec_name,
        cmed.rec_phone = tmp.rec_phone,
        cmed.rec_province = tmp.rec_province,
        cmed.rec_city = tmp.rec_city,
        cmed.rec_county = tmp.rec_county,
        cmed.rec_address = tmp.rec_address,
        cmed.content_abstract = tmp.content_abstract,
        cmed.product_flag = tmp.product_flag,
        cmed.order_type = tmp.order_type,
        cmed.pk_modified = #{userId},
        cmed.auto_flag = tmp.auto_flag,
        cmed.modified_time = sysdate
    
    
    
        merge into CU_MEMBER_EMPTY_DETAIL cmed
        using (
        
            select
            #{item.pkId} pk_id,
            #{item.pointStatus} point_status,
            #{item.contentAbstract} content_abstract
            from dual
        
        ) tmp
        on (tmp.pk_id = cmed.pk_id)
        WHEN MATCHED THEN
        update set
        cmed.point_status = tmp.point_status,
        cmed.content_abstract = tmp.content_abstract,
        cmed.PK_MODIFIED = #{userId},
        cmed.MODIFIED_TIME = sysdate