| value="SELECT '${endDate}' AS TransactionDate, a.product AS Product, case when a.transaction_type = 9999 then 'Asset Transfer' when a.transaction_type = 99999 then 'Asset Buyback' else(SELECT enum_message_property FROM r_enum_value WHERE enum_name = 'transaction_type_enum' and enum_id = a.transaction_type) end as TransactionType_Name, (select value from m_payment_type where id = a.payment_type_id) as PaymentType_Name, a.chargetype as chargetype, a.reversal_indicator AS Reversed, a.Allocation_Type AS Allocation_Type, '' AS Chargeoff_ReasonCode, case when a.transaction_type = 9999 then sum(a.amount) * + 1 when a.transaction_type = 99999 then sum(a.amount) * - 1 when a.transaction_type IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26) AND a.reversal_indicator = false then sum(a.amount) * -1 when a.transaction_type IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26)AND a.reversal_indicator = true then sum(a.amount) * + 1 when a.transaction_type IN (1, 10, 25, 20) AND a.reversal_indicator = false then sum(a.amount) * + 1 when a.transaction_type IN (1, 10, 25, 20) AND a.reversal_indicator = true then sum(a.amount) * -1 end AS Transaction_Amount, (select external_id from m_external_asset_owner where id =a.asset_owner_id) AS Asset_owner_id FROM (SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, 'Principal' AS Allocation_Type, CASE when t.transaction_type_enum in (1) then (case when t.amount is null then 0 else t.amount end) else (case when t.principal_portion_derived is null then 0 else t.principal_portion_derived end) end amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, ' Interest' AS Allocation_Type, case when t.interest_portion_derived is null then 0 else t.interest_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, ' Fees' AS Allocation_Type, case when t.fee_charges_portion_derived is null then 0 else t.fee_charges_portion_derived end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, ' Penalty' AS Allocation_Type, case when t.penalty_charges_portion_derived is null then 0 else t.penalty_charges_portion_derived end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, ' Unallocated Credit (UNC)' AS Allocation_Type, case when t.overpayment_portion_derived is null then 0 else t.overpayment_portion_derived end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, null, mc.name, false AS reversal_indicator, ' Fees' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = false left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 10 and t.is_reversed = false and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, null, mc.name, false AS reversal_indicator, ' Penalty' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = true left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 10 and t.is_reversed = false and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, null, '' as chargetype, false AS reversal_indicator, ' Interest' AS Allocation_Type, case when t.interest_portion_derived is null then 0 else t.interest_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 10 and t.is_reversed = false and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, mc.name, false AS reversal_indicator, ' Fees' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = false left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, mc.name, false AS reversal_indicator, ' Penalty' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = true left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, ' Interest' AS Allocation_Type, case when t.interest_portion_derived is null then 0 else t.interest_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, 'Principal' AS Allocation_Type, case when t.principal_portion_derived is null then 0 else t.principal_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, false AS reversal_indicator, ' Unallocated Credit (UNC)' AS Allocation_Type, case when t.overpayment_portion_derived is null then 0 else t.overpayment_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.submitted_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, 'Principal' AS Allocation_Type, CASE when t.transaction_type_enum in (1) then (case when t.amount is null then 0 else t.amount end) else (case when t.principal_portion_derived is null then 0 else t.principal_portion_derived end) end amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, ' Interest' AS Allocation_Type, case when t.interest_portion_derived is null then 0 else t.interest_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, ' Fees' AS Allocation_Type, case when t.fee_charges_portion_derived is null then 0 else t.fee_charges_portion_derived end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, ' Penalty' AS Allocation_Type, case when t.penalty_charges_portion_derived is null then 0 else t.penalty_charges_portion_derived end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, ' Unallocated Credit (UNC)' AS Allocation_Type, case when t.overpayment_portion_derived is null then 0 else t.overpayment_portion_derived end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum not in (10, 26) and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, null, mc.name, true AS reversal_indicator, ' Fees' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = false left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 10 and t.is_reversed = true and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, null, mc.name, true AS reversal_indicator, ' Penalty' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = true left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 10 and t.is_reversed = true and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, null, '' as chargetype, true AS reversal_indicator, ' Interest' AS Allocation_Type, case when t.interest_portion_derived is null then 0 else t.interest_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 10 and t.is_reversed = true and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, mc.name, true AS reversal_indicator, ' Fees' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end as amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = false left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, mc.name, true AS reversal_indicator, ' Penalty' AS Allocation_Type, case when pd.amount is null then 0 else pd.amount end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id join m_loan_charge_paid_by pd on pd.loan_transaction_id = t.id join m_loan_charge c on c.id = pd.loan_charge_id join m_charge mc on mc.id = c.charge_id and mc.is_penalty = true left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, ' Interest' AS Allocation_Type, case when t.interest_portion_derived is null then 0 else t.interest_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, 'Principal' AS Allocation_Type, case when t.principal_portion_derived is null then 0 else t.principal_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, l.name AS product, t.transaction_type_enum AS transaction_type, d.payment_type_id, '' as chargetype, true AS reversal_indicator, ' Unallocated Credit (UNC)' AS Allocation_Type, case when t.overpayment_portion_derived is null then 0 else t.overpayment_portion_derived end AS amount, case when e.status = 'ACTIVE' and e.settlement_date < '${endDate}' then e.owner_id end as asset_owner_id FROM m_loan_transaction t JOIN m_loan m ON m.id = t.loan_id JOIN m_product_loan l ON l.id = m.product_id left join m_payment_detail d on d.id = t.payment_detail_id left join m_external_asset_owner_transfer e ON e.loan_id = t.loan_id and e.settlement_date < '${endDate}' and e.effective_date_to >= '${endDate}' WHERE t.reversed_on_date = '${endDate}' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 9999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Principal' AS Allocation_type, dt.principal_outstanding_derived AS amount, t.owner_id AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'ACTIVE' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.principal_outstanding_derived > 0 UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 9999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Interest' AS Allocation_type, dt.interest_outstanding_derived AS amount, t.owner_id AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'ACTIVE' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.interest_outstanding_derived > 0 UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 9999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Fee' AS Allocation_type, dt.fee_charges_outstanding_derived AS amount, t.owner_id AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'ACTIVE' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.fee_charges_outstanding_derived > 0 UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 9999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Penalty' AS Allocation_type, dt.penalty_charges_outstanding_derived AS amount, t.owner_id AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'ACTIVE' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.penalty_charges_outstanding_derived > 0 UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 99999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Principal' AS Allocation_type, dt.principal_outstanding_derived AS amount, null AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'BUYBACK' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.principal_outstanding_derived > 0 UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 99999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Interest' AS Allocation_type, dt.interest_outstanding_derived AS amount, null AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'BUYBACK' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.interest_outstanding_derived > 0 UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 99999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Fee' AS Allocation_type, dt.fee_charges_outstanding_derived AS amount, null AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'BUYBACK' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.fee_charges_outstanding_derived > 0 UNION ALL SELECT '${endDate}' AS transactiondate, t.id, p.name AS product, 99999 AS transaction_type, null, '' AS chargetype, false AS reversal_indicator, 'Penalty' AS Allocation_type, dt.penalty_charges_outstanding_derived AS amount, null AS asset_owner_id FROM m_external_asset_owner_transfer t JOIN m_loan l on l.id = t.loan_id join m_client c on c.id = l.client_id JOIN m_product_loan p ON p.id = l.product_id JOIN m_external_asset_owner_transfer_details dt ON dt.asset_owner_transfer_id = t.id WHERE t.status = 'BUYBACK' and c.office_id = ${officeId} and t.settlement_date = '${endDate}' and dt.penalty_charges_outstanding_derived > 0)a GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.chargetype, a.reversal_indicator, a.Allocation_Type, a.asset_owner_id order by 1, 2, 3, 4, 5, 6, 7"/> |