Files
monorepo/LCU.Api.Internal.CoreApiWrapper/LCU.Library.Internal.CoreApiWrapperLib/Queries/ActivityAccountDetailsByAccountNbr.sql
T
2026-03-31 14:32:23 -05:00

38 lines
1.7 KiB
SQL

/*ActivityAccountDetailsByAccountNbr
-----------------------------------
Get Account Details that are used by Activities. Used to Re-query accounts to check for
relevant account fields changes.
--Notes
It is expected that this will grow over time and require joining on more fields, it is therefore kept separate from
a more generic account query.
*/
WITH DebtProtection AS (
SELECT a.ACCTNBR,
MAX(var.CALCTYPEFFDATE) AS EffectiveDate,
MAX(var.CALCINACTIVEDATE) AS InactiveDate,
a.BALCATCD AS DPCategory
FROM OSIBANK.ACCTSUBACCT a
INNER JOIN (
SELECT sa.ACCTNBR, sa.SUBACCTNBR AS SUBACCTNBR
FROM OSIBANK.ACCTSUBACCT sa
WHERE sa.BALTYPCD = 'SINS'
GROUP BY ACCTNBR, sa.SUBACCTNBR
) b ON a.ACCTNBR = b.ACCTNBR AND a.SUBACCTNBR = b.SUBACCTNBR
INNER JOIN OSIBANK.ACCTSUBACCTCALCVAR var ON a.ACCTNBR = var.ACCTNBR AND a.SUBACCTNBR = var.SUBACCTNBR
GROUP BY a.ACCTNBR, var.CALCTYPEFFDATE, var.CALCINACTIVEDATE, a.BALCATCD
)
SELECT acc.ACCTNBR AS AccountNumber,
acc.CURRACCTSTATCD AS CurrentAccountStatus,
acc.TAXRPTFORPERSNBR AS TaxPersonNbr,
acc.TAXRPTFORORGNBR AS TaxOrgNbr,
acc.BRANCHORGNBR As BranchOrgNbr,
acc.MJACCTTYPCD AS MajorAccountType,
acc.CURRMIACCTTYPCD AS MinorAccountType,
acc.CONTRACTDATE AS AccountContractDate,
dp.EffectiveDate AS DebtProtectionEffectiveDate,
dp.InactiveDate AS DebtProtectionInactiveDate,
dp.DPCategory AS DebtProtectionCategory
FROM OSIBANK.ACCT acc
LEFT JOIN DebtProtection dp ON dp.ACCTNBR = acc.ACCTNBR
WHERE acc.ACCTNBR IN :accountNumbers