-- ============================================================
-- iBilik Capital Database v2.5.1
-- Accounting Runtime Mapping Hotfix
-- Baseline: Database v2.5
-- Purpose: add missing Investor Contractual Return PAYMENT mapping
-- ============================================================

SET NAMES utf8mb4;

INSERT INTO accounting_event_mappings
(
    mapping_code,
    source_module,
    source_type,
    event_type,
    debit_gl_account_id,
    credit_gl_account_id,
    debit_account_role,
    credit_account_role,
    amount_source,
    currency_mode,
    description_zh,
    description_en,
    active_flag,
    created_at,
    updated_at
)
SELECT
    'MAP_INVESTOR_RETURN_PAYMENT',
    'INVESTOR',
    'INVESTOR_RETURN_PAYMENT',
    'RETURN_PAYMENT',
    (SELECT id FROM gl_accounts WHERE account_code='2120' LIMIT 1),
    NULL,
    NULL,
    'BANK_ACCOUNT',
    'TOTAL',
    '支付投資者原合約收益：借投資者原合約收益應付，貸銀行',
    'Investor contractual return payment: debit contractual return payable, credit bank',
    1,
    NOW(6),
    NOW(6)
FROM DUAL
WHERE NOT EXISTS (
    SELECT 1
    FROM accounting_event_mappings
    WHERE source_type='INVESTOR_RETURN_PAYMENT'
      AND event_type='RETURN_PAYMENT'
);

SELECT mapping_code,source_type,event_type,amount_source
FROM accounting_event_mappings
WHERE source_type='INVESTOR_RETURN_PAYMENT'
  AND event_type='RETURN_PAYMENT';

SELECT 'iBilik Capital Database v2.5.1 Accounting Runtime Mapping Hotfix completed.' AS migration_status;
